Mesa 26.0 strengthens Vulkan support and adds dozens of key extensions to RADV, ANV, NVK, PanVK, Venus and other drivers.

  • Ray tracing performance in RADV improves significantly, with real-world cases showing gains of around 8% or more.
  • NVIDIA's open drivers (NVK/Nouveau) and Panfrost/PanVK take important steps towards a real alternative to proprietary drivers.
  • Version 26.0 arrives accompanied by a long cycle of corrections, compiler optimizations (ACO, NAK, etc.) and a huge internal cleaning of the code.

Table 26.0

If you've been using Linux for gaming or graphics work for a while, you've probably heard of Mesa as the cornerstone of open graphics drivers. The arrival de Table 26.0 This is not just another update, like what happened with Table 25.3It's a pretty significant leap in performance, Vulkan compatibility, and overall polishing of the drivers for AMD, Intel, NVIDIA, and a good number of less common GPUs.

This version includes very specific improvements, from aggressive optimizations of ray tracing in RADVThis includes extensive work on compilers like ACO and NAK, new Vulkan extensions, HDR and AFBC format support, video improvements, stability fixes, and significant code cleanup. All of this, as in Table 25.3.5This adds to a clear feeling: the open-source driver ecosystem for Linux is reaching a level of maturity where, for many users, abandoning proprietary drivers is now entirely realistic.

General updates for Table 26.0

The 26.0 branch is released as a quarterly feature release and introduces a wide range of Vulkan extensionsPerformance adjustments and internal changes. At a high level, the release notes themselves highlight the arrival or promotion of important extensions in several drivers:

  • VK_KHR_maintenance10 Enabled in ANV (Intel), NVK (open NVIDIA) and RADV (AMD), with behavior improvements and small API changes that make life easier for modern graphics engines.
  • VK_EXT_shader_uniform_buffer_unsized_array exposed in ANV, HoneyKrisp (HK, the Vulkan driver on Metal for Apple), NVK and RADV, which allows the use of UBO arrays without a fixed size, very useful for certain engines with many dynamic resources.
  • VK_KHR_surface_maintenance1 y VK_KHR_swapchain_maintenance1 promoted where equivalent EXT extensions already existed (anv, hk, lvp, nvk, radv, tu, v3dv, vn), providing greater control over exchange surfaces and chains.
  • VK_KHR_pipeline_binary Enabled in HoneyKrisp and also in PanVK, allowing the handling of pre-compiled pipeline binaries, which is key to reducing loading times and improving the experience in games and heavy applications.
  • VK_KHR_robustness2 It is promoted from the EXT extension in all drivers that already supported it: panvk v10+, HK, hasvk, NVK, Turnip, Lavapipe and Venus, strengthening the robustness against out-of-range access.

Along with the classic improvements to OpenGL, Gallium3D and support for dozens of GPUs, Mesa 26.0 also places special emphasis on Vulkan trees such as RADV, ANV, NVK, PanVK or Venus, which are becoming increasingly relevant in gaming environments (Proton/Steam, Lutris, Heroic, etc.), but also in virtualization, emulation and professional applications.

Major boost to ray tracing and performance in RADV (AMD)

One of the strengths of this version is its focus on the ray tracing for AMD GPUs through the RADV driver. Valve and other collaborators have been fine-tuning performance for some time, and the accumulated work is evident in Mesa 26.0: there is a very extensive set of patches focused on the scheduler ACO, in BVH management, in the updating of acceleration structures, and in how ray tracing shaders are packaged.

In real-world tests shared by users, improvements are mentioned around a 8% performance improvement in ray tracing in demanding titles using Proton (for example, with "Supreme" presets and GE-Proton10-28), on hardware such as a Ryzen 5 7600, 32 GB of RAM, and a relatively recent Linux kernel. Synthetic benchmarks like GameTechBench have shown increases close to 50% in specific scenariosHowever, these figures should always be taken with caution: they may be due to specific internal changes in the test or different configuration settings.

The code shows a huge effort to refine the ACO compiler: optimization tags are added and corrected, and patterns are improved for FMAMin/max operations, merge operations, vectorization passes are reorganized, and aspects such as register read/write hazards, NOP usage, and latency control are refined. All of this aims to reduce unnecessary shader work. make better use of the hardware of the later RDNA and GCN series.

Another important element is the implementation of HPLOC (High-Performance LBVH / BVH optimizations) in the common Vulkan layer, which RADV leverages to improve TLAS/BLAS building, reduce the effective size of structures, and improve both complete builds and BVH updates. Node counts are adjusted, and nodes are incorporated. box16 When appropriate, cases with inactive primitives are better controlled and these changes are integrated with RRA (Radeon Raytracing Analyzer) support for diagnosis.

Vulkan extensions featured in RADV and video

Beyond ray tracing, Mesa 26.0 also expands the list of Vulkan extensions supported by RADV linked to video and advanced workflows:

  • VK_VALVE_video_encode_rgb_conversion, which facilitates video encoding with RGB conversion, useful for certain multimedia pipelines.
  • VK_EXT_custom_resolvewhich allows the implementation of custom color/depth resolutions, a very interesting extra for modern engines that fine-tune their MSAA routings and post-processing effects.
  • General improvement of support Vulkan Video in codecs such as H.264/H.265/AV1, with a large set of patches around radv/video y radeonsi/vcn: DPB sizes, alignments, reference management, non-aligned resolutions, intra-only modes without DPB, combined writes, video image aliasing modes, quantization maps, screen content tools and much more.

This entire block of video work is accompanied by changes in the part of VA-API frontendswhich separate and clean the encode/decode and post-processing logic, reuse auxiliary structures (radeon_bitstream) for headers and tables, and are removing old support such as MPEG4 in various drivers, focusing on currently used codecs such as H.264, H.265 or AV1.

Intel ANV and Iris: Maintenance10, URB and Performance

On the Intel front, Mesa 26.0 brings a large number of structural improvements to the Vulkan driver ANV and in the OpenGL driver Irisfocusing on both new extensions and the stability of complex features (mesh shaders, ray queries, video, etc.).

ANV also enables VK_KHR_maintenance10which translates into support for new resolve flags, fine-tuning of attachments in dynamic render passes and better control over states such as HDR resolve or the handling of attachments with special transfer functions. The extension is also implemented. VK_EXT_shader_uniform_buffer_unsized_arrayaligning the driver with RADV and NVK.

One point that has been extensively addressed is the transition towards the systematic use of intrinsic URB in NIR (load/store URB) for both TCS/TES (tessellation control and evaluation) and mesh/task shaders. A large part of the URB (Unified Return Buffer) access path is rewritten, byte offsets are calculated for Xe2 and subsequent levels, the allocation of slots for tessellation levels is reordered, the input/output mapping is generalized, and subsequent offset optimization is applied. nir_opt_offsets.

Iris, for its part, benefits from these optimizations, but also introduces specific improvements such as the exposure of GL_KHR_shader_subgroup_* In Gfx ≥ 9, where feasible, repairs to EU (execution unit) validations, adjustments to scratch IDs on merged devices, and internal refactorings for handling binding tables and push constants are implemented. The tools for [further details] are also strengthened. perfect and performance measurement (intel_measure, perf, pps), with a shorter minimum sampling period and extended support for new generations such as Xe2 and Xe3.

Open NVIDIA: NVK, NAK and Turing/Blackwell drivers

In the NVIDIA open-source universe, Mesa 26.0 comes loaded with new features around NVK (Vulkan driver) and the compiler NAKas well as improvements to the Nouveau stack and integrations with gfxstream and virtual environments.

On one hand, NVK gains support for important extensions such as VK_EXT_discard_rectangleswhich allows arbitrary regions of the framebuffer to be discarded at the pipeline level, as well as VK_KHR_maintenance10 y VK_EXT_shader_uniform_buffer_unsized_arraySupport is also announced for VK_KHR_pipeline_binaryaligning with PanVK and HoneyKrisp in the ability to store and reuse pipeline binaries.

Important details have been introduced, such as including the chipset in pipeline/binary cache UUIDDisabling compression in certain image import/export cases, re-enabling compression with recent versions of Nouveau (e.g., Nouveau 1.4.2), adjusting the maximum buffer storage range to the maximum buffer size, and correctly handling sRGB and ASTC formats in Tegra, among others.

Regarding the NAK compiler, there is noticeable intensive cleaning and improvement work: the following has been added: ShaderModelInfo To encapsulate shader model information, instruction latencies such as HMMA and CS2R are refined in Ampere and later architectures, and a pre-pass scheduler and another delay crossing basic blocks, bindless handlers are copied and propagated, the maximum number of warps per SM that the hardware supports is taken advantage of, and behaviors are harmonized between families such as Blackwell, Ada, and Ampere.

Furthermore, for Turing GPUs (RTX 20), a very specific improvement related to the NAK compiler has been integrated into the NVK driver: the driver now switches to Use the maximum value of warps per SM supported by each model, better adjusting the number of active threads per multiprocessor. This translates into more efficient hardware utilization, especially for computationally intensive workloads (games, 3D engines, and other demanding applications). Although official figures haven't been released, a reasonable expectation is to achieve greater stability and fluidity under certain loads, even if the FPS increase is not dramatic in all cases.

Nouveau and the steady pace of NVIDIA's open drivers

The broader context is that the NVIDIA open drivers Both Nouveau and NVK are progressing at a much faster pace than a few years ago. Mesa 26.0 continues to add small pieces: corrections to drm-shim, support for new DRM modifiers for NVIDIA, improvements in state capture/playback, compatibility with modern image compression (for example, ASTC HDR with VK_EXT_texture_compression_astc_hdr in various drivers, including the Tegra/NVK part) and ongoing work on Vulkan WSI and synchronization.

Recent comparative tests already show performance with open drivers that is starting to be taken seriouslyeven against proprietary drivers in some scenarios. Comparisons have been made with cards like the GTX 980, across intermediate generations, and even against current AMD hardware. Although there's still room for improvement, the gap is narrowing, and for many Linux users, the open-source driver is either already sufficient or very close to it.

PanVK and Panfrost: Vulkan on ARM, AFBC, and cache improvements

On the ARM GPU side (Mali), the family Panfrost / PanVK Mesa 26.0 is receiving a huge amount of work. Starting with PanVK, support is being added for:

  • VK_EXT_image_drm_format_modifier In v7, crucial for better integration with DRM and handling formats with modifiers (AFBC, special tiling, etc.).
  • VK_KHR_sampler_ycbcr_conversion in v7, enabling the use of YUV textures and more complex video streams.
  • VK_EXT_multisampled_render_to_single_sampled, similar to Turnip (Qualcomm), allowing direct multisampling of textures to single samples.
  • Support of sparse images (sparseResidencyImage2D and sparseResidencyStandard2DBlockShape) in v10+, with all the infrastructure for partial binds, row/layer alignment, and specific sparse residency queries.
  • VK_KHR_pipeline_binary and a cache system in memory and on disk, which reduces the cost of recompiling shaders and pipelines when re-running games or applications.

Panfrost, for its part, adds compatibility with new AFBC formats (including 16-bit and 4:2:2), and adds formats such as R16G16_R16B16_UNORMIt exposes more texel buffers (including three-component formats) and refines the tile buffer size calculation. Intrinsic features are also introduced. pixel local storage (PLS) and it is implemented GL_EXT_shader_pixel_local_storage In Panfrost v6+, it allows saving and retrieving data at the pixel level without having to go to main memory, which is very interesting for certain advanced effects.

The Bifrost (pan/bi) compiler shows a profound restructuring: vectorization of 8-bit instructions, improvements in the handling of vector phis, the transfer of many NIR passes to a kind of unified "postprocessing," and a clear separation of the compiler into a common library. libpanfrost_compilerAll of this not only improves performance, but also facilitates maintenance and the incorporation of new architectures such as v12+.

Venus, HoneyKrisp and other special drivers

Mesa 26.0 also comes loaded with improvements for lesser-known but highly relevant drivers in specific environments. VenusThe Vulkan translation driver for using Vulkan on virtio-gpu (widely used in virtualized and container environments) gains support for:

  • VK_KHR_cooperative_matrix, VK_KHR_shader_bfloat16, VK_EXT_shader_float8 y VK_EXT_shader_uniform_buffer_unsized_arrayaligning with modern computing and ML capabilities.
  • VK_EXT_mesh_shaderThis allows mesh/task shaders to be run within virtualized environments, something that sounded almost like science fiction a few years ago.
  • Async present, queue support sparse-only, improved integrations with present wait/present id and fine-tuning of dmabufs handling, AHB blobs and implicit synchronization.

The driver HoneyKrisp (HK), which provides Vulkan over Metal in Apple environments, receives a flurry of changes: fixes are included properties of whole dot product, support is added for VK_KHR_present_id/present_id2 y VK_KHR_present_wait/present_wait2It is announced VK_EXT_shader_uniform_buffer_unsized_array, is enabled VK_KHR_pipeline_binary and adjustments are made to host image copy details and HIC compatibility in ASTC formats, among many other minor changes.

Other drivers such as PowerVR (pvr), v3dv/v3d (Raspberry Pi), Virtio/Virgl, Lavapipe (Vulkan by CPU) and D3D12/Dozen They also receive a flood of fixes, code cleanup and new extensions (for example, VK_KHR_relaxed_block_layout and VK_KHR_storage_buffer_storage_class in pvr, or VK_EXT_blend_operation_advanced and VK_EXT_frame_boundary in gfxstream).

Improvements to OpenGL, Gallium and compilers (NIR, ACO, etc.)

Although Vulkan gets all the attention, Mesa 26.0 also incorporates a large number of Improvements to OpenGL, Gallium, and the NIR compilerMultiple optimization passes are restructured (constant folding, algebraic, copy-prop, DCE, CSE), and the flags are consolidated. fp_math_control per instruction (including the correct handling of signed zeros, NaNs and infinities), and the use of redundant passes in drivers such as RADV, Radeonsi, Intel or Broadcom is cleaned up.

In NIR, new intrinsics are introduced such as pixel local storageNew floating-point conversion opcodes (f2f16_ru/rd), uniform subgroup helpers, more robust handling of undefined behavior (e.g., in bitfield_extract, integer divisions, and saturations), and a large suite of utilities for loop, diffusion, divergence, and vector analysis. The system is also enhanced. automated unit tests for algebraic patterns, generating tests from the definitions of nir_opt_algebraic.

Backend compilers, such as ACO (AMD) And the Intel backend takes all this work and leverages it to produce shorter shaders with a better instruction pipeline and improved register utilization. RA (register allocation) passes, call handling (a major new feature in ACO with consistent support for function calls and spilling of preserved registers), latency distribution, and the use of mixed instructions (fma_mix16 with different rounding modes, etc.) are all refined.

Testing environment, CI and stability

A less visible, but critical, aspect is the enormous amount of work in continuous testing infrastructure (CI)Mesa 26.0 comes with an updated CI container, test kernels (e.g., Linux 6.17.3 and later), integration with farms such as ci-tron, mupuf, broadcom, freedreno, Valve, etc., as well as a coordinated update of test suites: VKCTS, GL/GLES CTS, Piglit, ANGLE and vkd3d, among others.

Lists of xfails are adjusted and documented. well-known flakesThe hardware arrays are expanding (from Raspberry Pi to AMD GFX12 GPUs, including Adreno A750 and Mali G52/G610/G720, and even CPU-based backends like Lavapipe). All of this is reflected in the changelogs with numerous commits marking fixed tests, now stable tests, or new nightly work covering previously untested scenarios.

Tools such as perfect, pps, u_trace and the various measurement integrations for Intel, AMD and other vendors, which in the long run results in finding and polishing increasingly subtle bottlenecks.

Overall, Mesa 26.0 not only brings an endless list of new extensions and internal changes, but also consolidates the trend of recent years: increasingly capable open driversConstant improvements to Vulkan and OpenGL, ray tracing optimizations in AMD that are already noticeable in real games, very tangible progress in NVIDIA's open stack (NVK/Nouveau), and a significant boost to less traditional platforms like ARM, virtualization, and macOS via Metal. For those who use Linux daily for gaming or graphics-intensive work, this version is one of those updates worth installing and testing at your leisure, knowing that the work continues to advance with each release.

Drivers table
Related article:
Mesa 23.1.0 arrives with OpenCL Rusticl improvements, initial support for Vulkan Video and more