ОбъявлСно ΠΎ готовности panthor, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° для 10 поколСния GPU Mali

Компания Collabora объявила ΠΎ готовности ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° panthor, Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ для дСсятого поколСния GPU Mali (G310, G510, G710), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ примСняСтся тСхнология CSF (Π‘ommand Stream Frontend), выносящая Π½Π° сторону ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° для сниТСния Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° CPU ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‰Π°Ρ Π½ΠΎΠ²ΡƒΡŽ модСль ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ выполнСния Ρ€Π°Π±ΠΎΡ‚ Π½Π° GPU. DRM-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ (Direct Rendering Manager) panthor принят Π² Π²Π΅Ρ‚ΠΊΡƒ drm-misc ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²ΠΎΠΉΠ΄Ρ‘Ρ‚ Π² состав ядра Linux 6.10. ИзмСнСния для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Ρ‚Π°ΠΊΠΆΠ΅ приняты Π² Mesa ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² состав Gallium-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° panfrost для GPU Mali.

Π’ Π½ΠΎΠ²ΠΎΠΌ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΈ GPU Mali ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Job Manager Π·Π°ΠΌΠ΅Π½Ρ‘Π½ Π½Π° интСрфСйс CSF (Command Stream Frontend), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ вмСсто ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° основС ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚ примСняСтся модСль Π½Π° основС ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄ с ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° сторонС ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ. Для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° Π² GPU встроСн ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Cortex-M7, Π° для выполнСния инструкций CSF прСдусмотрСн ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄ (Command Execution Unit). ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ особСнности Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Ρ€Π°Π±ΠΎΡ‚ Π² GPU ΠΈΠ· пространства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π»Π° прСдпринята ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ GPU Mali Π½Π° Π±Π°Π·Π΅ CSF Π² DRM-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ Panfrost, Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ это ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ ΡƒΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΡŽ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° ΠΈ для CSF Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°, построСнного с использованиСм ΠΈΠ½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ panthor Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π½ΠΎΠ²Ρ‹ΠΉ uAPI, новая Π»ΠΎΠ³ΠΈΠΊΠ° планирования Ρ€Π°Π±ΠΎΡ‚ ΠΈ новая Π»ΠΎΠ³ΠΈΠΊΠ° управлСния MMU/GPU-VA. Π’ качСствС основы для Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° использован ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ DRM-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Panfrost, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ заимствованы Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°, управлСния частотой ΠΈ управлСния ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ.

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° вСлась с использованиСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³Π°, Π½ΠΎ Π·Π°Ρ‚Π΅ΠΌ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΠ»Π°ΡΡŒ компания ARM, прСдоставила доступ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ приняла участиС Π² Ρ€Π΅Ρ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°. Π”Π²Π° сотрудника ARM ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ статус ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΎΠ² ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰Π΅Π³ΠΎ (co-maintainer) Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° для ядра Linux. Π’ дальнСйшСм послС готовности OpenGL-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Ρ€Π°Π±ΠΎΡ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ сосрСдоточСна Π½Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Vulkan-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° для Π½ΠΎΠ²Ρ‹Ρ… GPU Mali ΠΈ ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Vulkan-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° для старых GPU Mali.

ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ panthor позволяСт ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ GPU Π½Π° ΠΏΠ»Π°Ρ‚Π°Ρ… c SoC Rockchip RK3588. КомпаниСй Collabora Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΠ»Π°Ρ‚ Π½Π° Π±Π°Π·Π΅ Rockchip RK3588 с использованиСм ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ стСка. Для Rockchip RK3588 ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ систСмный ΠΎΠ±Ρ€Π°Π· Π½Π° Π±Π°Π·Π΅ Debian ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ для Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² BL31 (Boot Loader stage 3.1).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru