{"id":51777,"date":"2026-08-07T13:11:38","date_gmt":"2026-08-07T13:11:38","guid":{"rendered":"https:\/\/ubuntuhandbook.org\/?p=51777"},"modified":"2026-08-07T13:11:38","modified_gmt":"2026-08-07T13:11:38","slug":"mesa-26-2-0-released-with-opencl-3-1-capability","status":"publish","type":"post","link":"https:\/\/ubuntuhandbook.org\/index.php\/2026\/08\/mesa-26-2-0-released-with-opencl-3-1-capability\/","title":{"rendered":"Mesa 26.2.0 Released with OpenCL 3.1 Capability"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-51778\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/mesa-icon-250x250.webp\" alt=\"\" width=\"250\" height=\"250\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/mesa-icon-250x250.webp 250w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/mesa-icon-300x300.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/mesa-icon-700x700.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/mesa-icon-768x768.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/mesa-icon.webp 1200w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/p>\n<p>Mesa, the open-source implement of OpenGL, OpenGL ES, Vulkan, OpenGL, and other graphics API, released new 26.2.0 version on Wednesday.<\/p>\n<p>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.<\/p>\n<p><!--more--><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-51779\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/OpenCL_RGB_Apr20-700x318.webp\" alt=\"\" width=\"610\" height=\"277\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/OpenCL_RGB_Apr20-700x318.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/OpenCL_RGB_Apr20-300x136.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/OpenCL_RGB_Apr20-768x349.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/OpenCL_RGB_Apr20.webp 1100w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>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.<\/p>\n<p>Vulkan&#8217;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.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-51780\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/Vulkan_logo.svg_-700x187.webp\" alt=\"\" width=\"610\" height=\"163\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/Vulkan_logo.svg_-700x187.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/Vulkan_logo.svg_-300x80.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/Vulkan_logo.svg_-768x205.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/Vulkan_logo.svg_.webp 1280w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>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.<\/p>\n<p>For <b>NVIDIA GPUs<\/b>, <code>VK_EXT_mesh_shader<\/code> is now supported, allowing Vulkan applications to use programmable geometry generation instead of relying only on the traditional vertex\/geometry pipeline.<\/p>\n<p>It also added <code>VK_NVX_binary_import<\/code> 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.<\/p>\n<div id=\"attachment_49765\" style=\"width: 620px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-49765\" class=\"size-large wp-image-49765\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/nv-5090-700x354.webp\" alt=\"\" width=\"610\" height=\"308\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/nv-5090-700x354.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/nv-5090-300x152.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/nv-5090-768x389.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/nv-5090-1320x668.webp 1320w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/nv-5090.webp 1381w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><p id=\"caption-attachment-49765\" class=\"wp-caption-text\">MSI SUPRIM, NVIDIA RTX 5090<\/p><\/div>\n<p>On the <b>Intel<\/b> side, Mesa&#8217;s OpenCL driver added <code>cl_khr_subgroup_rotate<\/code> support that can improve the performance for compute workloads.<\/p>\n<p>The Vulkan driver for older Intel &#8220;Haswell&#8221; (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.<\/p>\n<p>And, it can now provide synchronized GPU and CPU timestamp information through Vulkan, improving profiling and timing accuracy.<\/p>\n<p>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.<\/p>\n<div id=\"attachment_47577\" style=\"width: 620px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-47577\" class=\"size-large wp-image-47577\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/11\/arc-pro-700x394.webp\" alt=\"\" width=\"610\" height=\"343\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/11\/arc-pro-700x394.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/11\/arc-pro-300x169.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/11\/arc-pro-768x432.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/11\/arc-pro-1536x864.webp 1536w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/11\/arc-pro-1320x743.webp 1320w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/11\/arc-pro.webp 1920w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><p id=\"caption-attachment-47577\" class=\"wp-caption-text\">image from Intel.com<\/p><\/div>\n<p>Mesa 26.2.0 also includes many updates for the <b>AMD Radeon GPUs<\/b>. They also include <code>cl_khr_subgroup_rotate<\/code> in the OpenCL driver for compute workload improvements.<\/p>\n<p>The AMD Vulkan driver (RADV) can now use AMD GPU hardware protected memory features on Vega 10 and newer GPUs.<\/p>\n<p>It can now expose detailed GPU fault information, AMD RDNA 3 GPU hardware performance counters through Vulkan&#8217;s standard performance query API, as well as expose support for fused multiply-add operations in shaders.<\/p>\n<p>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, <code>VK_KHR_extended_flags<\/code> extension, allowing to use a larger flag space for future GPU capabilities.<\/p>\n<p>For GFX10.3 and newer GPUs, the RADV Vulkan driver now supports the <code>VK_EXT_host_image_copy<\/code> extension, allowing the CPU (host) to copy data directly to and from Vulkan images without using GPU copy commands.<\/p>\n<p>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.<\/p>\n<div id=\"attachment_51781\" style=\"width: 620px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-51781\" class=\"size-large wp-image-51781\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/Asus_Radeon_RX_9070_XT_showcase_by_MoreThanTech-700x350.webp\" alt=\"\" width=\"610\" height=\"305\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/Asus_Radeon_RX_9070_XT_showcase_by_MoreThanTech-700x350.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/Asus_Radeon_RX_9070_XT_showcase_by_MoreThanTech-300x150.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/Asus_Radeon_RX_9070_XT_showcase_by_MoreThanTech-768x384.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/Asus_Radeon_RX_9070_XT_showcase_by_MoreThanTech.webp 1280w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><p id=\"caption-attachment-51781\" class=\"wp-caption-text\">image from Wikipedia.org<\/p><\/div>\n<p>For <b>Arm Mali GPUs<\/b> used in mobile devices, embedded systems, and ARM-based chips, the <b>Arm Mali-G1 GPU variants<\/b> now are supported in both its OpenGL and Vulkan drivers.<\/p>\n<p>The PanVK Vulkan driver now supports <code>VK_EXT_dynamic_rendering_unused_attachments<\/code> extension that can reduce memory bandwidth and improve performance\/power usage.<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>And on Mali v9+ GPUs, the OpenGL driver added <code>GL_ARB_texture_query_lod<\/code> extension that allows shaders to query the mipmap level that would be used for a texture lookup.<\/p>\n<div id=\"attachment_51782\" style=\"width: 620px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-51782\" class=\"size-large wp-image-51782\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/ARMCortexA57A53-700x464.webp\" alt=\"\" width=\"610\" height=\"404\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/ARMCortexA57A53-700x464.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/ARMCortexA57A53-300x199.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/ARMCortexA57A53-768x509.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/ARMCortexA57A53.webp 1280w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><p id=\"caption-attachment-51782\" class=\"wp-caption-text\">image from wikipedia.org<\/p><\/div>\n<p>Mesa 26.2.0 also includes many new extensions support for <b>PowerVR GPUs<\/b>.<\/p>\n<p>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.<\/p>\n<p>It added <code>VK_KHR_workgroup_memory_explicit_layout<\/code> 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.<\/p>\n<p>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.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-51783\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/NEC_PowerVR_PCX2-698x700.webp\" alt=\"\" width=\"610\" height=\"612\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/NEC_PowerVR_PCX2-698x700.webp 698w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/NEC_PowerVR_PCX2-300x300.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/NEC_PowerVR_PCX2-250x250.webp 250w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/NEC_PowerVR_PCX2-768x770.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/NEC_PowerVR_PCX2.webp 960w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>Other changes include:<\/p>\n<ul>\n<li>Add subgroup-level value rotation operations, and communication and control flow to Vulkan shaders.<\/li>\n<li>Add 3 Vulkan shader control extensions for Broadcom\/V3D GPUs used by Raspberry Pi hardware.<\/li>\n<li>New OpenGL\/OpenGL ES extensions that enable HDR rendering, higher-precision image processing, and GPU compute on supported Vivante GPUs.<\/li>\n<\/ul>\n<p>For more about Mesa 26.2.0 as well as the source tarball, see the <a href=\"https:\/\/lists.freedesktop.org\/archives\/mesa-dev\/2026-August\/226690.html\" target=\"_blank\" rel=\"noopener\">announcement<\/a>.<\/p>\n<h3>How to Install Mesa 26.2.0 in Ubuntu<\/h3>\n<p><b>NOTE: Mesa 26.2.0 is a new development release. For stability and reliability, it&#8217;s better to wait a few weeks for the next 26.2.1.<\/b><\/p>\n<p>Besides building from the source, Ubuntu user (24.04 &amp; 26.04) may keep an eye on the popular <a href=\"https:\/\/launchpad.net\/~kisak\/+archive\/ubuntu\/kisak-mesa\" target=\"_blank\" rel=\"noopener\">kisak-mesa fresh PPA<\/a> maintained by Kisak Missive, a Valve developer.<\/p>\n<p>However, the PPA usually has a delay of a week or two for the new major version.<\/p>\n<p>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:<\/p>\n<pre>sudo add-apt-repository ppa:kisak\/kisak-mesa<\/pre>\n<p>Then, update your system to get the new graphic drivers:<\/p>\n<pre>sudo apt update &amp;&amp; sudo apt full-upgrade<\/pre>\n<p>And, <code>run glxinfo | grep \"OpenGL version\"<\/code> to check Mesa version afterwards.<\/p>","protected":false},"excerpt":{"rendered":"<p>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.<\/p>\n","protected":false},"author":1,"featured_media":51778,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[1447],"class_list":["post-51777","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-mesa-3d-graphics-library"],"_links":{"self":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/51777","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/comments?post=51777"}],"version-history":[{"count":0,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/51777\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media\/51778"}],"wp:attachment":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media?parent=51777"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/categories?post=51777"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/tags?post=51777"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}