VGEM แƒ“แƒ แƒแƒ˜แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ Rust-แƒจแƒ˜

Maรญra Canal-แƒ›แƒ แƒ˜แƒ’แƒแƒšแƒ˜แƒ˜แƒ“แƒแƒœ แƒฌแƒแƒ แƒ›แƒแƒแƒ“แƒ’แƒ˜แƒœแƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ VGEM (แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ GEM แƒžแƒ แƒแƒ•แƒแƒ˜แƒ“แƒ”แƒ แƒ˜แƒก) แƒ“แƒ แƒแƒ˜แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒฌแƒ”แƒ แƒแƒ“ Rust-แƒจแƒ˜. VGEM แƒจแƒ”แƒ“แƒ’แƒ”แƒ‘แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒ“แƒแƒแƒฎแƒšแƒแƒ”แƒ‘แƒ˜แƒ— 400 แƒฎแƒแƒ–แƒ˜แƒกแƒ’แƒแƒœ แƒ“แƒ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒ˜แƒก แƒแƒ’แƒœแƒแƒกแƒขแƒ˜แƒ™แƒฃแƒ  GEM-แƒก (แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒœแƒ”แƒฏแƒ”แƒ แƒ˜), แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ‘แƒฃแƒคแƒ”แƒ แƒฃแƒšแƒ˜ แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒ’แƒแƒกแƒแƒ–แƒ˜แƒแƒ แƒ”แƒ‘แƒšแƒแƒ“ 3D แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒ˜แƒ•แƒ”แƒ แƒ”แƒ‘แƒ–แƒ”, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ LLVMpipe, แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒก แƒ แƒแƒกแƒขแƒ”แƒ แƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒ’แƒแƒกแƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒšแƒแƒ“.

VGEM แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ Rust แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒ›แƒ”แƒแƒ แƒ” แƒ“แƒ แƒแƒ˜แƒ•แƒ”แƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ–แƒ” (แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ˜แƒงแƒ Asahi DRM (Direct Rendering Manager) แƒ“แƒ แƒแƒ˜แƒ•แƒ”แƒ แƒ˜ Apple AGX GPU-แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ Apple M1/M2 แƒฉแƒ˜แƒžแƒ”แƒ‘แƒจแƒ˜). แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒ“แƒ แƒแƒฎแƒแƒšแƒ˜ แƒกแƒแƒ™แƒ˜แƒœแƒซแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒแƒก Rust แƒ™แƒแƒ“แƒ˜แƒ“แƒแƒœ แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ˜แƒก แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒ—, XArray แƒขแƒ˜แƒžแƒ˜แƒกแƒ แƒ“แƒ DMA-แƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒ‘แƒกแƒขแƒ แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒ— แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒ“, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ DMA แƒฆแƒแƒ‘แƒ”แƒ”แƒ‘แƒ˜. แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒแƒ›แƒŸแƒแƒ›แƒ˜แƒœแƒ“แƒ”แƒš แƒ”แƒขแƒแƒžแƒ–แƒ” แƒ›แƒซแƒฆแƒแƒšแƒ˜ แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก แƒ›แƒ–แƒแƒ“ แƒแƒ แƒ˜แƒก, แƒ’แƒแƒ“แƒ˜แƒก IGT แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒฃแƒ›แƒ”แƒขแƒ”แƒกแƒแƒ‘แƒแƒก, แƒ’แƒแƒ แƒ“แƒ แƒแƒ แƒ˜ แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ˜แƒกแƒ (vgem_slow แƒ“แƒ vgem_basic@unload), แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒก IOCTL แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒก แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒแƒก.

แƒฌแƒงแƒแƒ แƒ: opennet.ru

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ