Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ΡŠΡ‚ RADV Vulkan Π΅ ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±Π΅ΠΊΠ΅Π½Π΄Π° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ ACO

Π’ ΠΊΠΎΠ΄ΠΎΠ²Π°Ρ‚Π° Π±Π°Π·Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π·Π° Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅Ρ‚ΠΎ Mesa 20.2, изпълнСни ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° RADV, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Vulkan Π·Π° AMD Ρ‡ΠΈΠΏΠΎΠ²Π΅, Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π±Π΅ΠΊΠ΅Π½Π΄Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ "ACOβ€œ, ΠΊΠΎΠΉΡ‚ΠΎ сС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° ΠΎΡ‚ Valve ΠΊΠ°Ρ‚ΠΎ Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ LLVM. Π’Π°Π·ΠΈ промяна Ρ‰Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ повишСна производитСлност Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π° ΠΈ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° стартиранС. Π—Π° Π΄Π° Π²ΡŠΡ€Π½Π΅Ρ‚Π΅ стария Π±Π΅ΠΊΠ΅Π½Π΄, Π΅ прСдоставСна ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° Π½Π° срСдата β€žRADV_DEBUG=llvmβ€œ.

ΠŸΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° RADV Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° към новия Π±Π΅ΠΊΠ΅Π½Π΄ стана възмоТно, слСд ΠΊΠ°Ρ‚ΠΎ ACO постигна равСнство във функционалността със стария Π±Π΅ΠΊΠ΅Π½Π΄, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΎΡ‚ AMD Π·Π° AMDGPU Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² RadeonSI OpenGL Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°. ВСстванС ΠΎΡ‚ Valve Ρ€Π°Π·ΠΊΡ€ΠΈΡ‡Π΅ ACO Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π΄Π²Π° ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π· ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ AMDGPU ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° скоростта Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ ΠΈ дСмонстрира ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° FPS Π² някои ΠΈΠ³Ρ€ΠΈ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ работят Π½Π° систСми с RADV Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€.

Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ΡŠΡ‚ RADV Vulkan Π΅ ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±Π΅ΠΊΠ΅Π½Π΄Π° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ ACO

Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ΡŠΡ‚ RADV Vulkan Π΅ ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±Π΅ΠΊΠ΅Π½Π΄Π° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ ACO

Π‘Π΅ΠΊΠ΅Π½Π΄ΡŠΡ‚ Π½Π° ACO Π΅ насочСн към осигуряванС Π½Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ възмоТно Π½Π°ΠΉ-ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π΅Π½ Π·Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ Π½Π° прилоТСния Π·Π° ΠΈΠ³Ρ€ΠΈ, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ постиганС Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ висока скорост Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅. ACO Π΅ написан Π½Π° C++, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½ с мисъл Π·Π° JIT компилация ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±ΡŠΡ€Π·ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈ структури ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ, ΠΊΠ°Ρ‚ΠΎ избягва структури, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π». ΠœΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΎΡ‚ΠΎ прСдставянС Π½Π° ΠΊΠΎΠ΄Π° Π΅ изцяло Π±Π°Π·ΠΈΡ€Π°Π½ΠΎ Π½Π° SSA (Static Single Assignment) ΠΈ позволява Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€ Ρ‡Ρ€Π΅Π· Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ изчисляванС Π½Π° Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π° Π² зависимост ΠΎΡ‚ ΡˆΠ΅ΠΉΠ΄ΡŠΡ€Π°.

Π”ΠΎΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅: Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ACO Ρ€Π°Π±ΠΎΡ‚ΠΈ само Π·Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Mesa RADV Vulkan. Но Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° ACO ΠΏΠΎΡ‚Π²ΡŠΡ€Π΄Π΅Π½ΠΎΡ‡Π΅ слСдващата ΠΈΠΌ ΡΡ‚ΡŠΠΏΠΊΠ° Ρ‰Π΅ бъдС Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π°Π½Π΅ Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° ACO Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° RadeonSI OpenGL, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅ Π·Π° Ρ‚ΠΎΠ·ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ACO Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ LLVM ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅.

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€