Mesa 26.1.4 Release Notes / 2026-07-01¶
Mesa 26.1.4 is a bug fix release which fixes bugs found since the 26.1.3 release.
Mesa 26.1.4 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.4 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: 072705caa9adf4740f1489194b13e278ad959166863b5271fe423a86353c9ab6 mesa-26.1.4.tar.xz
SHA512: 39d15574e876005fd1a483d1cb3c801b08297ec73820a89cbf368d0f2a922cc770d0e623e99acc66b71791332cdadc6cc3095f059f713b09128921ff2d0197a8 mesa-26.1.4.tar.xz
New features¶
None
Bug fixes¶
AV1 videos dropping frames with AMD card
Crash linking cached GLSL shader with optimized array with explicit uniform location
Gunfire Reborn crashes with ring gfx_0.0.0 timeout since Mesa 26.0.0
RADV: RDNA2 Raytracing regression after “aco/lower_branches: Add try_rotate_latch_block() optimization”
Spike in mmap count for vk_cmd_queue regressed dEQP-VK.api.object_management.max_concurrent#command_buffer_*
System freeze when seeking in h264 files with gst-play-1.0 using the VA plugin
[Windows][arm64] Building windows ARM64 with MSVC fails on src\util\u_math.c
[anv] Intel ARC B390 | Hitman 2 | DX11 | Blinking corruptions seen
[anv] negate of INT_MAX calculated as INT_MIN instead of INT_MIN + 1
[anv] wrong value for local variable after nested switch merge
[radeonsi] SIGSEGV in gallivm during software fallback for GL_FEEDBACK with lighting
android14 gpu virgl: Shader memory leak
anv: Assert in alias vkCreateImage
macOS build stuck in infinite loop since 26.1
mesa 26.1.3 does not compile with ARM64 MSVC
radv: incorrect memory accounting for imported bufffers
rusticl: incorrect float16 constant folding
venus: rare flake in dEQP-VK.wsi.android.swapchain.render.basic
Changes¶
Adam Jackson (1):
nvk: use unsigned comparison in UBO bounds checks
Ahmed Hesham (1):
nir: fix vectorising phis with mixed chased sources
Alessandro Astone (1):
anv: Support VK_ANDROID_native_buffer older than version 11
Arkady Shlykov (1):
Add offset getter for image intrinsics
Benjamin Cheng (1):
mesa/st: use col0 attrib from provoking vertex for feedback
Boyuan Zhang (1):
radeonsi/mm: use non-tmz buf when session tmz size is 0
Caio Oliveira (2):
util: Add util_is_half_subnormal()
brw, elk: Fix invalid case using float-negation in combine constants
Christian Gmeiner (12):
etnaviv: Flush texture caches after clears
etnaviv: Add a helper for the 128-bit second-plane offset
etnaviv: Wrap pipe_framebuffer_state in etna_framebuffer_state
etnaviv: Lay out 128-bit color FBO as paired G32R32F render targets
etnaviv: Emit paired 128-bit sampler descriptors
etnaviv: NIR pass to lower 128-bit color RT and texture access
etnaviv: blt: Use block-layout offset for 128-bit second-plane blit
etnaviv: Save the framebuffer without 128-bit companion slots
etnaviv: rs: Support 128-bit color clears
etnaviv: Limit nir_lower_fragcolor(..) to advertised render targets
etnaviv: Disable TS per render target on mixed TS modes
pan/va: Only widen constants on 32-bit instructions
Connor Abbott (1):
nir/lower_amul: fix infinity recursion with different phi source order
Daniel Schürmann (2):
aco/assembler: Fix s_inst_prefetch insertion after loop latch rotation
aco/ra: Fix get_reg_impl() for operand registers
David Rosca (7):
radeonsi/mm: Return error when decoding H264 P/B frame with no refs
radeonsi/mm: Only setup ref surfaces with tier3
radeonsi/mm: Set correct usage in si_dec_fill_surface
vl: Skip transfer function and primaries conversion when not needed
va: Always reset compositor chroma location
va: Use RGB format with matching bit depth for YUV->YUV matrices
radeonsi/mm: Fix setting VPE rotation when horizontal flip is enabled
Eric Engestrom (8):
docs: add sha sum for 26.1.3
.pick_status.json: Update to a6bb4bbd1eaa8b1b8ba9e5df98ed2c9958393e40
gen_release_notes_test: don’t evaluate backslash
gen_release_notes: add support for “work_items” links
docs: fix release notes for 26.1.0
docs: fix release notes for 26.1.1
docs: fix release notes for 26.1.2
docs: fix release notes for 26.1.3
Georg Lehmann (3):
aco/assembler: chain branches in emit order
aco/assembler: don’t reorder branch insertion block index twice
aco/assembler: do not abort when exec is written after position exports
Icenowy Zheng (1):
vulkan: update spec to 1.4.354
JaeHoon Lee (2):
v3dv: only report 16-bit float formats as blendable at 32/64 bpp
vc4: fix last_layer selection in the blit sampler view
Jeremy Huddleston (11):
bin/install_megadrivers: Bail out if libname suffix is never reached
gallium/targets: Use libname_suffix for installed driver names
glx: Fix stale end-comment on __glXInitialize direct-rendering block
glx: drop redundant __glXErrorString forward declaration
glx: fix DRI3-not-available diagnostic skip on macOS
glx: NULL-check frontend_screen in glXCreateContextAttribsARB
glx: simplify FBConfig wire decode
glx: free glx_drawable on CreateDRIDrawable failure
zink: fix GLX_USE_APPLE typo (should be GLX_USE_APPLEGL)
glx/apple: free gc in applegl_destroy_context
glx: fix per-display drawHash / zombieGLXDrawable / dri2Hash leak on GLX_USE_APPLE builds
Jesse Natalie (1):
util: Fix u_math on MSVC arm64
Jianfeng Liu (1):
freedreno/drm: Fix uninitialized read of BO metadata on import
Job Noorman (1):
ir3/opt_prefetch_descriptors: rematerialize defs at preamble start
Juan A. Suarez Romero (8):
v3dv: fix assertion on push constants
broadcom/ci: fix kernel used on the baremetal rpi3 duts
st/mesa: release sampler view
rusticl: fix leak in `util_queue`
v3d: free vertex and constant buffers on context destroy
v3d: add more blitter ops for saving resources
vc4: move util_copy_constant_buffer to the function beginning
vc4: add blitter operations
Karol Herbst (3):
nak: convert base to iadd for non-uniform ldcx lowering
nir/opt_phi_precision: bail on load_const conversions between float and ints
rusticl: move the worker queue into the Platform
Konstantin Seurer (2):
vulkan: Fixes for a spec update
vulkan,spirv: Update spec to 1.4.352
Lionel Landwerlin (5):
brw: remove interpolator coarse bit setting
brw: add shader key to enable robust SLM accesses
anv: add hitman2 workaround for SLM load vectorization
vulkan: condition cmd_queue initialization to driver need
anv/brw: fixup 64bit array image accesses
Marc Alcala Prieto (2):
pan/va: Fix serialization of atomic operations using BI_ATOM_OPC_AUMIN
panvk: Fix DRM format modifiers for multi-planar YUV formats
Marek Olšák (2):
radv: fix setting COMPUTE_DISPATCH_INTERLEAVE on the gfx queue
nir: fix ibfe handling in ssa_def_bits_used
Martin Roukala (né Peres) (1):
freedreno/ci: document more failures for the a750-gl-cl job
Mary Guillemard (1):
nvk: Default to output primitives as lines for tesselation parameters
Matt Turner (2):
gallivm: fix lp_build_round on altivec/VSX
gallivm: fix small_unorm -> unorm8 fetch path on big-endian
Mike Blumenkrantz (8):
zink: when triggering zink_blit_barriers() for src==dst, apply separate barriers
tu: handle partially set resolve attachment info without crashing
vulkan: update spec to 1.4.350
zink: set NO_TASK_SHADER for pipeline layouts with shader objects
zink: always use src stages when flushing glMemoryBarrier calls
zink: always flush specified memory access for glMemoryBarrier calls
zink: free nir if cs program create fails
st/pbo_compute: account for drivers failing to create cs shaders
Paulo Zanoni (1):
anv: don’t put clear colors for aliased images in private bindings
QwertyChouskie (1):
docs/features: Fix typo
Rhys Perry (1):
radv: fix barriers in decompress shaders
Ryan Neph (1):
anv/xe: prevent WaitIdle optimization for fences with exported sync_fd
Sagar Ghuge (1):
anv: Workaround game bug for Witcher3
Sam James (4):
glx: append extra_ld_args_libgl, not clobber
src: add -Wl,–no-fatal-rwx-sections for two libraries
gallium/dri: fix redundant Meson condition
util: remove bogus const attribute
Samuel Pitoiset (11):
radv: fix a synchronization issue with taskmesh and pending cache flushes
radv: fix a synchronization bug with DGC preprocess and taskmesh
radv: workaround game bugs with Sniper Elite 5
spirv: allow mapping readonly buffers with struct members
radv: fix clearing the streamout state on GFX12
vulkan: fix initializing address flags
radv/amdgpu: fix computing allocated VRAM for imported BOs from fd
vulkan: Update spec to 1.4.353
radv: fix a memleak with embedded samplers and descriptor heap
radv: disable VRS with MSAA 8x on GFX11-11.7 to prevent GPU hangs
radv: disable VRS for flat shading with MSAA 8X to prevent GPU hangs on GFX11
Timothy Arceri (1):
util/u_range_remap: allow insert to truncate range
Toshinari Morikawa (1):
virgl: fix memory leak on shader translation
Valentine Burley (3):
panfrost/ci: Move t860 jobs to nightly
zink/ci: Remove zink-anv-cml-asan job
intel/ci: Remove nightly CML jobs, retire runner
Yiwei Zhang (4):
venus: amend roundtrip between fence submit and wait idle
panvk: fix plane indexing for afbc image subres layout
vulkan/android: force linear for mutable format
venus/wsi: skip VkPresentRegionsKHR when pRegions is NULL
Zan Dobersek (1):
fd: lrz_block in fdl6_lrz_layout_init() should not be static
Zeyang Lyu (1):
radv: Add base array layer to htile offset
ljohnson (1):
venus/wsi: deep copy pRectangles when cloning presentation info
yserrr (1):
v3d: remove duplicate util_blitter_save_so_targets() call