Mesa 25.1.5 Release Notes / 2025-07-02

Mesa 25.1.5 is a bug fix release which fixes bugs found since the 25.1.4 release.

Mesa 25.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 25.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: 3c4f6b10ff6ee950d0ec6ea733cc6e6d34c569454e3d39a9b276de9115a3b363  mesa-25.1.5.tar.xz
SHA512: ac44aab7ba0aa22f054c6a50fbb92fea5e78ebaea3ed7b4a6f652e1c894375cc8bb383e94390b1b0b956a07b950b0edfa718fb4235b878292246532f59373552  mesa-25.1.5.tar.xz

New features

  • None

Bug fixes

  • Confidential issue #13432

  • dzn: dzn_meta_init may return VK_SUCCESS when failing, leading to application crashes

  • brw_nir_lower_cmat produces invalid NIR for OpVariable initializers

  • src/asahi/lib/meson.build:65:52: ERROR: Unknown variable “inc_virtio_vdrm”.

  • hasvk_tests: ../src/vulkan/runtime/vk_log.c:40: vk_object_to_device: Assertion `obj->device’ failed.

  • radv: android: Why `VkNativeBufferANDROID::handle::numFds` must be 1 in function `radv_image_from_gralloc`

  • Regression: Mesa 25.1.1 causes ground texture flickering in DOTA 2

  • GPU process crash via WebGPU shader - wild-deref in Mesa try_opt_exclusive_scan_to_inclusive

  • mesa:freedreno / cffdump-shadow failure

Changes

Adrián Larumbe (2):

  • panfrost: Fix Panfrost BO leak in error handling path

  • panfrost: Add missing util_range_init()

Alyssa Rosenzweig (2):

  • asahi,hk: fix ts allocation for more shader types

  • asahi: flush around XFB

Antonino Maniscalco (1):

  • zink: wait for sparse queue to go idle

Boris Brezillon (1):

  • pan/layout: Fix size_B calculation for AFBC(3D)

Calder Young (1):

  • anv: Fix typo when checking format’s extended usage flag

Christopher Gautier (1):

  • panfrost, panvk: The size of resource tables needs to be a multiple of 4.

Dave Airlie (1):

  • nouveau: workaround linear/z rendering interaction

David Rosca (1):

  • frontends/va: Fix SyncSurface when used to sync coded buffer

Doug Nazar (1):

  • glx: Fix memory leak with software dri

Emma Anholt (3):

  • intel/shim: Report support for PXP status.

  • freedreno/a2xx: Disable interpolated input intrinsics.

  • turnip: Fix subpass depth/stencil change detection.

Eric Engestrom (11):

  • docs: add sha sum for 25.1.4

  • .pick_status.json: Update to e2a2663638669e56960b89ba438cec590b70bcda

  • .pick_status.json: Mark 3778b2226890345042f5869a8552fc55c8ea6998 as denominated

  • hasvk: only run tests on x86 (32 & 64 bit)

  • intel/compiler tests: rewrite subprocess handling in run-test.py

  • intel/compiler tests: fix path-to-string conversion

  • intel/compiler tests: fix “is there something after the options” check

  • intel/compiler tests: fix variable type for getopt_long() return value

  • meson: allow “venus without virgl” builds

  • meson: fix vdrm inclusion logic

  • freedreno/drm: fix libvdrm inclusion logic

Erik Faye-Lund (1):

  • pan/bi: rework memory barriers

Faith Ekstrand (4):

  • nir/lower_input_attachments: Stop assuming tex src indices

  • nir/lower_input_attachments: Don’t ignore tex coordinates

  • nak: Tell NIR to lower invalid implicit LODs

  • nak: I/O offsets are unsigned when combined with RZ

Georg Lehmann (1):

  • nir/opt_intrinsic: fix inclusive scan rewrite with multiple uses

Hans-Kristian Arntzen (1):

  • radv: Timestamps are not valid on dedicated sparse queue.

Iván Briano (1):

  • anv: move view_usage check to before setting the protected bit on it

James Price (1):

  • spirv: Fix cooperative matrix in OpVariable initializer

Jesse Natalie (1):

  • dzn: Roll up initialization failure in dzn_meta_init

Jose Maria Casanova Crespo (2):

  • v3d: Avoid fast TLB blit if reused job doesn’t store the color buffer

  • v3d: fix support for no buffer object bound

José Roberto de Souza (1):

  • Revert “anv: Enable preemption due 3DPRIMITIVE in GFX 12”

Konstantin Seurer (1):

  • lavapipe: Suspend conditional rendering around ray tracing dispatches

Lionel Landwerlin (4):

  • anv: only use compressed memory types on Xe2+

  • isl: handle DISABLE_AUX in get_mcs_surf

  • anv: fix clears on single aspect of YCbCr images

  • anv: fix sampler hashing in set layouts

Marek Olšák (1):

  • radeonsi: don’t clamp the shadow comparison value for nir_texop_lod on gfx8-9

Mike Blumenkrantz (1):

  • zink: don’t use TRANSFER bit as default pipeline stage if no access is set

Olivia Lee (2):

  • panfrost: fix depth clip range with u_blitter

  • panvk: return error when mmap fails in BindImageMemory2 and BindBufferMemory2

Patrick Lerda (2):

  • r600: make vertex r10g10b10a2_snorm conformant on palm and beyond

  • r600: fix emit_image_load_or_atomic() snorm formats

Pierre-Eric Pelloux-Prayer (3):

  • radeonsi: check set_debug_callback before use

  • radeonsi: transition to TC-compatible HTILE on full clears

  • ac/virtio: fix alignment of metadata command

Rhys Perry (3):

  • aco/lower_branches: keep blocks with multiple logical successors

  • nir/lower_bit_size: fix bitz/bitnz

  • aco: update ctx.block when inserting discard block

Rob Clark (3):

  • freedreno/a6xx: Fix max_threads to account for reg footprint

  • freedreno/a6xx: Fix thread calc for dummy kernels

  • rusticl: Fix work group size validation

Romaric Jodin (1):

  • panvk: fix bi_emit_alu calling bi_make_vec_to

Ryan Houdek (1):

  • tu: Fixes missing sse2 flags

Sagar Ghuge (1):

  • anv: Apply flush during WriteAccelerationStructures

Samuel Pitoiset (1):

  • radv: gather nir shader info at the end of radv_optimize_nir()

Timothy Arceri (1):

  • dri: fix __DRI_IMAGE_FORMAT* to PIPE_FORMAT* mappings

Vinson Lee (1):

  • freedreno: Sort MRTs so output is stable

Yiwei Zhang (4):

  • radv: relax the native_handle_t::numFds requirement

  • u_gralloc/mapper5: fill u_gralloc_buffer_color_info properly

  • u_gralloc/mapper4: fill u_gralloc_buffer_color_info properly

  • venus: fix msaa state sample location info sanitization

mojyack (1):

  • mesa: reorder mesa format corresponding to GL_BGRA