ΠΠΎΡΠ»Π΅ Π΄Π²ΡΡ ΠΌΠ΅ΡΡΡΠ΅Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΡΠ΅Π»ΠΈΠ· ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ API OpenGL ΠΈ Vulkan — Mesa 22.1.0. ΠΠ΅ΡΠ²ΡΠΉ Π²ΡΠΏΡΡΠΊ Π²Π΅ΡΠΊΠΈ Mesa 22.1.0 ΠΈΠΌΠ΅Π΅Ρ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΡΠ°ΡΡΡ — ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΡΡΠ΅Π½Π° ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ 22.1.1.
Π Mesa 22.1 Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ API Vulkan 1.3 Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°Ρ anv Π΄Π»Ρ GPU Intel, radv Π΄Π»Ρ GPU AMD ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΡΠ°ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΎΡΠ΅ lavapipe. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Vulkan 1.2 ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΌΡΠ»ΡΡΠΎΡΠ° (vn), Vulkan 1.1 — Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ Π΄Π»Ρ GPU Qualcomm (tu). Π° Vulkan 1.0 Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ Π΄Π»Ρ GPU Broadcom VideoCore VI (Raspberry Pi 4). Π Mesa ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ»Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° OpenGL 4.6 Π΄Π»Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² 965, iris (Intel), radeonsi (AMD), zink ΠΈ llvmpipe. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° OpenGL 4.5 Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄Π»Ρ GPU AMD (r600) ΠΈ NVIDIA (nvc0), Π° OpenGL 4.3 Π΄Π»Ρ virgl (Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ GPU Virgil3D Π΄Π»Ρ QEMU/KVM) ΠΈ vmwgfx (VMware).
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ΡΡΠ²Π°:
- Π Vulkan-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ ANV (Intel) ΠΈ OpenGL-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ Iris ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΡΡ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡ Intel DG2 (Arc Alchemist) ΠΈ Arctic Sound-M.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ D3D12 Ρ ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠΎΠΉ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ OpenGL ΠΏΠΎΠ²Π΅ΡΡ API DirectX 12 (D3D12) ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ OpenGL 4.2. ΠΡΠ°ΠΉΠ²Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠ΅ WSL2 Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Linux Π² Windows.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ lavapipe Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΎΡΠ° Π΄Π»Ρ API Vulkan (Π°Π½Π°Π»ΠΎΠ³ llvmpipe, Π½ΠΎ Π΄Π»Ρ Vulkan, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² API Vulkan Π² API Gallium) ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Vulkan 1.3.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° GPU AMD GFX1036 ΠΈ GFX1037.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ RADV (AMD) ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΡΠ΅ΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ² ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠ΅ Π»ΡΡΠ΅ΠΉ (ray primitive culling), ΡΡΠΎ ΡΠ»ΡΡΡΠΈΠ»ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π»ΡΡΠ΅ΠΉ Π΄Π»Ρ ΠΈΠ³Ρ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ DOOM Eternal.
- ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Vulkan Π΄Π»Ρ GPU Π½Π° Π±Π°Π·Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ PowerVR Rogue, ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Imagination.
- ΠΡΠ°ΠΉΠ²Π΅Ρ Nouveau Π΄Π»Ρ ΡΡΠ°ΡΡΡ GPU GeForce 6/7/8 ΠΏΠ΅ΡΠ΅Π²Π΅Π΄ΡΠ½ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π΅ΡΡΠΈΠΏΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ (IR) ΡΠ΅ΠΉΠ΄Π΅ΡΠΎΠ² NIR. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° NIR ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ TGSI (Tungsten Graphics Shader Infrastructure) ΡΠ΅ΡΠ΅Π· Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»ΠΎΡ Π΄Π»Ρ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ NIR Π² TGSI.
- Π ΡΠΎΡΡΠ°Π² Π²ΠΊΠ»ΡΡΡΠ½ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ OpenCL, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Intel ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠ΅ Π»ΡΡΠ΅ΠΉ.
- Π OpenGL-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ v3d, ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠΌ Π΄Π»Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠΊΠΎΡΠΈΡΠ΅Π»Ρ VideoCore VI, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ Raspberry Pi 4, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΉΠ΄Π΅ΡΠΎΠ² Π½Π° Π΄ΠΈΡΠΊΠ΅.
- ΠΠ»Ρ GPU AMD, ΠΎΡΠ½Π°ΡΡΠ½Π½ΡΠΌ Π΄Π²ΠΈΠΆΠΊΠΎΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎ VCN 2.0, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° EFC (Encoder Format Conversion), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΡΠΈΠΊ Π²ΠΈΠ΄Π΅ΠΎ Π΄Π»Ρ ΠΏΡΡΠΌΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ RGB-ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ΅ΠΉ Π±Π΅Π· ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ RGB->YUV, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ΅ΠΉΠ΄Π΅ΡΠ°ΠΌΠΈ.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ Crocus, ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠΌ Π΄Π»Ρ ΡΡΠ°ΡΡΡ GPU Intel Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ Gen4-Gen7, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ Iris, Π²ΠΊΠ»ΡΡΡΠ½ ΠΏΡΠΎΡΠΈΠ»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΡΠΎ ΡΡΠ°ΡΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ OpenGL.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ PanVk, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ API Vulkan Π΄Π»Ρ GPU ARM Mali Midgard ΠΈ Bifrost, Π½Π°ΡΠ°Π»Π°ΡΡ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅ΠΉΠ΄Π΅ΡΠΎΠ².
- Π Π΄ΡΠ°ΠΉΠ²Π΅Ρ Venus Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ GPU (virtio-gpu) Π½Π° Π±Π°Π·Π΅ API Vulkan Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠΈ ANGLE, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ΅ΠΉ Π·Π° ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² OpenGL ES Π² OpenGL, Direct3D 9/11, Desktop GL ΠΈ Vulkan.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ NVIDIA OpenGL-ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ GL_NV_pack_subimage, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² Π² ΠΏΠ°ΠΌΡΡΠΈ Ρ ΠΎΡΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΡΡΠ΅ΠΉΠΌΠ±ΡΡΠ΅ΡΠ° ΠΈΠ»ΠΈ ΡΠ΅ΠΊΡΡΡΡΡ.
- Π Vulkan-Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ RADV (AMD), ANV (Intel) ΠΈ lavapipe Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ:
- VK_EXT_depth_clip_control Π΄Π»Ρ lavapipe ΠΈ RADV.
- VK_EXT_graphics_pipeline_library Π΄Π»Ρ lavapipe.
- VK_EXT_primitives_generated_query Π΄Π»Ρ lavapipe.
- VK_EXT_image_2d_view_of_3d Π΄Π»Ρ ANV ΠΈ lavapipe.
- VK_KHR_swapchain_mutable_format Π΄Π»Ρ lavapipe.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru