Π Π΅Π»ΠΈΠ· Mesa 24.3, свободной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ OpenGL ΠΈ Vulkan

ПослС Ρ‚Ρ€Ρ‘Ρ… мСсяцСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Ρ€Π΅Π»ΠΈΠ· свободной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ API OpenGL ΠΈ Vulkan — Mesa 24.3.0. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ выпуск Π²Π΅Ρ‚ΠΊΠΈ Mesa 24.3.0 ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ статус — послС провСдСния ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стабилизации ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π° ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ вСрсия 24.3.1.

Π’ Mesa 24.3 доступна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° графичСского API Vulkan 1.3 Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… anv для GPU Intel, radv для GPU AMD, NVK для GPU NVIDIA, tu для GPU Qualcomm, Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ растСризаторС lavapipe (lvp), Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ эмулятора (vn) ΠΈ Π² v3dv (GPU Broadcom VideoCore для Raspberry Pi 4+). ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Vulkan 1.0 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… dzn (рСализация Vulkan ΠΏΠΎΠ²Π΅Ρ€Ρ… Direct3D 12) ΠΈ panvk (GPU ARM Mali).

Π’ Mesa Ρ‚Π°ΠΊΠΆΠ΅ обСспСчиваСтся полная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° OpenGL 4.6 для Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (старыС GPU Intel Gen4-Gen7), zink, llvmpipe, virgl (Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ GPU Virgil3D для QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (прослойка для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ OpenGL ΠΏΠΎΠ²Π΅Ρ€Ρ… DirectX 12) ΠΈ asahi (GPU AGX, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² Ρ‡ΠΈΠΏΠ°Ρ… Apple M1 ΠΈ M2). ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° OpenGL 4.5 доступна для GPU AMD (r600) ΠΈ NVIDIA (nvc0). ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° OpenGL 3.3 присутствуСт Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… softpipe (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ растСризатор) ΠΈ nv50 (NVIDIA NV50).

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π°:

  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ v3dv обСспСчСна полная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° графичСского API Vulkan 1.3 для GPU VideoCore, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π½Π° ΠΏΠ»Π°Ρ‚Π°Ρ… Raspberry Pi 4 ΠΈ Raspberry Pi 5.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Vulkan-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ gfxstream-vk, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ для Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ API Vulkan ΠΈ доступа ΠΊ Π΄Π°Π½Π½ΠΎΠΌΡƒ графичСскому API ΠΈΠ· гостСвых систСм Π½Π° Π±Π°Π·Π΅ Linux, Android ΠΈ Fuchsia. Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Google Π² эмуляторС Android, эмуляторС Fuchsia, Π² ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… сСрвисах c Android ΠΈ Π² Android Automotive OS (AAOS).
  • Π’ интСрфСйс ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ графичСского API Vulkan с ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΌΠΈ систСмами (WSI, Windowing System Integration) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Vulkan-Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ VK_PRESENT_MODE_FIFO_KHR для примСнСния Π² окруТСниях Π½Π° Π±Π°Π·Π΅ Wayland ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° FIFO, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚ΠΊΠΈ (vblank) вмСсто использования callback-Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ готовности ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с высокой Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ Π½Π° GPU ΠΏΡ€ΠΈ использовании VSync.
  • На систСмах с GPU Intel Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Xe2 ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ сТатиС Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ (z-Π±ΡƒΡ„Π΅Ρ€ΠΎΠ²).
  • Π’ OpenGL-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ iris ΠΈ Vulkan-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ANV Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° GPU Intel Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Xe3, задСйствованной Π² процСссорах Panther Lake.
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ NVK (NVIDIA) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Vulkan-Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ:
    • VK_EXT_descriptor_buffer
    • VK_EXT_post_depth_coverage
    • VK_EXT_legacy_vertex_attributes
    • VK_KHR_maintenance7
    • VK_KHR_dynamic_rendering_local_read
    • VK_NV_compute_shader_derivatives
    • VK_KHR_compute_shader_derivatives
    • VK_KHR_shader_float_controls2
    • VK_EXT_host_image_copy (для GPU Turing+)
    • VK_KHR_shader_quad_control
    • VK_KHR_fragment_shading_rate
    • VK_EXT_depth_clamp_zero_one
    • VK_EXT_device_generated_commands
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ RADV (AMD) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Vulkan-Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ:
    • VK_KHR_video_maintenance1
    • VK_KHR_pipeline_binary
    • VK_KHR_compute_shader_derivatives
    • VK_KHR_shader_float_controls2
    • VK_EXT_device_generated_commands
    • VK_KHR_shader_relaxed_extended_instruction
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ANV (Intel) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Vulkan-Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ
    • VK_KHR_compute_shader_derivatives
    • VK_KHR_shader_relaxed_extended_instruction
    • VK_EXT_depth_clamp_control
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ hasvk (Intel Ivy Bridge, Haswell ΠΈ Broadwell) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Vulkan-Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ:
    • VK_EXT_depth_clamp_control
    • VK_KHR_shader_relaxed_extended_instruction
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ hk, tu, v3dv ΠΈ lvp Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Vulkan-Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ VK_KHR_shader_relaxed_extended_instruction.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½ΠΎΠ²Ρ‹Ρ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ OpenGL:
    • GL_KHR_shader_subgroup Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ radeonsi
    • GL_OVR_multiview Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ zink
    • GL_OVR_multiview2 Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ zink
    • GL_ARB_draw_indirect Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ etnaviv/HALTI5+
    • GL_EXT_draw_buffers2 Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ etnaviv/HALTI5+
    • GL_ARB_draw_buffers_blend Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ etnaviv/HALTI5+
    • GL_ARB_framebuffer_no_attachments Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ etnaviv
    • GL_ARB_timer_query Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Panfrost
    • GL_EXT_disjoint_timer_query Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Panfrost

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru