Π ΠΊΠΎΠ΄ΠΎΠ²Π°ΡΠ° Π±Π°Π·Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π·Π° ΡΠΎΡΠΌΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Mesa 20.2,
ΠΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° RADV Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΠΊΡΠΌ Π½ΠΎΠ²ΠΈΡ Π±Π΅ΠΊΠ΅Π½Π΄ ΡΡΠ°Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ ACO ΠΏΠΎΡΡΠΈΠ³Π½Π° ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ Π²ΡΠ² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° ΡΡΡ ΡΡΠ°ΡΠΈΡ Π±Π΅ΠΊΠ΅Π½Π΄, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΎΡ AMD Π·Π° AMDGPU Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² RadeonSI OpenGL Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°. Π’Π΅ΡΡΠ²Π°Π½Π΅ ΠΎΡ Valve
ΠΠ΅ΠΊΠ΅Π½Π΄ΡΡ Π½Π° ACO Π΅ Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉ-ΠΎΠΏΡΠΈΠΌΠ°Π»Π΅Π½ Π·Π° ΡΠ΅ΠΉΠ΄ΡΡΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° ΠΈΠ³ΡΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΈΡΠΎΠΊΠ° ΡΠΊΠΎΡΠΎΡΡ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅. ACO Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C++, ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½ Ρ ΠΌΠΈΡΡΠ» Π·Π° JIT ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±ΡΡΠ·ΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΡΠΎ ΠΈΠ·Π±ΡΠ³Π²Π° ΡΡΡΡΠΊΡΡΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π». ΠΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΎΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΊΠΎΠ΄Π° Π΅ ΠΈΠ·ΡΡΠ»ΠΎ Π±Π°Π·ΠΈΡΠ°Π½ΠΎ Π½Π° SSA (Static Single Assignment) ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π³ΠΈΡΡΡΡ ΡΡΠ΅Π· ΡΠΎΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠ΅ΠΉΠ΄ΡΡΠ°.
ΠΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅: Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ACO ΡΠ°Π±ΠΎΡΠΈ ΡΠ°ΠΌΠΎ Π·Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Mesa RADV Vulkan. ΠΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ACO
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru