ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° API OpenGL ΠΈ Vulkan β . ΠΡΡΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΊΠ»ΠΎΠ½ Mesa 19.3.0 ΠΈΠΌΠ° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π΅Π½ ΡΡΠ°ΡΡΡ β ΡΠ»Π΅Π΄ ΠΏΡΠΈΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π½Π°ΡΠ° ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΊΠΎΠ΄Π° ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΡΠ½Π°ΡΠ° ΡΡΠ°Π±ΠΈΠ»Π½Π° Π²Π΅ΡΡΠΈΡ 19.3.1. Π Mesa 19.3 Π΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½Π° ΠΏΡΠ»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° OpenGL 4.6 Π·Π° GPU Intel (Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ i965, iris), ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° OpenGL 4.5 Π·Π° GPU AMD (r600, radeonsi) ΠΈ NVIDIA (nvc0), ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Vulkan 1.1 Π·Π° ΠΊΠ°ΡΡΠΈ Intel ΠΈ AMD. ΠΡΠ΅ΡΠ° Π±ΡΡ Π° Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° OpenGL 4.6 ΡΡΡΠΎ Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° radeonsi, Π½ΠΎ ΡΠ΅ Π½Π΅ Π±ΡΡ Π° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π² ΠΊΠ»ΠΎΠ½Π° Mesa 19.3.
:
- ΠΠ° RADV (Vulkan-Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π·Π° AMD ΡΠΈΠΏΠΎΠ²Π΅) ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π΅ Π½ΠΎΠ² Π±Π΅ΠΊΠ΅Π½Π΄ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΠΉΠ΄ΡΡΠΈ ««, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Valve ΠΊΠ°ΡΠΎ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° Π½Π° ΡΠ΅ΠΉΠ΄ΡΡΠΈ LLVM. ΠΠ΅ΠΊΠ΅Π½Π΄ΡΡ Π΅ Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉ-ΠΎΠΏΡΠΈΠΌΠ°Π»Π½Π°ΡΠ° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π½Π° ΠΊΠΎΠ΄ Π·Π° ΡΠ΅ΠΉΠ΄ΡΡΠΈ Π·Π° ΠΈΠ³ΡΠΎΠ²ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΈΡΠΎΠΊΠ° ΡΠΊΠΎΡΠΎΡΡ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ. ACO Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C++, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΡΠ΅ Ρ ΠΌΠΈΡΡΠ» Π·Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° JIT-ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±ΡΡΠ·ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ, ΠΈΠ·Π±Π΅Π³Π²Π°ΠΉΠΊΠΈ ΡΡΡΡΠΊΡΡΡΠΈ Π½Π° Π±Π°Π·Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ. ΠΡΠΎΠΌΠ΅ΠΆΠ΄ΡΡΡΡΠ½ΠΎΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΊΠΎΠ΄Π° Π΅ Π±Π°Π·ΠΈΡΠ°Π½ΠΎ ΠΈΠ·ΡΡΠ»ΠΎ Π½Π° SSA (Static Single Assignment) ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π³ΠΈΡΡΡΠΈ, ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°ΠΉΠΊΠΈ ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠ΅ΠΉΠ΄ΡΡΠ°. ACO ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ Π·Π° GPU Vega 8, Vega 9, Vega 10 ΠΈ Navi 10 ΡΡΠ΅Π· Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° Β«RADV_PERFTEST=acoΒ»;
- Π ΠΊΠΎΠ΄ΠΎΠ²Π°ΡΠ° Π±Π°Π·Π° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Gallium3D-Π΄ΡΠ°ΠΉΠ²Π΅Ρ , ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ OpenGL API Π²ΡΡΡ Ρ Vulkan. Zink ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ OpenGL ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ Π΄ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΡΠ°ΠΌΠΎ Π½Π° Vulkan API;
- Π Vulkan-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ANV ΠΈ OpenGL-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° iris Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π½Π°ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° 12-ΡΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ²Π΅ Intel (Tiger Lake, gen12). ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Tiger Lake ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π² ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux, Π·Π°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ ΠΎΡ Π²Π΅ΡΡΠΈΡ 5.4;
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ i965 ΠΈ iris Π΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅ΠΆΠ΄ΡΡΡΡΠ½ΠΎΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΡΠ΅ΠΉΠ΄ΡΡΠΈ SPIR-V, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠ»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π² ΡΠ΅Π·ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ ;
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° RadeonSI Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° GPU AMD Navi 14 ΠΈ ΡΠ° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΡΠ° Π·Π° ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ Ρ ΡΠ΅Π·ΠΎΠ»ΡΡΠΈΡ 8K Π² ΡΠΎΡΠΌΠ°ΡΠΈΡΠ΅ H.265 ΠΈ VP9;
- Π Vulkan-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° RADV Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅ΠΆΠΈΠΌ , ΠΏΡΠΈ ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ²Π΅ΡΠ΅, Π·Π°Π΄Π΅ΠΉΡΡΠ²Π°Π½ΠΈ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΠΉΠ΄ΡΡΠΈ, ΡΠ° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° seccomp. Π Π΅ΠΆΠΈΠΌΡΡ ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΡΡΠ΅Π· ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° RADV_SECURE_COMPILE_THREADS;
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ Π·Π° AMD ΡΠΈΠΏΠΎΠ²Π΅ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π½ΠΎΠ²ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ» Π½Π° ΡΠ΄ΡΠΎΡΠΎ AMDGPU Π·Π° Π½ΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° GPU;
- Π Π°Π±ΠΎΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ APU AMD Radeon. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Gallium3D Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Iris Π·Π° GPU Intel;
- Π Gallium3D Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° LLVMpipe, ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ ΡΠΎΡΡΡΠ΅ΡΠ½ΠΎ ΡΠ΅Π½Π΄Π΅ΡΠΈΡΠ°Π½Π΅, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΈΠ·ΡΠΈΡΠ»ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ΅ΠΉΠ΄ΡΡΠΈ;
- Π‘ΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΠΉΠ΄ΡΡΠΈ Π½Π° Π΄ΠΈΡΠΊΠ° Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 4 ΡΠ΄ΡΠ° CPU;
- ΠΠ±Π΅Π·ΠΏΠ΅ΡΠ΅Π½ΠΎ Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Meson Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π² Windows Ρ MSVC ΠΈ MinGW. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° scons Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π΅ ΠΎΠ±ΡΠ²Π΅Π½ΠΎ Π·Π° ΠΎΡΡΠ°ΡΡΠ»ΠΎ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΡ Windows;
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ Π΅ EGL ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ EGL_EXT_image_flush_external;
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ OpenGL:
- Π·Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ i965 ΠΈ iris;
- _Π·Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ i965 ΠΈ iris;
- Π·Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ i965 ΠΈ iris;
- Π Vulkan-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° RADV (Π·Π° ΠΊΠ°ΡΡΠΈ AMD) ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ:
- Π Vulkan-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ANV (Π·Π° ΠΊΠ°ΡΡΠΈ Intel) ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ:
ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΎΡΠ±Π΅Π»ΡΠ·Π°Π½ΠΎ ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° AMD ΠΏΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ APU Β«VegaΒ» 7nm, ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° GCN (Graphics Core Next).
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
