Mesa 25.2.3 Release Notes / 2025-09-17¶
Mesa 25.2.3 is a bug fix release which fixes bugs found since the 25.2.2 release.
Mesa 25.2.3 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.2.3 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: f2d6b28562f1d6cb9c17ee8e58eeade7aa5faf927ae71065eadb41e17f92b4f8 mesa-25.2.3.tar.xz
SHA512: e03c09de2a6482a87362c0bf4fab4f9b32ffa48935a8724eb83e75b246f1bfc59524d04ea7e8cbea34e5c6ad2a0793195a076fe2d27da8fb7e05f56c7662eac5 mesa-25.2.3.tar.xz
New features¶
None
Bug fixes¶
Regression since mesa 25.2.0: applications waiting for dGPU to start
virgl: guest memory leak with qemu + virtio-gpu-gl
iris: Assertion failures in piglit tests on all platforms
Minecraft 1.12.2 visual artifacts when running on zink/radv
[ANV] [REGRESSION] PCSX2/Midnight Club 3 crashes with VK_ERROR_DEVICE_LOST on Mesa 25.0.7
Hollow Knight Silksong segfaults with zink on radv
zink: crash in KHR-GL46.framebuffer_blit.scissor_blit
turnip: FDM failures with forcebin
ARB_vertex_program and ARB_fragment_program are broken
nvk: test_conditional_rendering fails on vkd3d-proton
Changes¶
Boris Brezillon (2):
panvk/jm: Preload the FB even if we have no draws queued
panfrost: Fix panfrost_batch_to_fb_info() for stencil-only attachments
Caio Oliveira (3):
util: Avoid invalid access in ralloc_print_info()
brw: Run validation as soon as we have the CFG around
brw: Fix printing of blocks in disassembly when BRW is available
Christian Meissl (1):
panfrost: take reference from pool used for allocation
Christoph Neuhauser (1):
iris: Increase max_shader_buffer_size to max_buffer_size
Connor Abbott (1):
tu: Lower ViewIndex to 0 when multiview is disabled
Corentin Noël (1):
virgl: Skip resource destruction only when there are actually needed references
Danylo Piliaiev (2):
tu: Reset rp_trace on tu_reset_cmd_buffer
egl: Bring back util_cpu_trace_init
David Rosca (2):
radv/video: Set rate control to default on reset
radeonsi/vcn: Fix calculating QP map region dimensions
Dylan Baker (1):
intel/brw: Fix implementaiton of |= operator for enum
Ella Stanforth (1):
util/list: Fix next instruction removal usecase for non safe iterators
Eric Engestrom (9):
docs: add sha sum for 25.2.2
.pick_status.json: Update to f99230cc67b0af4d403374a7c12529e566590a8b
.pick_status.json: Mark 83bf75e307b2171094811884dbd350399cf145ba as denominated
.pick_status.json: Mark 22606815722fdc36ecb8afb4a21a825f1b459e1f as denominated
.pick_status.json: Mark a09d18a316efb339c0ace43c4f3192cac169df4a as denominated
.pick_status.json: Mark d68344bffe893c1ecaa63ce5f2795c3479517da6 as denominated
.pick_status.json: Mark 87ce4c6ca4a13952a5b0658c94d638cf52afaed0 as denominated
.pick_status.json: Mark bd074a542e203255f1daa5657fd09b88d2e6679e as denominated
.pick_status.json: Mark aed7e7add135bbf33de689048a2766ea9e7f095f as denominated
Eric R. Smith (2):
panfrost: fix typo in register allocation
panfrost: fix debug print of spilled registers
Erik Faye-Lund (2):
panvk: fix up vk1.4 properties
aux/pp: fixup sampler-view release
Georg Lehmann (2):
mesa: clamp fog scale to -FLT_MAX instead of FLT_MIN
aco/isel: fix output args init stack buffer overflow
Ian Romanick (1):
iris: Limit max_shader_buffer_size to INT32_MAX
Job Noorman (1):
ir3: don’t create merge sets for subreg moves
Jose Maria Casanova Crespo (2):
v3dv: Fix stencil clear values for only stencil clears
v3d: Don’t enable Early-z with discards when stencil updates are enabled
Karol Herbst (2):
nak/qmd: import size_of for rust-1.78 compatability
rusticl/mem: fix Image::read for 1Darray images
Lionel Landwerlin (1):
anv: fix partial queries
Mary Guillemard (2):
pan/decode: Fix SYNC_SET32 double dots
panvk: Fix wrong type for sb_mask in CmdSetEvent2
Mel Henning (2):
nvk: Clear cond_render_gart_* in reset_cmd_buffer
nvk: Clear second SET_RENDER_ENABLE operand
Mike Blumenkrantz (15):
tc: don’t unset resolve resource in set_framebuffer_state
zink: add another flag to determine whether linked program compile is done
zink: toggle ctx->has_swapchain when flushing clears
zink: flag pipeline_changed when updating shader modules
zink: clamp subgroup op return types to required int/uint types
zink: fix edgeflags check on program creation
zink: correctly handle batch_id==0 in check_last_finished()
zink: only set compute module info on dispatch (after compile fence)
zink: set current compute prog after comparing against current compute prog
zink: ensure transient surface is created when doing msaa expand
zink: flag vertex element state for rebind after vstate draws
zink: use implicit offsets for function temp variables in ntv
cso: unbind vertex buffers when unbinding context
zink: stop unsetting zink_gfx_pipeline::modules on shader unbind
zink: don’t use screen ralloc context for screen::pipeline_libs
Nanley Chery (2):
anv,hasvk: Take trace submission ID out of lock
anv: Rework locking for sparse binding with TR-TT
Patrick Lerda (3):
r600: fix r600_resource_copy_region behavior for some formats
r600: update multi_draw_indirect_params drm version requirement
r600: fix emit_ssbo_atomic_op when ssbo_image_offset is non-zero
Qiang Yu (1):
panfrost: fix image plane array copy
Quentin Schulz (3):
nvk: remove unused relative_dir variable
meson: replace global_source_root/global_build_root with project_*
meson: fix libcl assert() reproducibility
Rhys Perry (1):
aco: avoid wraparound for smem global loads with both offsets
Rob Clark (1):
freedreno/registers: Re-enable validation for gen_header.py
Sagar Ghuge (1):
isl: Respect driconf option for EnableSamplerRoutetoLSC
Samuel Pitoiset (5):
radv: fix vk_error in radv_update_preambles()
radv: fix capture/replay with sampler border color
spirv: add missing non-uniform access for SSBO atomics
radv/meta: fix saving push constants for depth/stensil resolves on compute
radv: set DRLR mapping info from inheritance info when present
Sviatoslav Peleshko (1):
anv: Always disable Color Blending for unused Render Targets
Tapani Pälli (1):
egl: allocate device info lazily only when queried
Timur Kristóf (6):
radv/amdgpu: Fix crash with RADV_DEBUG=noibs
radv/amdgpu: Use correct NOP packets when unchaining a CS
radv/amdgpu: Don’t use IB2 on GFX6 (for now)
radv: Don’t use EVENT_WRITE_EOS on GFX7
radeonsi: Flush L2 for render condition when CP can’t use L2
radv: Flush L2 before CP DMA copy/fill when CP DMA doesn’t use L2
Valentine Burley (1):
tu: Enable robustBufferAccessUpdateAfterBind
Yiwei Zhang (3):
radv: bind aliased wsi image at memory offset zero
nvk: bind aliased wsi image at memory offset zero
tu: bind aliased wsi image at memory offset zero
Yonggang Luo (1):
tgsi: Fixes ntt_should_vectorize_io parameters