Després de tres mesos de desenvolupament, s'ha publicat el llançament de la implementació gratuïta de les API OpenGL i Vulkan, Mesa 24.3.0. La primera versió de la branca Mesa 24.3.0 té un estat experimental: després de l'estabilització final del codi, es publicarà una versió estable 24.3.1.
Mesa 24.3 admet l'API de gràfics Vulkan 1.3 en anv per a GPU Intel, radv per a GPU AMD, NVK per a GPU NVIDIA, tu per a GPU Qualcomm, rasteritzador de programari lavapipe (lvp), mode emulador (vn) i v3dv (GPU Broadcom VideoCore per Raspberry Pi 4+). El suport Vulkan 1.0 s'implementa als controladors dzn (implementació de Vulkan a la part superior de Direct3D 12) i panvk (GPU ARM Mali).
Mesa també ofereix suport complet OpenGL 4.6 per a iris (GPU Intel Gen 8+), radeonsi (AMD), Crocus (GPU Intel Gen4-Gen7 més antigues), zink, llvmpipe, virgl (GPU virtual Virgil3D per a QEMU/KVM), controladors freedreno ( Qualcomm Adreno), d3d12 (una capa per organitzar el treball OpenGL a la part superior de DirectX 12) i asahi (GPU AGX utilitzada als xips Apple M1 i M2). El suport OpenGL 4.5 està disponible per a les GPU AMD (r600) i NVIDIA (nvc0). El suport OpenGL 3.3 està present als controladors softpipe (rasteritzador de programari) i nv50 (NVIDIA NV50).
Principals innovacions:
- El controlador v3dv ofereix suport complet per a l'API de gràfics Vulkan 1.3 per a les GPU VideoCore utilitzades a les plaques Raspberry Pi 4 i Raspberry Pi 5.
- S'ha afegit un nou controlador Vulkan gfxstream-vk, que es pot utilitzar per virtualitzar l'API Vulkan i accedir a aquesta API gràfica des de sistemes convidats basats en Linux, Android i Fuchsia. El controlador l'utilitza Google a l'emulador d'Android, l'emulador Fuchsia, els serveis al núvol d'Android i el sistema operatiu Android Automotive (AAOS).
- S'ha afegit suport per a l'extensió Vulkan VK_PRESENT_MODE_FIFO_KHR a la interfície d'integració de l'API gràfica Vulkan amb sistemes de finestres (WSI, Windowing System Integration) per al seu ús en entorns basats en Wayland del protocol FIFO, que permet utilitzar la sortida esperant la finalització. d'escaneig vertical (vblank) en comptes d'utilitzar trucades de devolució de trucada a cadascuna de les que estiguin preparades per mostrar un fotograma nou, cosa que resol el problema de la càrrega elevada de la GPU quan s'utilitza VSync.
- Als sistemes amb GPU Intel basades en l'arquitectura Xe2, la compressió del buffer de profunditat (z-buffer) està activada de manera predeterminada.
- El controlador iris OpenGL i el controlador ANV Vulkan han afegit suport inicial per a les GPU Intel basades en l'arquitectura Xe3 que es troba als processadors Panther Lake.
- S'ha afegit suport per a les extensions Vulkan al controlador NVK (NVIDIA):
- VK_EXT_descriptor_buffer
- VK_EXT_POST_DEPTH_COVERAGE
- VK_EXT_legacy_vèrtex_attributes
- VK_KHR_manteniment7
- VK_KHR_visualització_dinàmica_lectura_local
- VK_NV_compute_shader_derivatives
- VK_KHR_compute_shader_derivatives
- VK_KHR_shader_float_controls2
- VK_EXT_host_image_copy (per a GPU Turing+)
- VK_KHR_shader_quad_control
- VK_KHR_fragment_shading_rate
- VK_EXT_depth_clamp_zero_one
- VK_EXT_device_generated_commands
- S'ha afegit suport per a les extensions Vulkan al controlador RADV (AMD):
- 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
- S'ha afegit suport per a les extensions Vulkan al controlador ANV (Intel)
- VK_KHR_compute_shader_derivatives
- VK_KHR_shader_relaxed_extended_instruction
- VK_EXT_control de la pinça_de_profunditat
- El controlador hasvk (Intel Ivy Bridge, Haswell i Broadwell) ha afegit suport per a les extensions Vulkan:
- VK_EXT_control de la pinça_de_profunditat
- VK_KHR_shader_relaxed_extended_instruction
- S'ha afegit suport per a l'extensió Vulkan VK_KHR_shader_relaxed_extended_instruction als controladors hk, tu, v3dv i lvp.
- S'ha afegit suport per a noves extensions OpenGL:
- GL_KHR_shader_subgroup al controlador radeonsi
- GL_OVR_multiview al controlador zink
- GL_OVR_multiview2 al controlador zink
- GL_ARB_draw_indirect al controlador etnaviv/HALTI5+
- GL_EXT_draw_buffers2 al controlador etnaviv/HALTI5+
- GL_ARB_draw_buffers_blend al controlador etnaviv/HALTI5+
- GL_ARB_framebuffer_no_attachments al controlador etnaviv
- GL_ARB_timer_query al controlador Panfrost
- GL_EXT_disjoint_timer_query al controlador Panfrost
Font: opennet.ru
