Ua kau ʻo Daniel Almeida, ka mea e hana ana ma ka hoʻomohala ʻana i nā codec wikiō ma Collabora, ma ka papa inoa leka uila o nā mea hoʻomohala Linux- ka hoʻokō mua ʻana o ka mea hoʻokele Tyr no nā ARM Mali GPU e hoʻohana ana i ka ʻenehana Command Stream Frontend (CSF), e like me ka Mali G310, G510, a me G710. Ua kākau ʻia ke code mea hoʻokele ma Rust a aia ma luna o 600 mau laina code. Ke hana pū ʻia nei ka hana ma ka mea hoʻokele Tyr e Collabora, Arm, a me Google.
Ke hoʻohana nei ka ʻōnaehana no ka hana ʻana i ka mea hoʻokele hou i nā ʻāpana o ka abstract rust_platform_driver driver a me ka mea hoʻokele Nova, i kūkulu ʻia no NVIDIA GPU, i kākau ʻia ma Rust a hoʻohui ʻia i ka kernel 6.15. ʻO ka hana no ka launa pū ʻana me ka Mali GPU ua lawe ʻia mai ka mea hoʻokele DRM Panthor (Direct Rendering Manager) i kēia manawa, i kākau ʻia ma C. ʻO ka uAPI o ka mea hoʻokele Tyr ka like me ka uAPI o ka mea hoʻokele Panthor, e ʻae ai i ka hoʻohana ʻana i nā mea hoʻohana i nā mea hoʻohana me ia.
ʻO ka ʻenehana CSF, i hoʻohana ʻia mai ka hanauna 10th o Mali GPU, he mea kaulana ia no ka neʻe ʻana i kekahi mau hana hoʻokele i ka ʻaoʻao firmware a me ka hoʻohana ʻana i kahi kumu hoʻohālike hou no ka hoʻonohonoho ʻana i ka hana hana ma ka GPU. I nā GPU me ka CSF interface, ma kahi o kahi hoʻohālike e pili ana i ka hoʻouna ʻana i kahi kaulahao o nā hana, hoʻohana ʻia kahi hiʻohiʻona e pili ana i kahi kahe kauoha me ka hoʻonohonoho ʻana i ka queue kahe kauoha ma ka ʻaoʻao firmware. No ka hoʻonohonoho ʻana i ka hana o ka mea hoʻonohonoho, ua kūkulu ʻia kahi microcontroller Cortex-M7 ʻokoʻa i loko o ka GPU, a ua hāʻawi ʻia kahi ʻāpana hoʻokō kauoha kūikawā (Command Execution Unit) e hoʻokō i nā kuhikuhi CSF.
Ke waiho nei ka hana a Tyr ma hope o ka mea hoʻokele Panthor, akā manaʻo nā mea hoʻomohala e hoʻemi mālie i ke āpau a hiki i ka loaʻa ʻana o ka pono o nā mea hoʻokele. Pono nā hiʻohiʻona i nalowale i nā abstractions hou e hoʻohui ʻia i loko o ka kernel e hana i nā mea hoʻokele ma Rust, no laila e hui pū ʻia ka hoʻomohala ʻana o ka mea hoʻokele Tyr me ka hoʻohui ʻana i kēia mau abstractions i ka kernel. No ka laʻana, ʻaʻole i loaʻa i ka kernel nā mana no ka hoʻomanaʻo ʻana i nā mea hoʻokele Rust no nā GPU, i kūkulu ʻia i loko o ka GPUVM patch set, ʻaʻole i hoʻopaʻa ʻia.
Source: opennet.ru
