- ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π΅ Π½ΠΎΠ² Π±Π΅ΠΊΠ΅Π½Π΄ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΠΉΠ΄ΡΡΠΈ Π·Π° RADV (Vulkan Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π·Π° AMD ΡΠΈΠΏΠΎΠ²Π΅) "
ACO β, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΠΎΡ Valve ΠΊΠ°ΡΠΎ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° Π½Π° ΡΠ΅ΠΉΠ΄ΡΡΠΈ LLVM. ΠΠ΅ΠΊΠ΅Π½Π΄ΡΡ Π΅ Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉ-ΠΎΠΏΡΠΈΠΌΠ°Π»Π΅Π½ Π·Π° ΡΠ΅ΠΉΠ΄ΡΡΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° ΠΈΠ³ΡΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΈΡΠΎΠΊΠ° ΡΠΊΠΎΡΠΎΡΡ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅. ACO Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C++, ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½ Ρ ΠΌΠΈΡΡΠ» Π·Π° JIT ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±ΡΡΠ·ΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΡΠΎ ΠΈΠ·Π±ΡΠ³Π²Π° ΡΡΡΡΠΊΡΡΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π». ΠΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΎΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΊΠΎΠ΄Π° Π΅ ΠΈΠ·ΡΡΠ»ΠΎ Π±Π°Π·ΠΈΡΠ°Π½ΠΎ Π½Π° SSA (Static Single Assignment) ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π³ΠΈΡΡΡΡ ΡΡΠ΅Π· ΡΠΎΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠ΅ΠΉΠ΄ΡΡΠ°. ACO ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ° Π·Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Vega 8, Vega 9, Vega 10 ΠΈ Navi 10 ΡΡΠ΅Π· Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° βRADV_PERFTEST=acoβ; - Gallium3D Π΄ΡΠ°ΠΉΠ²Π΅Ρ, Π²ΠΊΠ»ΡΡΠ΅Π½ Π² ΠΊΠΎΠ΄ΠΎΠ²Π°ΡΠ° Π±Π°Π·Π°
Π¦ΠΈΠ½ΠΊ , ΠΊΠΎΠΉΡΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π° OpenGL API Π²ΡΡΡ Ρ Vulkan. Zink Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ OpenGL, Π°ΠΊΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈΠΌΠ° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ°ΠΌΠΎ Vulkan API; - ΠΡΠ°ΠΉΠ²Π΅ΡΡΡ ANV Vulkan ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡΡ iris OpenGL ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° 12-ΡΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ²Π΅ Π½Π° Intel (Tiger Lake, gen12). Π ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Tiger Lake ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ ΠΎΡ Π²Π΅ΡΡΠΈΡ 5.4;
- ΠΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ i965 ΠΈ iris ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π½Π° SPIR-V ΡΠ΅ΠΉΠ΄ΡΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠ»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π² ΡΠ΅Π·ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ
OpenGL 4.6 ; - ΠΡΠ°ΠΉΠ²Π΅ΡΡΡ RadeonSI Π΄ΠΎΠ±Π°Π²Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ AMD Navi 14 ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΏΡΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ±Π°Π²ΡΠΉΠΊΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° 8K Π²ΠΈΠ΄Π΅ΠΎ Π²ΡΠ² ΡΠΎΡΠΌΠ°ΡΠΈ H.265 ΠΈ VP9;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° RADV Vulkan
Π·Π°ΡΠΈΡΠ΅Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ , Π² ΠΊΠΎΠΉΡΠΎ Π½ΠΈΡΠΊΠΈΡΠ΅, ΡΡΠ°ΡΡΠΈΡΠ°Π½ΠΈ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΠΉΠ΄ΡΡΠΈ, ΡΠ° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° seccomp. Π Π΅ΠΆΠΈΠΌΡΡ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° RADV_SECURE_COMPILE_THREADS; - ΠΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ Π·Π° AMD ΡΠΈΠΏΠΎΠ²Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ AMDGPU, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ Π² ΠΌΠΎΠ΄ΡΠ»Π° Π½Π° ΡΠ΄ΡΠΎΡΠΎ
ΡΠΎΡΡΡΠ΅ΡΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° Π½ΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° GPU; - ΠΠ΅ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½Π° ΡΠ°Π±ΠΎΡΠ° Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ AMD Radeon APU. ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Gallium3D Iris Π·Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Π½Π° Intel ΡΡΡΠΎ Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π°;
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Gallium3D LLVMpipe, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΡΠΎΡΡΡΠ΅ΡΠ½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅,
ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΈΠ·ΡΠΈΡΠ»ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ΅ΠΉΠ΄ΡΡΠΈ; - Π‘ΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΠΉΠ΄ΡΡΠΈ Π½Π° Π΄ΠΈΡΠΊ
ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 4 CPU ΡΠ΄ΡΠ°; - Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Meson Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π² Windows Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° MSVC ΠΈ MinGW. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° scons Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π΅ ΠΎΡΡ Π²ΡΡΠ»Π΅Π½ΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ, ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΡ Windows;
- ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΎ EGL ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ EGL_EXT_image_flush_external;
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ OpenGL ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ:
-
GL_ARB_gl_spirv Π·Π° i965 ΠΈ iris Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ; -
GL_ARB_spirv _Π·Π° i965 ΠΈ iris Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ; -
GL_EXT_demote_to_helper_invocation Π·Π° i965 ΠΈ iris Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ;
-
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ ΠΊΡΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° RADV Vulkan (Π·Π° AMD ΠΊΠ°ΡΡΠΈ):
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ ΠΊΡΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ANV Vulkan (Π·Π° Intel ΠΊΠ°ΡΡΠΈ):
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru