Mesa 25.1.6 Release Notes / 2025-07-16¶
Mesa 25.1.6 is a bug fix release which fixes bugs found since the 25.1.5 release.
Mesa 25.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 25.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¶
SHA256: 9f2b69eb39d2d8717d30a9868fdda3e0c0d3708ba32778bbac8ddb044538ce84 mesa-25.1.6.tar.xz
SHA512: f6ee07d1a44095106463d0fcef18cf3953b36f86ffda1a1549dcbb8c1a89189f0cbbe66bf556d594140e9a855583972774251f2c0763f73fce77155f18ae6d2b mesa-25.1.6.tar.xz
New features¶
None
Bug fixes¶
v3dv: regression in vkAllocateMemory importing gbm bo
Vulkan WSI (and zink) use threads on X11 even when the X connection isn’t thread-safe
sddm-greeter-qt segfault when using nvk+zink
[regression][bisected] [FirePro W4100]: crashing/rebooting
Descriptor set layout with binding flags fails due to indices not matching bindings
piglit bindless texture tests crash
[radeonsi] Artifacts in Team Fortress 2 (bisected)
eglgears_wayland segfault on zink+nvk with PRIME
vn_renderer_virtgpu.c:13:10: fatal error: ‘xf86drm.h’ file not found
brw: mad instruction printing broken on Gfx11
radv: RGB9E5 rendering does not ignore alpha write mask
Confidential issue #13431
Changes¶
Autumn Ashton (1):
radv: Fix handling of NULL pColorAttachmentLocations in vkCmdSetRenderingAttachmentLocations
Boris Brezillon (1):
panvk: Lower maxImageDimension{2D,3D,Cube} to match the HW caps
Caio Oliveira (1):
brw: Use the right width in brw_nir_apply_key for BS shaders
Calder Young (3):
iris: Fix issue with conditional dispatching
anv: Fix tiling for H.265 and VP9 video surfaces on GFX 12.5+
isl: Set tiling requirements for video surfaces
Caleb Callaway (3):
iris: re-emit push constants at compute batch start
iris: ISP invalidate at end of compute batches
anv: Increase max VBs to 33 on Gen11+
Charlotte Pabst (1):
mesa: clear program info when updating program string
Daniel Stone (1):
vulkan: Remove build-system remnants of wl_drm support
David Rosca (3):
frontends/va: Fix leaking fences in GetImage/PutImage
radeonsi/video: Set correct minimum size for VP9 decode
radv/video: Set correct H264/5 decode minCodedExtent
Eric Engestrom (18):
docs: add sha sum for 25.1.5
.pick_status.json: Update to 5ee3c10d1edf4663980e8ea759a58dcc054efb71
.pick_status.json: Mark abe23e1cd051f4f021098ba58f1fc3d79bedfd90 as denominated
.pick_status.json: Mark 85e4a19ed13cd56cc31ca85599acd70ff4f6221a as denominated
.pick_status.json: Mark 6ad0b59cc8241d2dceecd7c9c6b8edb3ca18c942 as denominated
.pick_status.json: Mark 2f5ff9788a61fdbed43a510ce082940194aa2c8d as denominated
.pick_status.json: Mark 94f42bb201a95dded207d9d3ad3618c018cd0e02 as denominated
.pick_status.json: Mark 0a581e7408a91eec1be7764b945e74668d84f9be as denominated
.pick_status.json: Mark 485b520cf29818768a755077adecdeee734e32b4 as denominated
virtio: move inc_virtio up one folder
meson: split subdir for virtio/vdrm and virtio/vulkan
bin/symbols-check: fix fields length condition before accessing fields
bin/symbols-check: ignore `nm` lines that don’t have a symbol name
bin/symbols-check: ignore version of platform symbols
bin/symbols-check: sort platform symbols
bin/symbols-check: document new platform symbols exported since symbols-check was broken
meson: only run symbols-check if `nm` is available
freedreno/ci: fix a750-piglit-cl rules
Erik Faye-Lund (2):
st/pbo: use sized nir-types for download-path
panfrost: limit sample_shading to bifrost and later
Faith Ekstrand (6):
nak: Surface handles are not allowed to be rZ
zink: Clean up file descriptor closing in export_dmabuf_semaphore()
zink/kopper: Don’t recycle unused acquire semaphores
loader: Report DRI_PRIME errors earlier
egl/wayland: Refuse to initialize Zink+DRM
vulkan/wsi/x11: Refuse to connect to thread-unsafe Displays
Gorazd Sumkovski (1):
panfrost: Fix incorrect condition in assert
Jordan Justen (2):
anv: Set Xe3 as supported
intel/dev: Enable PTL PCI IDs (without INTEL_FORCE_PROBE)
Jose Maria Casanova Crespo (2):
v3d: Fix depth resource invalidation with separate_stencil
v3dv: Do not increase TFU READAHEAD for imported buffers size
José Roberto de Souza (3):
anv: Read the correct register for aux table invalidation when in GPGPU mode in render engine
anv: Flush before invalidate aux map in copy and video engines
anv: Do not emit batch_emit_fast_color_dummy_blit() for video engine
Konstantin Seurer (1):
llvmpipe: Use the correct field to decide if coroutines are used
LingMan (1):
meson: Streamline silencing of warnings in bindgen generated code
Lionel Landwerlin (3):
anv: rework embedded sampler hashing
anv: do not rely on sampler objects for pipeline compilation
genxml: fix 3DSTATE_TE definition on Gfx12.[05]
Marek Olšák (1):
glsl: fix a possible crash in gl_nir_lower_xfb_varying
Mary Guillemard (4):
pan/genxml: Fix wrong size for compute size workgroup
pan/bi: Do not allow passthrough for instructions disallowing temps
pan/bi: Disallow FAU for CLPER in bi_check_fau_src
panvk: Fix wrong reporting of subgroup size for executable properties
Mel Henning (3):
meson: Allow unnecessary_transmutes for bindgen
egl: Clear modifiers if we clear use_flags
nouveau/headers: Stop running rustfmt
Mike Blumenkrantz (9):
aux/trace: always finish dumping draw/dispatch calls before triggering them
zink: don’t modify the u_foreach_bit64 bit inside the loop in loop_io_var_mask()
zink: fix acquire semaphore sync
zink: fix submit_count disambiguation for bo usage checks
zink: always insert current batch sparse semaphore into sparse wait chain
lavapipe: fix advertised depth resolve modes
zink: double-check descriptor layout creation before adding to cache
zink: always create gfx shader objects with 5 descriptor layouts
zink: lock harder around memory mappings
Olivia Lee (4):
pan/shared: fix typo in pan_tiling doc comments
panvk: add error checking for dump/trace mmap call
pan/kmod: fix propagation of MAP_FAILED in pan_kmod_bo_mmap
panvk: don’t report features for image formats that are only usable as vertex buffers
Patrick Lerda (3):
r600: fix emit_ssbo_store() wrmask compatibility
r600: set never as the depth compare function when depth compare is disabled
r600: fix rv770 border color
Qiang Yu (1):
radeonsi: fix gfx11 ngg shader emit
Rhys Perry (1):
aco/ra: fix repeated compact_linear_vgprs() in get_reg()
Samuel Pitoiset (7):
radv: stop disabling the alpha optimization with E5B9G9R9 and RB+
radv: disable RB+ with E5B9G9R9 to workaround failures on GFX10.3-GFX11.5
ac/surface: use align with NPOT for estimating surface size
ac/surface: select a different swizzle mode for ASTC formats on GFX12
radv: fix indexing with variable descriptor count
radv: fix the maximum variable descriptor count with inline uniform blocks
radv/sdma: fix unaligned 96-bits copies on GFX9
Sviatoslav Peleshko (1):
brw/disasm: Fix Gfx11 3src-instructions dst register disassembly
Timothy Arceri (2):
util: add workaround for legacy OpenGL tf2
glsl: fix reuse of deref
Vitaliy Triang3l Kuzmin (1):
r600: Fix rectangle coordinate limits on R6xx/R7xx
Yiwei Zhang (6):
meson: drop vdrm from virgl and venus
anv: avoid leaking private binding for aliased wsi image
vulkan/android: fix to not append GRALLOC_USAGE_HW_COMPOSER bit
anv: fix ANB gralloc usage query to not append display usage bits
venus: allow to build vtest-only on non-DRM/KMS systems
hasvk: avoid leaking private binding for aliased wsi image