Mesa 26.1.7 Release Notes / 2026-08-12¶
Mesa 26.1.7 is a bug fix release which fixes bugs found since the 26.1.6 release.
Mesa 26.1.7 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.7 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¶
Confidential issue #15670
D3D12: last vertex’s non-zero-offset attribute fetched as 0 with a tightly-packed interleaved vertex buffer (AMD D3D12 only, regression since 24.1)
RADV NIR optimization bug
Regression: HEVC hardware decoding (VA-API) fails with “invalid UVD command 5!” on Stoney Ridge (amdgpu) in Mesa 26+
[ANV][ARC] Space engineers 2 Artifacts
[GR Breakpoint] Inverted frustum culling for grass meshes on Linux
[NVK/Kepler] NAK compiler panic in assign_regs.rs: “Failed to find free register” when launching wgpu application (Zed)
nir_opt_copy_prop_vars validation failure with Rusticl OpenCL kernel shaders
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
radv: descriptor heaps do not support non-uniform indexing on buffer pointers
radv: vkCopyMemoryToImage segmentation fault with block-compressed formats when memoryRowLength is non-zero
tu: assertions in tu_formats.cc: Assertion `fmt.fmt != FMT6_NONE’ failed
Changes¶
Benjamin Cheng (2):
ac: Fix guardband calculation for large viewports
ac/uvd_dec: Only send SESSION_CONTEXT_BUFFER if needed
Caio Oliveira (3):
nir, spirv: Match debug printf argument alignment with u_printf
nir, spirv: Pad 3-component debug printf arguments to 4 components
brw: Respect execution mask when resetting GS control data
Christian Gmeiner (2):
etnaviv: Drop stale stream output relocs in etna_update_hwxfb(..)
etnaviv: Turn the sampler parameter loads into constants
Connor Abbott (1):
tu: Use correct pointer for vis stream patchpoint cs fence
Danylo Piliaiev (4):
tu: Fix tu_event not being reset on creation
tu: Merge disable_write_for_rp from secondary to primary
tu: Fix memory leak of FDM patch-points
tu: Fix vkResetQueryPool for pipeline statistics query
David Rosca (1):
radeonsi/mm: Don’t use HEVC per slice loop filter across slices on old FW
Derek Lesho (1):
zink: Fix zink_bo_unmap synchronization for client pointer support.
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
Eric Engestrom (3):
docs: add sha sum for 26.1.6
.pick_status.json: Update to 4e171a2330deb370bbf2c3afc1887727b9e06cbd
.pick_status.json: Mark fa63afe272482cc8c6a1fad6f006d740173d09ca as denominated
Frank Binns (1):
zink: gate some EXT_descriptor_indexing related code
Georg Lehmann (5):
nir/unsigned_upper_bound: fix float to int conversions
nir: mark some AMD specific shuffles as subgroup ops
aco/optimizer: fix skip_smem_offset_align
nir: support phi sources in nir_rematerialize_deref_in_use_blocks
nir/to_lcssa: fix progress for derefs
Gyeyoung Baek (8):
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
Ian Romanick (1):
brw/validate: Gfx11 can’t have accumulator src0 in 3-src instructions
JaeHoon Lee (1):
v3dv: check for a failed default attribute values allocation
Jeremy Huddleston (2):
llvmpipe: don’t create a screen when the process is not allowed to JIT
glx/apple: silence OpenGL deprecation warnings in libglx
Jesse Natalie (2):
d3d12: Disable vao fast path for AMD
mesa: Fix shared state bookkeeping for dynamic share list changes (wglShareLists)
Jose Maria Casanova Crespo (4):
vc4: save the fragment constant buffer around the YUV blit
vc4: unbind the textures around the blitter clears
v3d: cap CL BO growth when doubling
v3dv: cap CL BO growth when doubling
Karol Herbst (8):
nouveau: Fix return of dangling pointer in nouveau_fence_new
clc: make libclc optional for configs not needing it
clc: use our downstream fork of libclc
rusticl: warn if we load not our own libclc fork
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
Linermao (1):
virgl: Close winsys fd after destroying screen
Lionel Landwerlin (8):
anv: fix barrier for Wa_1508744258 / Wa_14024015672
iris: fix barrier for Wa_1508744258 / Wa_14024015672
jay: copy resource_intel surface handle value
anv: fixup the logic dealing with STATE_BYTE_STRIDE
anv: only consider active view-capable queues for image views
anv: fix CmdWaitEvents2 dependencyFlags usage
brw: fix non register aligned MOV_INDIRECT source
vulkan/runtime: reindex internal bits
Lorenzo Rossi (1):
pan/bi: Propagate swizzle in bi_optimizer_result_type
Lucas Stach (7):
etnaviv: clean up index buffer handling code a bit
etnaviv: move index buffer handling in draw_vbo after derived state handling
etnaviv: reserve state emission space early in draw_vbo
etnaviv: move sampler source update before draw space reservation
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 (1):
svga: Pass buffer handle for fd handles for resource_from_handle()
Mary Guillemard (2):
nvk: Reenable compression support on Turing with nouveau 1.4.3
nak: Do not encode a RZ for src2 on FMNMX
Mel Henning (1):
nak: Serialize carry access in instr_sched_prepass
Nick Hamilton (1):
glthread: fix check for unroll draws using user VBOs when the ctx supports GLES
Rahul Mahantappa Bhadrashette (1):
radeonsi: emit MESHLET registers for mesh shaders in gfx10_emit_shader_ngg
Rhys Perry (3):
nir/load_store_vectorize: rework barriers to use entries
nir/load_store_vectorize: recreate entry key when adding from predecessor
vtn: don’t fail at uniformity decorations on variables and OpBufferPointer
Rob Clark (1):
nir: Add missing lower_io case
Samuel Pitoiset (5):
radv: fix invalid assertions in DGC when queues aren’t enabled
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
Valentine Burley (3):
zink: Use ShaderLayer capability for gl_Layer when available
freedreno: Increase reg_size_vec4 for A702
freedreno: Fix VPC_RAST_STREAM_CNTL register layouts
Vlad Zahorodnii (1):
wsi/wayland: Add support for wl_fixes.ack_global_remove
Yiwei Zhang (1):
venus: amend VK_EXT_ycbcr_image_array advertisement
Zan Dobersek (1):
tu: fix R64 image clears via non-generic clear code path