Включите исполнение JavaScript в браузере, чтобы запустить приложение.
25 ноя 2024

Релиз Mesa 24.3, свободной реализации OpenGL и Vulkan

До выхода 24.3.1 у новой ветки экспериментальный статус.

После трех месяцев разработки опубликован релиз свободной реализации 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_bufferVK_EXT_post_depth_coverageVK_EXT_legacy_vertex_attributesVK_KHR_maintenance7VK_KHR_dynamic_rendering_local_readVK_NV_compute_shader_derivativesVK_KHR_compute_shader_derivativesVK_KHR_shader_float_controls2VK_EXT_host_image_copy (для GPU Turing+)VK_KHR_shader_quad_controlVK_KHR_fragment_shading_rateVK_EXT_depth_clamp_zero_oneVK_EXT_device_generated_commands
  • 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_maintenance1VK_KHR_pipeline_binaryVK_KHR_compute_shader_derivativesVK_KHR_shader_float_controls2VK_EXT_device_generated_commandsVK_KHR_shader_relaxed_extended_instruction
  • 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_derivativesVK_KHR_shader_relaxed_extended_instructionVK_EXT_depth_clamp_control
  • 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_controlVK_KHR_shader_relaxed_extended_instruction
  • 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 в драйвер radeonsiGL_OVR_multiview в драйвер zinkGL_OVR_multiview2 в драйвер zinkGL_ARB_draw_indirect в драйвер etnaviv/HALTI5+GL_EXT_draw_buffers2 в драйвер etnaviv/HALTI5+GL_ARB_draw_buffers_blend в драйвер etnaviv/HALTI5+GL_ARB_framebuffer_no_attachments в драйвер etnavivGL_ARB_timer_query в драйвер PanfrostGL_EXT_disjoint_timer_query в драйвер Panfrost
  • 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

Источник