Efter tre mĂ„naders utveckling presenteras en fri implementation av API:erna OpenGL och Vulkan â Mesa 25.2.0. Den första utgĂ„van av grenen Mesa 25.2.0 har status som experimentell â efter slutförande av stabilisering av koden kommer en stabil version 25.2.1 att slĂ€ppas.
I Mesa 25.2 finns stöd för grafik-API:et Vulkan 1.4 i drivrutinerna ANV för Intel GPU:er, RADV för AMD GPU:er, NVK för NVIDIA GPU:er, Asahi för Apple GPU:er, Turnip för Qualcomm GPU:er, PanVK för ARM Mali GPU:er, i den programvarubaserade rasterisatorn lavapipe (lvp) och i emulatorlÀge (vn). Stöd för Vulkan 1.0 finns i drivrutinerna v3dv (Broadcom VideoCore GPU för Raspberry Pi 4+) och dzn (implementering av Vulkan ovanpÄ Direct3D 12).
Mesa erbjuder ocksÄ fullstÀndigt stöd för OpenGL 4.6 för drivrutinerna iris (Intel GPU Gen 8+), radeonsi (AMD), Crocus (Àldre Intel GPU:er Gen4-Gen7), AMD (r600), zink, llvmpipe, virgl (virtuell GPU Virgil3D för QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (grÀnssnitt för att köra OpenGL ovanpÄ DirectX 12) och asahi (AGX GPU, anvÀnt i Apple M1- och M2-chips). Stöd för OpenGL 4.5 finns för NVIDIA GPU:er (nvc0). Stöd för OpenGL 3.3 finns i drivrutinerna softpipe (programvarurasterisator) och nv50 (NVIDIA NV50). I drivrutinerna panfrost (ARM Mali GPU) och v3d (Broadcom VideoCore GPU) finns stöd för OpenGL 3.1.
Huvudsakliga nyheter:
- I Vulkan-drivrutinen PanVK för enheter med ARM Mali GPU:er baserade pÄ V10-arkitekturen, sÄsom Mali-G610 och Mali-G310, har stöd för grafik-API:et Vulkan 1.4 lagts till (tidigare stöddes Vulkan 1.2).
- I OpenGL-drivrutinen r600 för Àldre AMD GPU:er (upp till Radeon HD 7000-serien) har stöd för grafik-API:et OpenGL 4.6 lagts till (tidigare stöddes OpenGL 4.5).
- I Vulkan-drivrutinen NVK har stöd lagts till för NVIDIA GPU:er baserade pÄ mikroarkitekturerna Blackwell och Kepler (GTX 600/700). För Blackwell-GPU:er har stöd för Vulkan 1.4 implementerats, medan GPU:er med Kepler stödjer API:et Vulkan 1.2 (nyare versioner av Vulkan stöds inte pÄ grund av hÄrdvarubegrÀnsningar). För NVIDIA GPU:er baserade pÄ mikroarkitekturen Maxwell har fullstÀndig kompatibilitet med Vulkan 1.4 sÀkerstÀllts.
- Arbetet med shaderkompilatorn NAK, skriven i Rust och anvÀnd i drivrutinen NVK, har optimerats. I drivrutinen NVK har crate-paketet rustc-hash lagts till, vilket möjliggjort att kompileringstiden för shaders har minskat med cirka 12 %.
- Stöd för OpenGL för NVIDIA Maxwell, Pascal och Volta GPU:er har som standard vÀxlat frÄn Nouveau-drivrutinen till anvÀndning av Zink-drivrutinen i samarbete med Vulkan-drivrutinen NVK. Zink anvÀnds ocksÄ för att sÀkerstÀlla OpenGL-stöd pÄ system med Blackwell GPU:er (i Nouveau OpenGL-drivrutinen planerar man inte att lÀgga till stöd för Blackwell GPU:er). Zink tillhandahÄller en OpenGL 4.6-implementering ovanpÄ Vulkan, vilket möjliggör hÄrdvaruaccelererad OpenGL pÄ enheter som stödjer Vulkan-API. Zinks prestanda Àr nÀra den hos inhemska OpenGL-implementationer.
- Prestandan för Vulkan-drivrutinen Honeykrisp för grafiska processorer som levereras i Apple M1/M2-chip har ökat avsevÀrt.
- Stöd för hÄrdvaruaccelererad avkodning av VP9-video har lagts till Vulkan-drivrutinerna RADV (AMD GPU) och ANV (Intel). Möjligheten har realiserats genom Vulkan-tillÀgget VK_KHR_video_decode_vp9, som förberetts av Vulkan WG:s arbetsgrupp under vÄren. HÄrdvaruaccelerering Àr tillgÀnglig för AMD GPU:er som börjar med Navi 10 GPU:er baserade pÄ RDNA 1.0-mikroarkitekturen.
- Prestandan för strÄlningsspÄrning har förbÀttrats i Vulkan-drivrutinen RADV för AMD GPU:er baserade pÄ RDNA3 och RDNA4 mikroarkitekturer, och stödet för FSR 4 (FidelityFX Super Resolution) super samplingsteknik har förbÀttrats. En funktion för att stÀlla in prioriteter för kommandoköer har ocksÄ lagts till (OpenCL-tillÀgget cl_khr_priority_hints).
- I OpenGL-drivrutinen radeonsi för Àldre familjer av AMD GPU:er Evergreen och Cayman har stöd för OpenGL 4.6 implementerats. Stöd för shared virtual memory (SVM) har ocksÄ lagts till.
- I OpenGL-drivrutinen Iris och Vulkan-drivrutinen ANV har stöd för GPU:er som anvÀnds i Intel Wildcat Lake-processorer implementerats. I Iris och ANV har Àven stabilt stöd för Intel GPU:er baserade pÄ Xe3-arkitekturen som anvÀnds i Panther Lake-processorer utannonserats. Stödet för Xe2- och Xe3-familjerna av GPU:er har förbÀttrats. Iris-drivrutinen har fÄtt stöd för shared virtual memory (SVM).
- I OpenGL-drivrutinen freedreno har stöd för GPU Adreno X1-45, som anvÀnds i Qualcomm Snapdragon X Plus SoC, lagts till.
- Utvecklingen av OpenCL-drivrutinen Rusticl, skriven i Rust och som ersÀtter Clover-drivrutinen, har fortsatt. I Rusticl har stöd för SVM (Shared Virtual Memory), bilder i sRGB-fÀrgrymden (format CL_sRGBA och CL_sBGRA), samt formatet FP16 (OpenCL-tillÀgget cl_khr_fp16 för drivrutinerna asahi, freedreno, llvmpipe, panfrost, radeonsi och zink) lagts till.
- Gallium3D-frontendet MFT (Media Foundation Transform) har lagts till, vilket möjliggör anvÀndning av D3D12 (Direct3D 12) drivrutinen för implementering av andra grafiska API:er. Utvecklad av Microsoft för WSL (Windows Subsystem for Linux).
- Stödet för DRI2 (Direct Rendering Infrastructure) har tagits bort, och DRI3, som anvÀnder DMA-BUF, har tagit dess plats för att möjliggöra direkt Ätkomst till grafikkortet. Anledningen som nÀmns Àr att DRI3 har funnits i mer Àn 10 Är, DRI2 Àr lÀnge förÄldrat och alla stödde drivrutiner för GPU har lÀnge implementerat DRI3-grÀnssnittet.
- Stödet för Ă€ldre metoder för samarbete med buffertar har upphört â endast anvĂ€ndning av dma-buf finns kvar.
- Stödet för versioner av libX11 som inte sÀkerstÀller sÀker drift i flertrÄdiga applikationer har upphört. Endast stöd för libX11 1.8 (april 2022) och nyare versioner som anvÀnder XInitThreads()-anropet har behÄllits.
- Stödet för EGL-tillĂ€gget EGL_WL_bind_wayland_display, implementerat för Wayland, har deklarerats som förĂ„ldrat och Ă€r inaktiverat som standard. För att utbyta pixelbuffertar mellan klienten och servern Wayland föreslĂ„s anvĂ€nda Wayland-protokollet linux_dmabuf. För att Ă„terfĂ„ stödet krĂ€vs flaggan â-Dlegacy-wayland=bind-wayland-displayâ vid kompilering. Xwayland stöder korrekt drift utan EGL_WL_bind_wayland_display frĂ„n version 24.1 (maj 2024).
- Den förÄldrade OpenCL-drivrutinen Clover har tagits bort. För OpenCL bör RustiCL-drivrutinen anvÀndas, som Àr mer funktionell och stöder fler versioner av OpenCL.
- I drivrutinen ANV (Intel) har Vulkan-tillÀgget implementerats:
- VK_KHR_shader_bfloat16
- I drivrutinen RADV (AMD) har Vulkan-tillÀggen implementerats:
- VK_KHR_shader_bfloat16
- VK_KHR_robustness2
- VK_EXT_zero_initialize_device_memory
- VK_EXT_scalar_block_layout
- VK_KHR_maintenance9
- VK_KHR_unified_image_layouts
- VK_KHR_shader_float8
- VK_EXT_host_image_copy
- I drivrutinen NVK (NVIDIA) har Vulkan-tillÀggen implementerats:
- VK_EXT_zero_initialize_device_memory
- VK_KHR_cooperative_matrix
- I drivrutinen zink har Vulkan-tillÀgget implementerats:
- NV_timeline_semaphore
- I drivrutinen v3d (GPU Broadcom VideoCore för Raspberry Pi 4+) har OpenGL-tillÀgget implementerats:
- on v3d GL_ARB_blend_func_extended
- I drivrutinen panfrost har OpenGL-tillÀggen implementerats:
- GL_KHR_texture_compression_astc_hdr
- GL_ARB_shader_clock
- GL_EXT_shader_realtime_clock
- I drivrutinen asahi (Apple) har OpenGL-tillÀgget implementerats:
- GL_KHR_texture_compression_astc_hdr
- I drivrutinen r600 (AMD) har OpenGL-tillÀggen implementerats
- GL_EXT_window_rectangles
- GL_EXT_shader_image_load_store
- I drivrutinen PanVK (GPU ARM Mali) har Vulkan-tillÀggen implementerats:
- VK_EXT_vertex_input_dynamic_state/vertexInputDynamicState
- VK_EXT_vertex_input_dynamic_state
- VK_EXT_vertex_attribute_divisor
- VK_KHR_maintenance4
- VK_KHR_maintenance5
- VK_EXT_direct_mode_display
- VK_EXT_extended_dynamic_state
- VK_KHR_shader_quad_control
- VK_KHR_draw_indirect_count
- VK_KHR_shader_integer_dot_product
- VK_KHR_shader_terminate_invocation
- VK_EXT_shader_demote_to_helper_invocation
- VK_EXT_shader_replicated_composites
- VK_EXT_depth_bias_control
- VK_EXT_primitive_topology_list_restart
- VK_EXT_image_2d_view_of_3d
- VK_EXT_texel_buffer_alignment
- VK_EXT_shader_subgroup_ballot
- VK_EXT_shader_subgroup_vote
- VK_KHR_load_store_op_none
- VK_EXT_load_store_op_none
- VK_EXT_inline_uniform_block
- VK_EXT_texture_compression_astc_hdr
- VK_EXT_depth_clamp_zero_one
- VK_KHR_depth_clamp_zero_one
- VK_EXT_depth_clip_control
- VK_KHR_unified_image_layouts
- VK_KHR_vulkan_memory_model
- VK_EXT_descriptor_indexing
- VK_KHR_maintenance6
- VK_KHR_shader_clock
- VK_KHR_shader_atomic_int64
- VK_KHR_calibrated_timestamps
- VK_EXT_non_seamless_cube_map
- VK_ARM_shader_core_properties
- VK_KHR_host_image_copy
KĂ€lla: opennet.ru
