Maรญra Canal เบˆเบฒเบ Igalia เป„เบ”เป‰เบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบ‚เบฝเบ™เบ„เบทเบ™เปƒเบซเบกเปˆ เป„เบ”เป€เบงเบต VGEM (Virtual GEM Provider) เปƒเบ™ Rust. VGEM เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบ›เบฐเบกเบฒเบ™ 400 เป€เบชเบฑเป‰เบ™เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ” เปเบฅเบฐเปƒเบซเป‰ backend เบฎเบฒเบ”เปเบง-agnostic GEM (Graphics Execution Manager) เบ—เบตเปˆเปƒเบŠเป‰เป€เบžเบทเปˆเบญเปเบšเปˆเบ‡เบ›เบฑเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ buffer เบเบฑเบšเบŠเบญเบšเปเบงเป„เบ”เป€เบงเบตเบญเบธเบ›เบฐเบเบญเบ™ 3D เป€เบŠเบฑเปˆเบ™ LLVMpipe เป€เบžเบทเปˆเบญเบ›เบฑเบšเบ›เบธเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš rasterization เบŠเบญเบšเปเบง.

VGEM เบˆเบฐเป€เบ›เบฑเบ™เป„เบ”เป€เบงเบตเบเบฃเบฒเบŸเบดเบ Rust เบ—เบตเบชเบญเบ‡เบ—เบตเปˆเบˆเบฐเปเบฅเปˆเบ™เบขเบนเปˆเปƒเบ™เบฅเบฐเบ”เบฑเบšเปเบเปˆเบ™ (เบ•เบปเบงเบ—เบณเบญเบดเบ”เปเบกเปˆเบ™เป„เบ”เป€เบงเบต Asahi DRM (Direct Rendering Manager) เบชเบณเบฅเบฑเบš Apple AGX GPU เบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เบŠเบดเบš Apple M1/M2). เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เบชเป‰เบฒเบ‡เบเบฒเบ™เบœเบนเบเบกเบฑเบ”เปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบˆเบฒเบเบฅเบฐเบซเบฑเบ” Rust เบเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™เป€เบงเบ—เบต, เบ›เบฐเป€เบžเบ” XArray, เปเบฅเบฐ abstractions เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบš DMA เป€เบŠเบฑเปˆเบ™: เบฎเบปเป‰เบง DMA. เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™, เบœเบนเป‰เบ‚เบฑเบšเบ‚เบตเปˆเปเบกเปˆเบ™เป€เบเบทเบญเบšเบžเป‰เบญเบกเปเบฅเป‰เบง, เบœเปˆเบฒเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš IGT เบชเปˆเบงเบ™เปƒเบซเบเปˆ, เบเบปเบเป€เบงเบฑเป‰เบ™เบชเบญเบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบš (vgem_slow เปเบฅเบฐ vgem_basic@unload), เปเบ•เปˆเบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ IOCTL.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™