Mesa 25.2.1 Release Notes / 2025-08-20¶
Mesa 25.2.1 is a bug fix release which fixes bugs found since the 25.2.0 release.
Mesa 25.2.1 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.1 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: c124372189d35f48e049ee503029171c68962c580971cb86d968a6771c965ba4 mesa-25.2.1.tar.xz
SHA512: 913ee1d00e13bafb7275740ba0883cf949a42d45595ef5bab60038064cb27aff36285ac9105269be5c0e3b4320fc7b70ca5c5f28e2cf79457882baff7e10620b mesa-25.2.1.tar.xz
New features¶
None
Bug fixes¶
d3d10umd: Build regression on 25.2.0-rc1
nvk/nak regression: memory_model.message_passing fails on KeplerA
[ANV] dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.whole_r32g32b32_uint_linear and possibly others asserts on LNL
Build dependency on intel_wa.h missing in Intel vulkan driver
Missing polygons/vertices in CS2 on BMG
`vn_ring`: use-after-release crash after `vn_ring_destroy` on Virtio-Vulkan
venus: vkmark –winsys headless segfault (regression)
Vulkan headless WSI crashes when initializing swapchain on Asahi Linux running Apple M1 Max
Changes¶
Alyssa Rosenzweig (1):
agx: gate scratch opt on internal shaders
David Rosca (6):
radv: Add timeout to video encode query
radv: Fix alignment for linear video decode dst images
rusticl/ptr: Fix hidden lifetime warning
ac/vcn_dec: Add av1_intrabc_workaround
radeonsi/vcn: Enable AV1 decode workaround for gfx1153
radv/video: Enable AV1 decode workaround for gfx1153
Derek Foreman (1):
dril: Skip some pipe formats to avoid breaking X
Eric Engestrom (3):
docs: add sha sum for 25.2.0
.pick_status.json: Update to f4808ea46fa2a35ea3138b78c52ed8f8c26f92ce
ci: track changes to new src/x11/ folder
Eric R. Smith (1):
panvk: fix a NULL pointer dereference in occlusion queries
Erik Faye-Lund (2):
panvk: fix EXT_texture_compression_astc_support
pan: use translate_s_format for stencil
Faith Ekstrand (2):
nvk: Allow kepler in nvk_is_conformant()
anv: Set the Shader capability when compiling the FP64 shader
Georg Lehmann (2):
nir/uub: guard against division by 0
aco/isel: fix vectorized i2i16 with 8bit vec8 source
Gert Wollny (7):
r600/sfn: check number of fsat64 source uses properly
r600: Update GPR count when adding a GDS instruction
r600/sfn: factor out adding an input in GS
r600/sfn: Handle indirect access to GS input arrays
r00/sfn: Fix copy propagation into buffer load address
r600/sfn: When splitting an ALU CF update possible start of next CF
r600/sfn: Fix AR use tracking off-by-one error
Iván Briano (2):
anv: check for pending_db_mode when dirtying descriptor mode
anv: dirty descriptor state on CmdSetDescriptorBufferOffets
Job Noorman (1):
ir3/array_to_ssa: fix updating/removing phis
Jordan Justen (1):
intel/dev: Add BMG 0xe209 PCI ID
Karol Herbst (11):
rusticl: use pipe_sampler_view_release
rusticl/mesa: wire up fence_server
rusticl/gl: store the mesa_glinterop_export_in
st/interup: flushing objects is a no-op when no context is bound
rusticl/gl: only flush objects on import if we get a valid fd
rusticl/gl: flush and wait on gl objects inside clEnqueueAcquireGLObjects
zink: fix data race in descriptor_util_pool_key_get
rusticl: silence warnings in generated sources
rusticl: silence new warnings from rustc versions above our rustc target
anv: do not map from_host_ptr bos in image_bind_address
zink: set zink_bo is_user_ptr on creation
Kenneth Graunke (1):
intel: Disable 16x MSAA support on Xe3
Lars-Ivar Hesselberg Simonsen (3):
u_trace: Indirect capture fixes
panvk: Fix instrumentation on v12+
panvk: Fix IUB decode
Lionel Landwerlin (4):
meson: remove intel-clc options
brw: compute consistent clip/cull distance masks with VUE
anv: fix missing meson dep
anv: fix R64* vertex buffer format support
Lorenzo Rossi (1):
nak/kepler: Refine instruction scheduling
Max R (1):
d3d10umd: De-bufferize OutputMerger
Mel Henning (1):
meson,nvk: Require rustc-hash 2.0 or later
Mike Blumenkrantz (3):
zink: don’t access ctx in submit_queue
perfetto: unify init
zink: remove UNSYNCHRONIZED map flag during unmap flush for non-subdata calls
Natalie Vock (1):
radv: Only expose indirect raytracing on gfx7+
Patrick Lerda (1):
r600: fix evergreen gds atomic_counter_comp_swap
Rob Clark (2):
freedreno: Remove obsolete comment
freedreno/layout: Don’t align explicit layouts to page size
Rohan Garg (1):
intel/compiler: use the WA framework when emitting WA 14014595444
Samuel Pitoiset (4):
ac,radv,radeonsi: fix programming PA_SU_PRIM_FILTER_CNTL on GFX12
radv/amdgpu: fix creation with different but unused RADV_PERFTEST flags
radv: fix reserving space for emitting push constants with DGC IES
radv: fix color attachment remapping with fast-GPL/ESO
Tapani Pälli (2):
isl/blorp: handle failing 96bpp linear blit case
compiler/types: handle BFLOAT16 when decoding blob
Yiwei Zhang (5):
util/perf: amend missing atrace_init
vulkan/wsi/headless: allow explicit modifiers
venus: fix a race condition in ring shmem reuse
vulkan/util: add missing vulkan header
venus: hide swapchainMaintenance1 behind wsi guard