ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΡΠ΅Π»ΠΈΠ· ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ API OpenGL ΠΈ Vulkan — Mesa 23.0.0. ΠΠ΅ΡΠ²ΡΠΉ Π²ΡΠΏΡΡΠΊ Π²Π΅ΡΠΊΠΈ Mesa 23.0.0 ΠΈΠΌΠ΅Π΅Ρ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΡΠ°ΡΡΡ — ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΡΡΠ΅Π½Π° ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ 23.0.1.
Π Mesa 23.0 Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ API Vulkan 1.3 Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°Ρ anv Π΄Π»Ρ GPU Intel, radv Π΄Π»Ρ GPU AMD, tu Π΄Π»Ρ GPU Qualcomm ΠΈ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΌΡΠ»ΡΡΠΎΡΠ° (vn). ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Vulkan 1.1 ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΡΠ°ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΎΡΠ΅ lavapipe (lvp), Π° Vulkan 1.0 Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ v3dv (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) ΠΈ Qualcomm Adreno (freedreno), OpenGL 4.3 Π΄Π»Ρ virgl (Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ GPU Virgil3D Π΄Π»Ρ QEMU/KVM), Π° OpenGL 4.2 Π΄Π»Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° d3d12 (ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠ° Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ OpenGL ΠΏΠΎΠ²Π΅ΡΡ DirectX 12).
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ΡΡΠ²Π°:
- Π Vulkan-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ RADV (AMD) ΡΠ»ΡΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° GPU Π½Π° Π±Π°Π·Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ RDNA3 (Radeon RX 7900) ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ Π»ΡΡΠ΅ΠΉ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° (pipeline). ΠΠ»Ρ ΠΊΠ°ΡΡ AMD Π½Π° Π±Π°Π·Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ RDNA2 Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅ΠΉΠ΄Π΅ΡΠΎΠ² ΠΌΠ΅ΡΠ΅ΠΉ (VK_EXT_mesh_shader).
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ Nouveau Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° GPU NVIDIA GA102 (RTX 30) Π½Π° Π±Π°Π·Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Ampere.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°Ρ RADV ΠΈ Turnip ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ VK_EXT_dynamic_state3.
- ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ OpenGL-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° asahi Π΄Π»Ρ GPU Apple AGX, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² ΡΠΈΠΏΠ°Ρ Apple M1 ΠΈ M2.
- Π Vulkan-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ ANV (Intel) ΠΈ OpenGL-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ Iris ΡΠ»ΡΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΡΡ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡ Intel DG2-G12 (Arc Alchemist) ΠΈ GPU Meteor Lake.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ virgl (Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ GPU Virgil3D Π΄Π»Ρ QEMU/KVM) ΡΠ»ΡΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ OpenGL:
- GL_ARB_clip_control Π΄Π»Ρ panfrost
- GL_ARB_texture_filter_anisotropic Π΄Π»Ρ panfrost, asahi
- GL_ARB_occulsion_query2 Π΄Π»Ρ asahi
- GL_ARB_shader_stencil_export Π΄Π»Ρ asahi
- GL_ARB_draw_instanced Π΄Π»Ρ asahi
- GL_ARB_instanced_ararys Π΄Π»Ρ asahi
- GL_ARB_seamless_cube_map Π΄Π»Ρ asahi
- GL_NV_conditional_render Π΄Π»Ρ asahi
- GL_ARB_texture_mirror_clamp_to_edge Π΄Π»Ρ asahi
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ Vulkan:
- VK_EXT_descriptor_buffer Π΄Π»Ρ RADV, Turnip
- VK_AMD_shader_early_and_late_fragment_tests Π΄Π»Ρ RADV
- VK_AMD_shader_explicit_vertex_parameter Π΄Π»Ρ RADV/RDNA3
- VK_EXT_swapchain_colorspace Π΄Π»Ρ RADV, ANV, Turnip
- VK_KHR_shader_integer_dot_product Π΄Π»Ρ V3DV
- VK_KHR_present_wait Π΄Π»Ρ ANV, RADV, Turnip
- VK_KHR_push_descriptor Π΄Π»Ρ Venus
- VK_KHR_pci_bus_info Π΄Π»Ρ Venus
- Π Π΅ΡΠ΅Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΏΡΠΎΡΠ²Π»ΡΠ²ΡΠΈΠ΅ΡΡ Π² ΠΈΠ³ΡΠ°Ρ Rise of the Tomb Raider’s Ambient Occlusion, Minecraft, Battlefield 1 ΠΈ Hi-Fi Rush.
- Π£ΡΡΡΠ°Π½Π΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ°, ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ²ΡΠ°Ρ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΡΠΈ Π²ΠΈΠ΄Π΅ΠΎΠ²ΡΠ·ΠΎΠ²Π°Ρ Zoom Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ Iris.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru