Mesa 26.2.0 Released with OpenCL 3.1 Capability

Last updated: August 7, 2026 — Leave a comment

Mesa, the open-source implement of OpenGL, OpenGL ES, Vulkan, OpenGL, and other graphics API, released new 26.2.0 version on Wednesday.

The new version updated its Rusticl OpenCL implementation with OpenCL 3.1 capability across Apple AGX, Intel, AMD, Vulkan-based, and CPU software backends, allowing OpenCL 3.1 applications to run through Mesa on those platforms.

The Vulkan runtime now provides support for the legacy Vulkan debug marker extension, allowing applications and debugging tools to attach names and markers to Vulkan objects and command execution for easier profiling and debugging.

Vulkan’s presentation timing support has been extended to the X11 WSI backend, allowing Vulkan applications running under X11 to obtain accurate frame presentation timing information for better frame pacing, latency tracking, and synchronization.

Mesa 26.2.0 added VK_GOOGLE_display_timing support across most of its Vulkan drivers (Intel, AMD, NVIDIA, Arm, Qualcomm, Broadcom, Apple, PowerVR). Direct display (VK_KHR_display) support is available generally, while X11 and Wayland support is available as an opt-in feature because compositors affect presentation timing.

For NVIDIA GPUs, VK_EXT_mesh_shader is now supported, allowing Vulkan applications to use programmable geometry generation instead of relying only on the traditional vertex/geometry pipeline.

It also added VK_NVX_binary_import support for importing pre-compiled GPU shader binaries, as well as the extensions that support shader fused multiply-add operations and floating-point atomic operations in shaders.

MSI SUPRIM, NVIDIA RTX 5090

On the Intel side, Mesa’s OpenCL driver added cl_khr_subgroup_rotate support that can improve the performance for compute workloads.

The Vulkan driver for older Intel “Haswell” (Gen7) GPUs now supports the newer Vulkan presentation ID mechanism, the newer Vulkan API for waiting on the actual display of presented frames, and the detailed presentation timing queries, allowing applications to measure frame display timing.

And, it can now provide synchronized GPU and CPU timestamp information through Vulkan, improving profiling and timing accuracy.

The Intel Vulkan driver now supports fused multiply-add operations in shaders, and, it now exposes descriptor heap support automatically, allowing Vulkan apps to use a more flexible bindless-style resource model for managing textures, buffers, and other GPU resources.

image from Intel.com

Mesa 26.2.0 also includes many updates for the AMD Radeon GPUs. They also include cl_khr_subgroup_rotate in the OpenCL driver for compute workload improvements.

The AMD Vulkan driver (RADV) can now use AMD GPU hardware protected memory features on Vega 10 and newer GPUs.

It can now expose detailed GPU fault information, AMD RDNA 3 GPU hardware performance counters through Vulkan’s standard performance query API, as well as expose support for fused multiply-add operations in shaders.

The AMD Vulkan driver now supports the Vulkan extension that allows shaders to terminate their own execution, extension that controls whether shaders/pipelines may access protected resources, and, VK_KHR_extended_flags extension, allowing to use a larger flag space for future GPU capabilities.

For GFX10.3 and newer GPUs, the RADV Vulkan driver now supports the VK_EXT_host_image_copy extension, allowing the CPU (host) to copy data directly to and from Vulkan images without using GPU copy commands.

On AMD GFX12 GPUs, it now supports Vulkan split shader barriers to separate synchronization arrival from waiting, which can improve GPU scheduling and reduce synchronization stalls in compute workloads.

image from Wikipedia.org

For Arm Mali GPUs used in mobile devices, embedded systems, and ARM-based chips, the Arm Mali-G1 GPU variants now are supported in both its OpenGL and Vulkan drivers.

The PanVK Vulkan driver now supports VK_EXT_dynamic_rendering_unused_attachments extension that can reduce memory bandwidth and improve performance/power usage.

It now supports direct shader access to tile-local framebuffer attachments, derivative calculations inside compute shaders, as well as support for fused multiply-add operations in shaders, allowing Vulkan applications to use Mali GPU FMA hardware for improved floating-point performance and precision.

It as well supports 8-bit index buffers that can reduce memory bandwidth usage, supports re-using 3D texture memory for 2D rendering or compute operations without copying data.

The Mali Vulkan driver also supports ordered framebuffer attachment reads/writes, enabling advanced rendering techniques such as custom blending and order-dependent pixel operations with correct rasterization ordering.

It now supports explicit control over the layout of compute shader workgroup shared memory, and, it can now report GPU virtual address bindings and unbindings, allowing debugging tools to track which GPU addresses correspond to which memory objects.

The Vulkan driver now supports 64-bit integer atomic operations on image resources, allowing shaders to safely update large integer values stored in textures/images for advanced compute and rendering workloads.

And on Mali v9+ GPUs, the OpenGL driver added GL_ARB_texture_query_lod extension that allows shaders to query the mipmap level that would be used for a texture lookup.

image from wikipedia.org

Mesa 26.2.0 also includes many new extensions support for PowerVR GPUs.

The PowerVR Vulkan driver now supports extended texture gather operations, allowing shaders to efficiently fetch neighboring texels and selected texture components using hardware texture sampling features.

It added VK_KHR_workgroup_memory_explicit_layout extension to explicitly control the layout of workgroup (shared) memory, extension that allows apps to query and control shader subgroup sizes, reports GPU memory allocation and release events, as well as ability to wait for a specific presented frame to actually be displayed.

For the PowerVR GPUs designed by Imagination Technologies, the Vulkan driver now supports a set of Vulkan display, surface, swapchain, color, DRM, and image-layout extensions, bringing PowerVR Vulkan presentation/display support closer to full Vulkan ecosystem compatibility.

Other changes include:

  • Add subgroup-level value rotation operations, and communication and control flow to Vulkan shaders.
  • Add 3 Vulkan shader control extensions for Broadcom/V3D GPUs used by Raspberry Pi hardware.
  • New OpenGL/OpenGL ES extensions that enable HDR rendering, higher-precision image processing, and GPU compute on supported Vivante GPUs.

For more about Mesa 26.2.0 as well as the source tarball, see the announcement.

How to Install Mesa 26.2.0 in Ubuntu

NOTE: Mesa 26.2.0 is a new development release. For stability and reliability, it’s better to wait a few weeks for the next 26.2.1.

Besides building from the source, Ubuntu user (24.04 & 26.04) may keep an eye on the popular kisak-mesa fresh PPA maintained by Kisak Missive, a Valve developer.

However, the PPA usually has a delay of a week or two for the new major version.

Just check the link above, once the new version package is available, run the command (press Ctrl+Alt+T to open terminal) below to add the PPA:

sudo add-apt-repository ppa:kisak/kisak-mesa

Then, update your system to get the new graphic drivers:

sudo apt update && sudo apt full-upgrade

And, run glxinfo | grep "OpenGL version" to check Mesa version afterwards.

I'm a freelance blogger who started using Ubuntu in 2007 and wishes to share my experiences and some useful tips with Ubuntu beginners and lovers. Please comment to let me know if the tutorial is outdated! And, notify me if you find any typo/grammar/language mistakes. English is not my native language. Buy me a coffee: https://ko-fi.com/ubuntuhandbook1 |

No Comments

Be the first to start the conversation.

Leave a Reply

Text formatting is available via select HTML.

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

*