Π’ свободном Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ Panfrost обСспСчСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° GPU Mali Valhall

Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Collabora Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ GPU сСрии Valhall (Mali-G57, Mali-G78) Π² свободном Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ Panfrost, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π½Π΅Π΅ Π±Ρ‹Π» сосрСдоточСн Π½Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ‡ΠΈΠΏΠΎΠ² Midgard ΠΈ Bifrost. ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ измСнСния с Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² основной состав Mesa ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠ²Π΅Π΄Π΅Π½Ρ‹ Π΄ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π»ΠΈΠ·ΠΎΠ².

РСализация Π±Ρ‹Π»Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π° послС 6 мСсяцСв ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³Π° ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½Ρ‹Ρ… Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² Android-смартфонС с GPU Mali G78. ΠŸΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π° Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° вСлась Π² пассивном Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π² условиях отсутствия root-доступа ΠΊ смартфону с ΠΈΠ·ΡƒΡ‡Π°Π΅ΠΌΡ‹ΠΌ Ρ‡ΠΈΠΏΠΎΠΌ, Ρ‚.Π΅. Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉΡΡ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€. Для тСстирования Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° содСрТимого видСопамяти Π² смартфонС использовался Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π² Android ΠΈ подстановка своСго ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ LD_PRELOAD.

Из памяти извлСкались скомпилированныС ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Ρ‹, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ инструкций для GPU ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ…, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… состояниСм графичСских ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ тСкстуры, послС Ρ‡Π΅Π³ΠΎ Π² эти ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Ρ‹ ΠΈ структуры вносились ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ измСнСния ΠΈ анализировался Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π’ ΠΈΡ‚ΠΎΠ³Π΅ Π±Ρ‹Π» ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ собствСнный компилятор ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ² для GPU Valhall, позволявший Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° для Mesa. Π’ январС этого Π³ΠΎΠ΄Π° Π² Ρ€ΡƒΠΊΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΠΎΠΏΠ°Π» Chromebook Π½Π° Π±Π°Π·Π΅ Ρ‡ΠΈΠΏΠ° MediaTek MT8192 с GPU Valhall G57, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Π΄ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Π²ΠΈΠ΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ΅Π³ΠΎΡΡ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°.

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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ