The Mesa 3D graphics library, an open-source implementation of various graphics APIs including OpenGL, Vulkan, and OpenCL, has released a new bug-fix version, Mesa 25.2.3. This release includes numerous fixes and improvements to ensure stability and compatibility with various hardware configurations.
Documentation updates were added for previous versions, marking certain commits as deprecated and creating release notes for the current version. The pick status file was updated to reflect changes in the codebase.
A bug in Panfrost was fixed by taking a reference from the pool used for allocation. The maximum shader buffer size in Iris was increased to match the buffer size limit. The view index was adjusted when multiview is disabled, and resource destruction in virgl was improved.
The rp trace on tu_reset_cmd_buffer was reset, and util_cpu_trace_init was brought back in egl. Rate control was fixed in radv/video, and QP map region dimensions were calculated correctly in radeonsi/vcn. The |= operator for enums was implemented in intel/brw.
An issue with next instruction removal using non-safe iterators in util/list was fixed. A typo in register allocation and debug print of spilled registers in Panfrost was corrected.
The fog scale was clamped to -FLT_MAX instead of FLT_MIN, and output argument initialization stack buffer overflows in aco/isel were fixed. Max_shader_buffer_size was limited to INT32_MAX in iris. Merge sets for subreg moves in ir3 were avoided.
Stencil clear values for only stencil clears in v3dv were fixed, and early-z with discards when stencil updates are enabled in v3d were disabled. 1D array images in rusticl/mem were read correctly, and size_of was imported for rust-1.78 compatibility in nak/qmd.
Partial queries in ANV were fixed, while SYNC_SET32 double dots in pan/decode and the wrong type for sb_mask in CmdSetEvent2 in panvk were corrected. cond_render_gart_* and the second SET_RENDER_ENABLE operand in nvk were cleared.
Zink, a Vulkan implementation on top of Mesa, received several fixes related to pipeline changes, compute modules, vertex element state rebinds, function temp variables, and more. Vertex buffers were unbound when unbinding contexts, and zink_gfx_pipeline::modules was stopped from being unset on shader unbind.
The trace submission ID was taken out of a lock in ANV, and locking for sparse binding with TR-TT was reworked. r600_resource_copy_region behavior was fixed, the multi_draw_indirect_params drm version requirement was updated, and emit_ssbo_atomic_op when ssbo_image_offset is non-zero was corrected.
Unused relative_dir variables were removed from nvk, global_source_root and global_build_root were replaced with project_* in meson, and libcl assert() reproducibility was fixed. Smem global loads with both offsets in aco were avoided with a wraparound.
Validation for gen_header.py was re-enabled in freedreno/registers, and color blending for unused render targets was always disabled in anv. Device info was allocated lazily only when queried in egl.
Crashes related to incorrect NOP packets and L2 flushing in radv/amdgpu and radeonsi were fixed. robustBufferAccessUpdateAfterBind was enabled in tu. Aliased WSI images at memory offset zero were bound in radv, nvk, and tu. ntt_should_vectorize_io parameters in tgsi were corrected.
mesa 25.2.3
https://mesa.freedesktop.org/archive/mesa-25.2.3.tar.xz
SHA256: f2d6b28562f1d6cb9c17ee8e58eeade7aa5faf927ae71065eadb41e17f92b4f8 mesa-25.2.3.tar.xz
SHA512: e03c09de2a6482a87362c0bf4fab4f9b32ffa48935a8724eb83e75b246f1bfc5 9524d04ea7e8cbea34e5c6ad2a0793195a076fe2d27da8fb7e05f56c7662eac5 mesa-25.2.3.tar.xz
PGP: https://mesa.freedesktop.org/archive/mesa-25.2.3.tar.xz.sig
