ΠΡΠ½ΠΈΠ΅Π» ΠΠ»ΠΌΠ΅ΠΉΠ΄Π° (Daniel Almeida), Π·Π°Π½ΠΈΠΌΠ°ΡΡΠΈΠΉΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ Π²ΠΈΠ΄Π΅ΠΎΠΊΠΎΠ΄Π΅ΠΊΠΎΠ² Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Collabora, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΠ°ΡΡΡΠ»ΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Linux-ΡΠ΄ΡΠ° Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Tyr Π΄Π»Ρ GPU ARM Mali, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ CSF (Π‘ommand Stream Frontend), ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Mali G310, G510 ΠΈ G710. ΠΠΎΠ΄ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Rust ΠΈ Π½Π°ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΡΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ 600 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°. Π Π°Π±ΠΎΡΠ° Π½Π°Π΄ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ Tyr Π²Π΅Π΄ΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Collabora, Arm ΠΈ Google.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ°ΡΠΊΠ°ΡΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° rust_platform_driver ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Nova, ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ GPU NVIDIA, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° Rust ΠΈ ΡΠ°ΡΡΠΈΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² ΡΠ΄ΡΠΎ 6.15. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ GPU Mali ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π° ΠΈΠ· ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ DRM-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Panthor (Direct Rendering Manager), Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ. uAPI Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Tyr ΠΈΠ΄Π΅Π½ΡΠΈΡΠ΅Π½ uAPI Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Panthor, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ Π½ΠΈΠΌ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ CSF, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈΠ½Π°Ρ Ρ 10 ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ GPU Mali, ΠΏΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½Π° Π²ΡΠ½ΠΎΡΠΎΠΌ Π½Π° ΡΡΠΎΡΠΎΠ½Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡ Π½Π° GPU. Π GPU Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ CSF Π²ΠΌΠ΅ΡΡΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΡΠ°Π±ΠΎΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠΎΡΠΎΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄ Ρ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΏΠΎΡΠΎΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ. ΠΠ»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π² GPU Π²ΡΡΡΠΎΠ΅Π½ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Cortex-M7, Π° Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ CSF ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ (Command Execution Unit).
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Tyr ΠΏΠΎΠΊΠ° ΠΎΡΡΡΠ°ΡΡ ΠΎΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Panthor, Π½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π½Π°ΠΌΠ΅ΡΠ΅Π½Ρ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΡΠΎΠΊΡΠ°ΡΠ°ΡΡ ΡΠ°Π·ΡΡΠ² Π΄ΠΎ ΡΠ΅Ρ
ΠΏΠΎΡ ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ ΠΏΠ°ΡΠΈΡΠ΅Ρ Π² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ
Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ². ΠΠ΅Π΄ΠΎΡΡΠ°ΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ΅Π±ΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π² ΡΠ΄ΡΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΉ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π½Π° Rust, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Tyr Π±ΡΠ΄Π΅Ρ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ΠΎ Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π² ΡΠ΄ΡΠΎ Π΄Π°Π½Π½ΡΡ
Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ΄ΡΠ΅ ΠΏΠΎΠΊΠ° ΠΎΡΡΡΡΡΡΠ²ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π° ΠΏΠ°ΠΌΡΡΠΈ Π² Rust-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°Ρ
Π΄Π»Ρ GPU, ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π² Π΅ΡΡ Π½Π΅ ΠΏΡΠΈΠ½ΡΡΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅ ΠΏΠ°ΡΡΠ΅ΠΉ GPUVM.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
