Changelog for mesa-tools-native: 26.1.5 -> 26.1.6 Source: docs/relnotes/26.1.5.rst, docs/relnotes/26.1.6.rst Mesa 26.1.5 Release Notes / 2026-07-15 ====================================== Mesa 26.1.5 is a bug fix release which fixes bugs found since the 26.1.4 release. Mesa 26.1.5 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.1.5 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: 79e421c7ce18cd9e790b8375920325779f10798630bf30e0b22f1a21c8617122 mesa-26.1.5.tar.xz SHA512: 8b1714e0fe63d3077c0d761245680724537a94db65e17dedb7124c7c861f070a13493a060695e81b2ca9b6889007b52c7b5788dace8fe5d8e2e1ed67efdbbf07 mesa-26.1.5.tar.xz New features ------------ - None Bug fixes --------- - A702: assertions at A6XX_TEX_MEMOBJ_4_BASE_LO - Celestia hit fallback on r300g from git? - Copy paste bug in \`gallium/drivers/radeonsi/si_texture.c` - Issues with shadows on DOOM: The Dark Ages - Revelations DLC - OpenGL app deadlocks in loader_dri3_swap_buffers_msc → xcb_wait_for_special_event on radeonsi / Mesa 26.1 / X11 (Telegram Desktop) - Qt application TrenchBroom hangs in glXSwapBuffers in recent version of Mesa - [ANV][PTL] - Elden Ring (1245620) - Blue artifacts and flickering lights with raytracing enabled - [ANV][PTL] - Persona 3 Reload (2161700) - Blue color on some objects + reflections do not reflect - [RADV] REGRESSION: Lighting Bleed-through in Need for Speed games on mesa 1:26.1.1-2 ArchLinux - [RADV] REGRESSION: Weird graphics glitches and Lighting Bleed-through in Saints Row 2 - [RADV] Video color artifacts in mpv - [radv] Regression causes black patches on the ground in DOOM The Dark Ages Revelations DLC - frontends/va: Build fails with libva 2.15.0 - r600: SFN assersion failed in Transport fever 2 - v3dv: Compute shader crashes for unknown reason Changes ------- Benjamin Cheng (1): - ac/surface: Remove GFX10 limitation for FORCE_SWIZZLE_MODE Boris Brezillon (1): - pan/kmod: Add a pan_kmod_timestamp_cycles_to_ns() helper Caio Oliveira (1): - anv: Initialize shader debug archive key size Christian Gmeiner (2): - etnaviv: Fix sampler view leak on unsupported texture target - panvk: Restore push descriptor dirty bit after meta operations Daivik Bhatia (1): - nir/opt_copy_prop_vars: kill stale entries when source deref is written Danylo Piliaiev (1): - tu: Enable tu_dont_care_as_load for all Kex Engine games David Rosca (2): - r600/uvd: Set correct h264 chroma format - [26.1 only] va: Fix build with free codecs only and libva < 2.16 Eric Engestrom (5): - docs: add sha sum for 26.1.4 - .pick_status.json: Update to 0ab29c1d21d56f1780bd057176c998fda738402a - zink/ci: drop leftover anv-cml deqp suite - loader: move variable to correct scope - radeonsi: fix truncated cache key Faith Ekstrand (2): - vulkan/meta: Use z_off/scale for 2D array images as well - vulkan/meta: Allow resolving a 2D MSAA image to a 3D image Filip Gawin (1): - nv30: fix truncated values in line_stipple_pattern Frank Binns (1): - pvr: define PVR_USE_WSI_PLATFORM for xcb and xlib Georg Lehmann (3): - spirv: add option to treat FMax/FMin/FClamp like NMax - radv: add radv_force_nan_preserve_min_max option - radv: enable radv_force_nan_preserve_min_max for DOOM: The Dark Ages Gert Wollny (1): - r600/sfn: Drop assertions when emitting IF asm instruction Hans-Kristian Arntzen (1): - radv: Consider VkImageView usage rather than VkImage usage in feedback. Iván Briano (3): - brw/rt: fix max_t selection on intersection report - brw/rt: split HitAttribute area in pending/committed - brw/rt, anv: reduce maxRayHitAttributeSize JaeHoon Lee (8): - v3d: fix slot and input indexing in v3d_set_global_binding - v3dv: report maxDrawIndirectCount of 1 without multiDrawIndirect - v3d: clamp transform feedback offset to buffer size - v3dv: report the correct dynamic storage buffer UAB limit - v3dv: fix blake3 key truncated to 20 bytes in pipeline cache - v3d: fix blake3 key truncated to 20 bytes in shader cache - broadcom/compiler: really enable GFXH-1625 TMUWT validation - vc4: fix incorrect resource unref in vc4_flush_resource Jeremy Huddleston (1): - glx/apple: silence OpenGL deprecation warnings Jose Maria Casanova Crespo (1): - v3dv: close the primary node fd on physical device destruction Karmjit Mahil (1): - freedreno/decode,ir3: Mark decoded dwords as const Karol Herbst (7): - gallium: remove PIPE_BARRIER_GLOBAL_BUFFER - rusticl/device: fix long vector_width queries on devices without int64 support - nak/sm20: fix immediate encoding for F2I and F2F - nir: add nir_shader_fully_linked helper - rusticl/kernel: handle nir shader compilation failures gracefully - rusticl: return Result instead of Option from convert_spirv_to_nir - rusticl: abort compilation if the nir shader is not fully linked Konstantin Seurer (2): - vulkan: Fix ROOT_FLAGS_OFFSET_ID offset - radv: Store root_flags for BVH8 Lionel Landwerlin (4): - anv/brw: limit push constant promotion in vertex shaders - anv: fixup RT building barrier - anv: fill min_array_element with indirect descriptors - anv: fixup max push data delivered to shaders Marek Olšák (5): - radv: disable AMD_device_coherent_memory on gfx12 due to out of order behavior - ac/nir: fix incorrect upper bound for view_index - radv: fix a rare crash with NULL PS and force_vrs_per_vertex - radv: use radeon_opt_set_context_reg for PA_CL_VRS_CNTL to fix random behavior - ac: fix a GPU hang with LLVM due to incorrect VGPRS decoding of LLVM output Mario Kleiner (3): - wsi/display: Actually fix vblank-less systems for VK_EXT_present_timing. - hasvk: Expose VK_KHR_calibrated_timestamps. - wsi/display: Don't update connector last_frame/nsec in vkGetSwapchainCounterEXT. Mary Guillemard (1): - nvk: Do not enable remap in nvk_copy_indirect Matt Turner (5): - nir/tests: allow relative error in compare_inexact - nir: fix f2u/f2i constant folding to poison NaN and out-of-range inputs - nir: use i2f32 for patterns with signed-extraction opcodes - nir: fix pack_uvec4_to_uint to mask input components to 8 bits - nir/tests: fall back to integer comparison when float interpretation is NaN Mel Henning (2): - nvk: Fix DGC localsize computation - nvk: Handle large indirect stride pre-Turing Michel Dänzer (1): - dri3: Increment draw->send_sbc after waiting for last presentation Mike Blumenkrantz (6): - zink: unset unordered access on ordered transfer ops - gallium/cso: make unbind_context an explicit call - st/context: unbind gs shader before deleting hw select gs shaders - zink: always un-suspend queries on end - zink: fix the fix for ZINK_RENDERDOC=all - util/blitter: fix blitting multiple array layers Pavel Ondračka (1): - r300: fix swtcl per-vertex point size Pierre-Eric Pelloux-Prayer (1): - radeonsi: fix typo in si_copy_from_staging_texture Pohsiang (John) Hsu (1): - d3d12: fix build break in staging/26.1 due to DirectX header issue Rhys Perry (1): - radv: set RADV_CMD_DIRTY_GFX12_HIZ_WA_STATE around attachment clears Rob Clark (2): - freedreno/a6xx: Don't forget UBO driver params - freedreno/decode: Fix shader stats in summary mode Ryan Mckeever (1): - pan/bi: check if preds are dominated by header in bi_find_loop_blocks Sagar Ghuge (2): - brw: Track if CS uses fences - intel: Fix async compute thread limit Sahitya Kandru (1): - freedreno: Modify reg_size_vec4 for a608 and a612 to 32 Samuel Pitoiset (12): - vulkan,anv,radv: do not crash when querying descriptor size for unsupported type - zink: fix a memleak in zink_init_format_props() - glsl: fix a memleak in link_assign_subroutine_types() - loader: fix a memleak - kopper: fix a memleak - zink: fix a memleak with fences - zink: fix a memleak with the emulated GS NIR shader - zink: fix a memleak with sampler state - pipe-loader: fix a global-buffer-overflow ASAN error when getting driconf - radv/meta: fix restoring descriptor heaps - Revert "spirv: allow mapping readonly buffers with struct members" - radv: force late-Z with fragment shaders that use fbfetch Simon Perretta (3): - pco: allow non-pure integer formats for image xchg atomics - pco: lower sysvals early for fragment shaders - pco: allow fence ops to be legalized if they come last in a block Stijn Tintel (1): - rocket: fix mmap leak in buffer map/unmap Timur Kristóf (3): - radv: Wait for idle after every submission on GFX6-7 - radeonsi: Wait for shaders and flush L2 after every submission on GFX6-7 - Revert "radv: Mitigate GPU hang on Hawaii in Dota 2 and RotTR" Valentine Burley (4): - tu: Fix uninitialized gmem_offset when a GMEM layout is impossible - tu: Fix capture/replay with sampler custom border color - tu: Disable VK_EXT_extended_dynamic_state2 patch control points on A702 - zink: Gate tess/geom barrier stages on feature support Vincent Cloutier (1): - etnaviv: use buffer resource accessor for indirect draws Vinson Lee (4): - util/tests: replace sprintf with snprintf in cache tests - util/tests: fix unused variable warnings in cache List test - vulkan/screenshot-layer: replace itoa/sprintf with snprintf - vulkan/screenshot-layer: fix globalLock mutex leak Wujian Sun (1): - mesa: Allow GL_SRGB_ALPHA_EXT as color-renderable when EXT_sRGB is supported Yannis Juglaret (1): - nouveau: fix data race in nouveau_fence_ref Yiwei Zhang (3): - venus/virtgpu: amend a missing sim mutex init - venus: fix imported sync fence payload reset upon export - venus: avoid renderer semaphore wait upon temp payload export inspector-ambitious (1): - loader: fix loader_open_render_node_platform_devices result allocation Mesa 26.1.6 Release Notes / 2026-07-29 ====================================== Mesa 26.1.6 is a bug fix release which fixes bugs found since the 26.1.5 release. Mesa 26.1.6 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.1.6 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 --------- - Ambient occlusion is broken in The Chronicles of Riddick - Assault on Dark Athena - Blockland crashes when shader quality turned up - Doom Eternal - Page Fault - somewhat reproducable. (RX9070) - Horizon Forbidden West misrendred lighting effects on BMG - Regression. VTK polydata. gl_PrimitiveID requires explicit geometry shader with versions 25.3.6 and later. - [ANV][PTL] - Horizon: Forbidden West regression in shader quirk - [VAOn12] Thread safety issues - [amdgpu] Little Inferno rendering issues starting with Mesa 21.1 - [radeonsi] eglinfo 'libEGL warning: failed to get driver name for fd -1' - anv: bottom-of-pipe timestamp latched before vkCmdDispatch completes (Arc B390 / Panther Lake, Mesa 26.1.4), breaking wgpu compute-pass timings - anv: cooperative matrix loads from shared memory return the wrong tile on Arc B390 (Xe3/PTL), matmul results are wrong - radeonsi/VCN: AV1/HEVC encode reports a coded size larger than the coded buffer, client segfaults reading the mapped buffer - radv: acceleration structure update (refit) of AABB geometry loses intersection candidates (NAVI32, Mesa 26.1.4) - segfault v3d raspberry Pi5 h265 hw decoding / regression mesa 26.1.3/26.1.4 - vulkan/runtime: GetPipelineBinaryDataKHR incorrectly assumes \`pPipelineBinaryDataSize` must be 0 initialized Changes ------- Adam Stylinski (1): - nv30: fix an issue when this push buffer is NULL Benjamin Cheng (1): - ac/vcn_enc: Disable var slice for preencode with VCN4 Caio Oliveira (2): - nir: Account for cmat memory accesses in copy_prop_vars - anv: Include build and device identity in shader binary UUID Connor Abbott (2): - tu: Fix resetting command streams with writeable BOs - tu: Fix condition for skipping emitting aprons Danylo Piliaiev (6): - tu: Custom resolve should always use AVOID_CCU layout - tu: Fix subsampled metadata and blit emission for separate stencil - tu: Fix gfx_write_access checking for TRANSFORM_FEEDBACK_COUNTER_READ_BIT - tu: Fix blit_cache_cleaned never being set to true - nir: Include scalarized component offsets in UBO ranges - tu: Dirty LRZ after changing attachment locations disable LRZ writes David Rosca (6): - vulkan/video: Fix coding AV1 decoder/encoder_buffer_delay - vulkan/video: Don't code AV1 decoder model info when not present - vulkan/video: Fix coding AV1 operating points - d3d12/video: Don't reset batches in fence_wait - vulkan/video: Fix coding H265 ref pic list modification lists - vulkan/video: Fix coding H265 SPS pcm block sizes, inter ref pic set and lt refs Dmitry Baryshkov (1): - tu: limit VALVE_fragment_density_map_layered to Vulkan 1.1 devices Emma Anholt (1): - freedreno: Don't force image component A=1 substitution on R/RG textures. Eric Engestrom (9): - docs: add sha sum for 26.1.5 - .pick_status.json: Update to 112793b456b492bf2a6e925210c16229f3643a8a - .pick_status.json: Mark cb52837735756ddcac12b3c6b9b32ed6cfb6347e as denominated - .pick_status.json: Mark 7999060992e9cee91d1962faf65dc4e5c6fe4f69 as denominated - .pick_status.json: Mark 2515024a5919ed14fe05471e3f1f89c54a454610 as denominated - .pick_status.json: Mark 4fd93a0039a07ec2027f2a6d1d252c73ed033e0a as denominated - .pick_status.json: Mark adca1f255fd5cb9702db1e0a2bc25d13a521ae5f as denominated - pick-ui: turn commit.date into a (cached) property - pick-ui: show MR number for additional context Erico Nunes (1): - ci: lima farm maintenance Filip Gawin (2): - nv30: fix 1 << 31 issues - nv30: fix another left shift cannot be represented in type 'int' Frank Binns (2): - pvr: rearrange some functions in pvr_arch_border.c - pvr: setup all format fields for custom border color entries Frank Bouwer (1): - pvr: Fix for depth stencil 2d array writes. Georg Lehmann (3): - nir/opt_dead_write_vars: handle atomics as reads - nir: fix divergence for deref_cast - aco/live_var_analysis: make sure shared vgprs are within the encodable vgprs Ian Romanick (1): - brw: Handle empty top block in brw_nir_move_interpolation_to_top Iván Briano (1): - anv: fix 2d-array to 3d blits Jaakko Jokinen (1): - nir: Add cases to nir_get_io_offset_src_number() JaeHoon Lee (7): - v3dv: make room in the descriptor map for the no-sampler entries - v3dv: use the binning VS variant for the binning VPM config - v3dv: record the multiview geometry shader with its Vulkan stage bit - v3dv: record the no-op fragment shader with its Vulkan stage bit - nvk: free copy_memory_indirect_temps on command buffer destroy - v3dv: avoid restoring stale descriptor state after a meta op - nvk: report fills from memory correctly Jan Meisel (2): - nir/range_analysis: handle msad_4x8 in unsigned upper bound - radeonsi/vcn: fail feedback for truncated encodes Jiyu Yang (1): - panfrost: cleanup precomp_cache on screen destroy Jose Maria Casanova Crespo (1): - broadcom/compiler: don't leak the compile on assembly allocation failure Juan A. Suarez Romero (1): - v3d: save fragment constants on sand8/sand30 blit Karol Herbst (3): - rusticl/memory: return 0 for CL_IMAGE_SLICE_PITCH also for 2d images - rusticl/kernel: add libclc source hash to kernel shader keys - vtn/opencl: fix libclc needing fp16 lowering to fp32 Konstantin Seurer (1): - radv/bvh: Fix updating acceleration structures containing AABBs Lionel Landwerlin (6): - anv: flush accumulated barriers for top of TOP_OF_PIPE - anv: fix Wa_18040903259 - vulkan/runtime: fixup vk_shader leak on RT group recompile - anv: add workaround for atomics on R11G11B10 images - brw: fix wa_18019110168 lowering - anv: fix leak in RT binding point Loïc Molinari (1): - u_blitter: Fix out-dated draw_rectangle handler doc Marek Olšák (5): - radv: fix determining the raster prim for guardband - radv: fix determining the raster prim for line mode - radv: fix determining the dynamic raster prim for FS barycentrics - radv: fix determining the static raster prim for FS barycentrics and front_face - radv: don't expose memory types from AMD_device_coherent_memory without the ext Natalie Vock (3): - nir/opt_loop: Don't peel header blocks that jump - radv/nir: Clean up descriptor index lowering - radv: Expose mutable acceleration structure descriptors Olivia Lee (1): - panvk/csf: flush primitives generated query writes from CSF Pavel Ondračka (1): - nv50_ir_ra: align B96 spill slots to vec4 Peng_Lx (1): - turnip/kgsl: close the dma-buf fd of our own allocations Pohsiang (John) Hsu (1): - d3d12: fix msvc build warning C4819 Rhys Perry (5): - vulkan/bvh: fix to_emulated_float(-0.0) - vulkan/bvh: don't update min/max_bounds with inactive nodes - vulkan/bvh: enable SignedZeroInfNanPreserve in leaf.h - vulkan/bvh: limit valid 32-bit node keys to 0xfffffe00 - ac/nir/ngg: don't shrink device-scope memory barriers Ryan Mckeever (1): - docs: advertise VK_KHR_multiview support for Bifrost Sushma Venkatesh Reddy (1): - intel/dev: Clamp PTL+ CS workgroup threads to 32 Tacodiva (1): - vulkan/runtime: Fix bad assumption in GetPipelineBinaryDataKHR Timothy Arceri (6): - zink: fix swap interval changes being dropped - util: add Blockland workaround for crash - nir/opt_dead_write_vars: handle memcpy_deref as reads - util/mesa: add workaround to zero invalidated buffers - util: add workaround for Riddick using round() in glsl 1.20 - llvmpipe: emit FS input vertex attributes in driver location order Toshinari Morikawa (1): - egl: avoid calling loader_get_driver_for_fd with fd = -1 Valentine Burley (5): - ir3: Fix ballot_components for subgroups smaller than 32 - ir3: Derive max_variable_workgroup_size from device limits - ir3: Compute subgroup_size from threadsize_base - tu: Use computed subgroup size - tu: Report correct maxFragmentInputComponents limits Vinson Lee (1): - util/tests: silence unused iterator warning in sparse_bitset_test Yiwei Zhang (3): - venus: properly check sync2 enablement - venus: host image copy to scrub present_src layout if needed - venus: ensure cached vn_ring_submit batches are bounded utzcoz (1): - virtio: magma-gpu-rs: accept a null device in virtgpu_kumquat_finish