Changelog for mesa: 26.2.1 -> 26.2.2 Source: docs/relnotes/26.2.1.rst, docs/relnotes/26.2.2.rst Mesa 26.2.1 Release Notes / 2026-08-20 ====================================== Mesa 26.2.1 is a bug fix release which fixes bugs found since the 26.2.0 release. Mesa 26.2.1 implements the OpenGL 4.6 API, but the version reported by glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. Some drivers don't support all the features required in OpenGL 4.6. OpenGL 4.6 is **only** available if requested at context creation. Compatibility contexts may report a lower version depending on each driver. Mesa 26.2.1 implements the OpenCL 3.1 API, but the version reported by the CL_DEVICE_VERSION, CL_DEVICE_NUMERIC_VERSION and CL_DEVICE_OPENCL_C_ALL_VERSIONS clGetDeviceInfo queries depends on the particular driver being used. Mesa 26.2.1 implements the Vulkan 1.4 API, but the version reported by the apiVersion property of the VkPhysicalDeviceProperties struct depends on the particular driver being used. SHA checksums ------------- :: SHA256: c47e81bddc4760360a41ac3c5acec38acb81f9d750ecef47e7f3adc7021a4442 mesa-26.2.1.tar.xz SHA512: d4bc755442c6573a1b75cafad50ec66594fa0ca7599c525f368bdecbd551a970e890ed6b044d9251f84278d27dcaa30649fbf4f4bf0adbaa76e1cc1ba6a1181f mesa-26.2.1.tar.xz New features ------------ - None Bug fixes --------- - RadeonSI VA-API: vertical color discontinuity / split on YouTube (AV1/VP9) with RX 7900 XTX - Recording on AMD GPU using gpu-screen-recorder with VAAPI H.264 backend produces corrupted output since Mesa 26.0.0 - Regression: HEVC hardware decoding (VA-API) fails with "invalid UVD command 5!" on Stoney Ridge (amdgpu) in Mesa 26+ - V3D driver (Mesa) does not expose GL_EXT_shader_texture_lod, breaking raspberry Pi5 WebGL in Firefox (e.g. Google Maps with Street View) - Witchfire - black artifacts - [ANV][BMG] llama.cpp Flaky unit test results with latest Mesa on Arc B70 (Regression) - [NVK/Kepler] NAK compiler panic in assign_regs.rs: "Failed to find free register" when launching wgpu application (Zed) - [RADV] Insurgency Sandstorm - black Z-fighting geometry - [meson] rust crate downloading for subbprojects blocked - [radv] Anisotropic filtering glitch in Wolfenstein II: The New Colossus - i915 GPU hang on Alder Lake-HX GT1 (8086:4688) with Mesa 26.2.0 OpenGL — works on 26.1.6 - radeonsi/VCN: HEVC VAAPI encode corrupts P-frames on Van Gogh (gfx1033) since Mesa 26.0 — I-frames and H.264 unaffected - radeonsi: black screen in picom after ae36b9e3459766a953fe6318545463f9a773d119 - radeonsi: null-deref in validate_io() during glUseProgramStages on separable, SPIR-V-ingested program pipeline - radv: vkCopyMemoryToImage segmentation fault with block-compressed formats when memoryRowLength is non-zero - tu/anv: pDependencyInfos dereferenced as a single pointer instead of an array in CmdWaitEvents2 - tu: assertions in tu_formats.cc: Assertion \`fmt.fmt != FMT6_NONE' failed Changes ------- Aitor Camacho (1): - kk: Fix host imported buffer offsets Benjamin Cheng (7): - radv/video: Fix interaction with KHR_extended_flags - ac/video: Don't take codec level from kernel - ac: Fix guardband calculation for large viewports - ac/uvd_dec: Only send SESSION_CONTEXT_BUFFER if needed - vtn: Mark Location decorated variables with explicit_location - glsl: Set location to -1 for SPIR-V built-ins - mesa/shader_query: Handle SPIR-V built-ins in validate_io Caio Oliveira (5): - anv: Pass the correct RT shader key pointers - brw: Respect execution mask when resetting GS control data - intel: Preserve 64-bit hashes in shader dump filter - anv: Close shader dump archive on device destruction - brw: Fix scalar image coordinate payloads Christian Gmeiner (4): - etnaviv: Turn the sampler parameter loads into constants - etnaviv: Derive the shadow compare shader key from current sampler state - st/mesa: Only drop ARB_depth_buffer_float on desktop GL - etnaviv: drm: Do not return a stale fence fd Christoph Pillmayer (1): - pan/bi: Fix vector phis from spilling Connor Abbott (4): - tu: Use correct pointer for vis stream patchpoint cs fence - tu: Add missing WFI to tu6_clear_lrz() - tu: Set MSM_SUBMIT_SYNCOBJ_* when there are only internal syncobjs - nir: Don't allow peephole_select on read_invocation Danylo Piliaiev (5): - tu: Fix vkResetQueryPool for pipeline statistics query - tu: Fix condition for implicit dep of separate DS resolve - tu: Fix CmdSetRenderingInputAttachmentIndices with custom resolve - tu: Resuming dynamic rendering should re-emit attachments state - tu: Fix gmem not being disabled for some non-fb-space stages with sync2 Dave Airlie (1): - mesa/get: fix luid size and driver callback. David Rosca (5): - radeonsi/mm: Don't use HEVC per slice loop filter across slices on old FW - radv/video: Fix out of bounds reads of AV1 tile params - radeonsi/mm: Use correct feedback size for VCE - radv/video: Fix AV1 decode qmatrix params - radeonsi/mm: Fix AV1 decode qmatrix params Dmitry Baryshkov (2): - panfrost/drm-shim: go through uintptr_t when casting a query pointer - nouveau/drm-shim: use a 64 bit constant for the VRAM BAR size Dominique Belhachemi (1): - gallivm: orcjit: fix use-after-free in remove_jd() during exit Dylan Baker (1): - nir: Add an unreachable default to generated switch statement Eric Engestrom (3): - docs: add sha sum for 26.2.0 - [26.2 only] document a test as flaky - .pick_status.json: Update to 6609a0e7a66288ee338e6ef0e5622d33923755e7 Felix DeGrood (1): - util/u_debug: add unsigned_option Georg Lehmann (1): - radv: disable nir_opt_reassociate_for_fma for VS if it's not the last pre FS shader Gyeyoung Baek (9): - drm-shim: remove the BO's \`offset_map` entry on free - pvr/drm-shim: fix BO refcount leak - panfrost/drm-shim: fix BO refcount leak - lima/drm-shim: fix BO refcount leak - radeon/drm-shim: fix BO refcount leak - amdgpu/drm-shim: fix BO refcount leak - intel/drm-shim: fix BO refcount leak - drm-shim: fix inverted BO refcounting - pvr: fix sampler handle dereference with immutable samplers Hans-Kristian Arntzen (1): - radv: Prefer STRUCTURED OOB over STRUCTURED_OFFSET for texel buffers. JaeHoon Lee (2): - v3dv: check for a failed default attribute values allocation - v3dv: report correct TMU spill and fill counts Jan Meisel (1): - nir/search: reset FP state for commutative match attempts Jianxun Zhang (3): - iris: Fix an assertion when importing dmabuf - anv: Refactor check on CCS modifiers - anv: Set dedicated_only feature bit for CCS modifiers Jose Maria Casanova Crespo (4): - v3d: cap CL BO growth when doubling - v3dv: cap CL BO growth when doubling - broadcom/compiler: restrict fsat_signed/fclamp_pos to 32-bit - broadcom/compiler: handle 16-bit fsat Juan A. Suarez Romero (3): - v3d: fix data in get UBO size - broadcom/compiler: flip varyings replaced through COORD_REPLACE - broadcom/compiler: set full texture coordinates for sprite points Kajal Kajal (1): - rusticl: fix wrong destination offset in Image::copy_to_buffer Karol Herbst (4): - clc: move open_clc_data below map_clc_data and close_clc_data - clc: use the libclc file size from stat instead of seeking - clc: map the libclc early - clc: stop using the mtime as it is not reliable Kenneth Graunke (1): - nir: Set info->fs.color_is_dual_source for DUAL_SRC_BLEND var locations Lars-Ivar Hesselberg Simonsen (1): - panvk/v10+: Fix unbound LD_ATTR.auto32 Linermao (1): - virgl: Close winsys fd after destroying screen Lionel Landwerlin (5): - anv: fix descriptor heap with non buffer aligned addresses pre Gfx12.5 - vulkan/runtime: reindex internal bits - brw: fix non register aligned MOV_INDIRECT source - anv: fix CmdWaitEvents2 dependencyFlags usage - anv: flush L1/L2 caches on end of command buffer Lucas Stach (3): - etnaviv: drm: don't skip submit if there is a in_fence - etnaviv: discard in_fence fd after flush - etnaviv: resume active queries after pending resources has been reset Maaz Mombasawala (2): - svga: Pass buffer handle for fd handles for resource_from_handle() - svga: Remove erroneous else-if in surface_get_handle() Mary Guillemard (1): - nak: Do not encode a RZ for src2 on FMNMX Mel Henning (2): - nak: Serialize carry access in instr_sched_prepass - subprojects: Use CDN URLs for crates.io Paul Grandperrin (2): - wsi/wayland: move wsi_wl_surface_get_present_modes() higher in file - wsi/wayland: send tearing hints when present mode changes to IMMEDIATE Pierre-Eric Pelloux-Prayer (5): - radeonsi: fix typo in barrier flag check - radeonsi/sqtt: fix barrier flags for <= gfx8 - radeonsi: fix typo in descriptors bitmask - radeonsi: fix off-by-one cs shader indexing - radeonsi: fix AMD_DEBUG=usellvm usage Rhys Perry (4): - ac/nir/lower_tex_coords: fix moving vector FS inputs loads - nir/cf: add nir_cf_list_detach_ssa - nir/simplify_loops: lower ssa to registers if it might be necessary - nir/simplify_loops: fix predication of an empty cf list Rob Clark (2): - nir: Add missing lower_io case - Revert "freedreno: Don't re-bind global buffers" Robert Mader (3): - llvmpipe: Pass size to displaytarget_create_mapped() - kms-dri-sw: Use size and offset from whandle in create_mapped() - dri-sw: Use size and offset from whandle in create_mapped() Ryan Zhang (4): - panvk/utrace: add dynamic alloc for utrace clone buffer - panvk/utrace: skip clone copy when timestamp buffer allocation fails - panvk/utrace: guard delete_buffer against NULL on clone alloc failure - panvk/utrace: handle clone CS heap exhaustion gracefully Samuel Pitoiset (10): - ac/gpu_info: fix detecting AMD BC250 as RDNA1 - wsi/display: fix a memleak when swapchain creation failed - wsi/display: free the previous display name when EDID is parsed - radv: fix computing BC formats in texels for HIC - radv: add a workaround for broken multi viewport with UE5 - radv: fix blitting for 2D array to 3D with a Z flip - radv: fix cmdbuf alignment with DGC when queues aren't enabled - radv: reset color remapping states when CmdBeginRendering() is called - radv: set radv_disable_aniso_single_level=true for Wolfenstein II: The New Colossus - radv/meta: fix using aspects for blits Sebastian Wick (4): - kms-dri-sw: Remove always-true whandle check and simplify control flow - kms-dri-sw: Handle drmPrimeFDToHandle errors in create_mapped() - kms-dri-sw: Move find_and_ref() to make it available to create_mapped() - kms-dri-sw: Deduplicate displaytargets by handle in create_mapped() Timur Kristóf (6): - ac/nir/clear_copy_buffer: Fix last thread byte count - aco/isel: Only allow first load to write the dst - radv: Use GL2_BYPASS flag for GFX preamble - radv: Use preemptable wait in gang preamble - radv: Use PFP for gang postamble wait and write - radv: Wait for L2 cache writeback on ACE for SDMA+ACE gangs Tupili Krishna Gowtham Reddy (1): - tu: Don't force R32_UINT when clearing MSAA E5B9G9R9 images Utku Iseri (1): - pan: allow CRC with AFBC Valentine Burley (1): - tu: Fix pDependencyInfos indexing and barrier emission in CmdWaitEvents2 Vandomas (1): - wsi/metal: fix memoryTypeIndex in image memory allocation Yi Ding (1): - panfrost: clear shader image mask on trailing unbinds Yiwei Zhang (2): - venus: amend VK_EXT_ycbcr_image_array advertisement - vulkan/android: undo forcing linear for mutable format Zan Dobersek (1): - tu: fix R64 image clears via non-generic clear code path Zhang, Jianxun (1): - anv: Require dedicated allocation query on scanout images from WSI mmes (1): - anv: fix upload of shader kernels spanning more than one heap BO Mesa 26.2.2 Release Notes / 2026-09-02 ====================================== Mesa 26.2.2 is a bug fix release which fixes bugs found since the 26.2.1 release. Mesa 26.2.2 implements the OpenGL 4.6 API, but the version reported by glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. Some drivers don't support all the features required in OpenGL 4.6. OpenGL 4.6 is **only** available if requested at context creation. Compatibility contexts may report a lower version depending on each driver. Mesa 26.2.2 implements the OpenCL 3.1 API, but the version reported by the CL_DEVICE_VERSION, CL_DEVICE_NUMERIC_VERSION and CL_DEVICE_OPENCL_C_ALL_VERSIONS clGetDeviceInfo queries depends on the particular driver being used. Mesa 26.2.2 implements the Vulkan 1.4 API, but the version reported by the apiVersion property of the VkPhysicalDeviceProperties struct depends on the particular driver being used. SHA checksums ------------- :: TBD. New features ------------ - None Bug fixes --------- - 26.2.x build fails with armhf - Confidential issue #15052 - GL stencil reference query does not update immediately - Mesa 26.2.1: radeonsi no longer loads for GCN1 / Pitcairn when using radeon driver. - Textures got swapped/glitched on Wuthering Waves game. - [Navi10][RadeonSI/RADV] NGG culling causes nondeterministic GPU hangs; nonggc fixes both OpenGL and Vulkan - [radv][bisected][regression] Broken rendering in Persona 3 Reload menu on RDNA2 in gamescope - radv ignores count of 0 in vkCmdDrawIndirect Changes ------- Allen Ballway (1): - anv: Fix ASTC emulation sync in CopyMemoryToImage Ashley Smith (1): - pan/bifrost: Fix shader clock selection Benjamin Cheng (1): - mesa/main: Add extra_new_buffers for STENCIL_REF Christian Gmeiner (2): - etnaviv: Program the i2i destination type in src1 - etnaviv: nir: Call nir_opt_combine_stores(..) Dave Airlie (1): - nir: move load_ssbo_address to taking variable size src0 David Rosca (6): - va: Compare file descriptions to deduplicate objects when exporting surface - va: Parse all HEVC slice NAL unit types - va: Parse HEVC encode slice_temporal_mvp_enabled_flag - va: Fix parsing HEVC decode slice_temporal_mvp_enabled_flag - va: Fix parsing HEVC VPS timing info - radeonsi/mm: Fix VCN encode allowed_max_bitstream_size Dmitry Baryshkov (3): - turnip: scale the transform feedback counter offset on a6xx - freedreno/a6xx: subtract the transform feedback buffer offset in CP_DRAW_AUTO - nv30: fix abs source modifier on fragment program sources 1 and 2 Dominique Belhachemi (1): - pco: fix compile failure for arrayLength() on non-power-of-two strides Emma Anholt (6): - freedreno/ir3: Actually pass cs_lock_unlock_quirk into the compiler. - tu: Fix VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT. - tu: Fix stitching together set layouts from graphics pipeline libraries. - tu: Add missing reservation of the extra safe-const VPC state for GSes. - tu: Fix the block texel view check for force_disable_linear_fallback. - tu: Publish proper aspect masks for D32S8 VkSparseImageMemoryRequirements2. Eric Engestrom (4): - docs: add sha sum for 26.2.1 - .pick_status.json: Update to 7d6bb09d5b59ec5af1a58971f34390a62943bfe0 - [26.2 only] pco: plumb \`pco_data` through to \`pco_nir_opt()` - ci-tron: bypass caching proxy for docker images Erik Faye-Lund (1): - docs: fix javascript-warning on search-page Frank Binns (1): - pvr: check command buffer is in recording state in vkCmd{Begin,End}Rendering Georg Lehmann (1): - radv: fix lower_array_layer_round_even condition Icenowy Zheng (2): - pco: fix ra emit_copies sidecases - pvr: set ycbcr sampler state words when any sampler word is present Jesse Natalie (3): - d3d12: Stop using D3D12_IGNORE_SDK_LAYERS - dzn: Rearrange includes and stop using D3D12_IGNORE_SDK_LAYERS - vk/wsi/win32: Stop using D3D12_IGNORE_SDK_LAYERS Jiming Liu (1): - ac/virtio: Fix VIRTIO_SHARED flag masking Job Noorman (1): - freedreno/computerator: attach perfcntr BO to CS Jordan Justen (2): - intel/dev: Drop 0xd744 PCI ID - intel/dev: Enable NVL-S/U PCI IDs (without FORCE_PROBE) Jose Maria Casanova Crespo (4): - v3d: flush jobs that queue too many draw calls - broadcom/qpu: decode fully the input unpack from mul FMOV - broadcom/qpu: decode the fround-group input unpack from raddr_b on V3D 7.1 - broadcom/compiler: fill the old value when spilling a partial write Lionel Landwerlin (2): - anv: don't forget to hash render pass color attachments - intel: fixup mcs sampler handle lowering Lorenzo Rossi (3): - panfrost: Always emit vertex attribute descriptors for arch < v9 - panvk/jm: Always emit vertex attribute descriptors - panvk/jm: Fix unbound attribute reads Marc Alcala Prieto (1): - panfrost/model: Fix G720 and G725 sfu rates Marek Olšák (3): - mesa: clamp level count to the allocated level count in mipmap generation - radv: skip indirect draws with (max)drawCount == 0 - radv: fix RADV_FORCE_VRS (Persona 3 Reload) Mike Blumenkrantz (2): - lavapipe: reset compute shader info in emit_compute_state() - lavapipe: zero compute state for every mesh draw Nanley Chery (1): - intel/isl: Support MSAA in subimage range helper Olivia Lee (1): - panvk/csf: fix layered FB barrier in secondary cmdbufs Pierre-Eric Pelloux-Prayer (1): - loader: consider radeon in amd_predicate Rhys Perry (3): - nir: add deref_buffer_address - ac/nir: implement load_ssbo_address - radv: use load_deref_buffer_address Rob Clark (1): - tu: Fix gen8 TEX_LINE_OFFSET Rob Herring (Arm) (1): - ethosu: Fix flattened fully connected inputs Rohan Garg (1): - pvr: use a load op for the resolve stencil load op Samuel Pitoiset (2): - radv: fix copying VRS rates with a non-zero base layer correctly - amd: only enable the addrlib SIMD path when supported Simon Perretta (9): - nir: generalize the src type of interleave to tuint - pco: drop i2i16 conversion for nir_interleave srcs - pco: flush the cache for images accessed via atomics and non-atomics - pco: skip propagating access for derefs without vars - pco: pass shader data to preprocessing function - pco: consider robustness in load/store vectorization - pco: amend atomic address calculation for 2d images - pco: ensure nir_global_atomic_pco ops are tracked - pco: use the source from src instead of io when building mappings Timur Kristóf (6): - radv: Invalidate L2 cache on ACE after waiting for SDMA - radv: Create separate BO for gang semaphore to avoid coherency and perf issues - aco/optimizer: Keep MUBUF SOFFSET on GFX6-7 - aco/isel: Use SOFFSET when selecting buffer loads with index VGPR - radv/nir: Don't fold constant offset into index VGPR for VS inputs anymore - ac/nir/ngg: Use ds_or_b32 for storing culling flags on Navi 10 Valentine Burley (7): - lvp/ci: Update expectations after gitlab-runner update - tu: Fix requiredSubgroupSizeStages enablement - freedreno, tu: Limit XFB streams on GPUs lacking multi-stream query support - tu: Create patchpoints_ctx before emitting subpass begin in renderpass - tu: Ignore FDM offsets for subsampled images when shared viewport is active - tu: Do not bake static viewport/scissor when FDM is enabled - tu: Fix GMEM clears with an FDM offset on the blit-event clear path Wei Zhao (1): - wsi/display: allocate the EDID display name only once Yiwei Zhang (2): - panvk/android: avoid pNext injection of caller ANB info - venus: ensure queue submission pNext chain ends properly