<div dir="ltr"><div>Due to a bit of rebase fail with the Blackwell enabling patches, Kepler accidentally got turned back off just before the release. I've fixed it with <a href="https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36745">https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36745</a> and Kepler should be re-enabled with Mesa 25.2.1.</div><div><br></div><div>~Faith Ekstrand</div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Wed, Aug 6, 2025 at 1:13 PM Eric Engestrom <<a href="mailto:eric@engestrom.ch">eric@engestrom.ch</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello everyone,<br>
<br>
I'm happy to announce a new feature release, 25.2.0!<br>
<br>
This release includes some major house-cleaning of the window system<br>
code to remove support for deprecated functionality:<br>
- DRI2 support has been removed entirely. X11 window system support is<br>
now only available through DRI3 or software paths. This should not<br>
directly impact users as DRI2 has been deprecated for some time.<br>
- Support for the insecure legacy GEM names has also been removed and<br>
buffer sharing is now only supported using dma-buf file descriptors.<br>
This should also not affect users as dma-buf has been the preferred path<br>
for about a decade.<br>
- Support for thread-unsafe libX11 has been removed. Mesa now requires<br>
libX11 >= 1.8 (April 2022) which calls XInitThreads() on load and<br>
guarantees libX11 is always thread-safe. libX11 must not be built with<br>
--disable-thread-safety-constructor since that disables the<br>
XInitThreads() call.<br>
- Support for EGL_WL_bind_wayland_display has been deprecated and is now<br>
hidden behind the -Dlegacy-wayland=bind-wayland-display build flag. In<br>
order for XWayland to work properly without EGL_WL_bind_wayland_display,<br>
distros will need to upgrade to Xwayland >= 24.1 (May 2024).<br>
<br>
Another important things is that, as announced during `meson setup` since<br>
25.0.2, the Clover OpenCL implementation has been deleted. RustiCL is now the<br>
only OpenCL implementation available, providing support for more OpenCL<br>
versions and features and to more hardware than Clover ever did. It is not<br>
(yet) perfect though, so please report any issue you find while using it.<br>
<br>
NVK has added a dependency on the rustc-hash crate, which has improved shader<br>
compile times by an estimated 12%. We believe rustc-hash is already widely<br>
packaged, so the hope is that this won't pose much of a burden to packagers.<br>
<br>
Speaking of NVK, it now supports NVIDIA's Blackwell and Kepler<br>
architectures. The old Nouveau GL driver has not been updated for<br>
Blackwell and there are no plans to do so. Instead, Nouveau users will<br>
only get OpenGL via Zink+NVK on any GPUs after Ada. (Kepler users will<br>
still get the old Nouveau GL driver as it is still the default<br>
pre-Turing.)<br>
<br>
HoneyKrisp, the Apple Vulkan driver, has seen significant performance<br>
improvements.<br>
<br>
Users can expect the usual flurry of improvements across all drivers and<br>
components, including these new extensions & features highlighted by<br>
their developers (in no particular order):<br>
- removed clover frontend<br>
- VK_EXT_vertex_input_dynamic_state/vertexInputDynamicState on panvk<br>
- pushDescriptor on panvk<br>
- VK_EXT_vertex_input_dynamic_state on panvk<br>
- VK_EXT_vertex_attribute_divisor on panvk<br>
- supportsNonZeroFirstInstance on panvk<br>
- GL_ARB_blend_func_extended on v3d<br>
- dualSrcBlend on v3dv<br>
- VK_KHR_maintenance4 on panvk/v10+<br>
- VK_KHR_maintenance5 on panvk/v10+<br>
- VK_EXT_direct_mode_display on panvk<br>
- VK_EXT_extended_dynamic_state[2] on panvk<br>
- Vulkan 1.2 on panvk/v10+<br>
- VK_KHR_shader_quad_control on panvk/v10+<br>
- multiDrawIndirect on panvk/v10+<br>
- VK_KHR_draw_indirect_count on panvk/v10+<br>
- VK_KHR_shader_integer_dot_product on panvk<br>
- VK_KHR_shader_terminate_invocation on panvk<br>
- VK_EXT_shader_demote_to_helper_invocation on panvk<br>
- VK_EXT_shader_replicated_composites on panvk<br>
- VK_EXT_depth_bias_control on panvk<br>
- VK_KHR_shader_bfloat16 on anv/gfx125+ and radv/gfx12+<br>
- VK_KHR_robustness2 on RADV<br>
- VK_EXT_zero_initialize_device_memory on RADV and NVK<br>
- VK_EXT_primitive_topology_list_restart on panvk<br>
- VK_EXT_image_2d_view_of_3d on panvk<br>
- VK_EXT_texel_buffer_alignment on panvk<br>
- cl_khr_kernel_clock on freedreno, iris, llvmpipe, nvc0, panfrost, radeonsi and zink with llvm-19 or newer<br>
- GL_KHR_texture_compression_astc_hdr on panfrost and asahi<br>
- cl_ext_buffer_device_address on iris, llvmpipe, radeonsi and zink<br>
- Completed OpenCL 2.0 coarse grain buffer SVM support for iris and radeonsi<br>
- VK_EXT_shader_subgroup_ballot on panvk<br>
- VK_EXT_shader_subgroup_vote on panvk<br>
- Vulkan video support on GFX12 (RDNA4) for RADV<br>
- VK_KHR_load_store_op_none on panvk<br>
- VK_EXT_load_store_op_none on panvk<br>
- VK_EXT_scalar_block_layout on radv/gfx6<br>
- VK_EXT_inline_uniform_block on panvk<br>
- cl_khr_fp16 on asahi, freedreno, llvmpipe, panfrost, radeonsi and zink<br>
- GL_ARB_shader_clock on panfrost/v6+<br>
- VK_EXT_texture_compression_astc_hdr on panvk<br>
- MSAA with 8 and 16 sample counts on panfrost<br>
- cl_khr_spirv_queries<br>
- VK_EXT_depth_clamp_zero_one on panvk<br>
- VK_KHR_depth_clamp_zero_one on panvk<br>
- VK_EXT_depth_clip_control on panvk<br>
- VK_KHR_maintenance9 on RADV<br>
- VK_KHR_unified_image_layouts on RADV (RDNA3+), tu and panvk<br>
- VK_KHR_vulkan_memory_model on panvk<br>
- Vulkan 1.3 on panvk/v10+<br>
- VK_KHR_present_wait2<br>
- VK_EXT_descriptor_indexing on panvk/v10+<br>
- cl_khr_priority_hints<br>
- VK_KHR_maintenance6 on panvk/v10+<br>
- CL_sRGBA and CL_sBGRA images<br>
- cl_khr_extended_bit_ops<br>
- VK_KHR_shader_clock on panvk<br>
- GL_EXT_shader_realtime_clock on panfrost/v6+<br>
- VK_KHR_shader_float8 on RADV (RDNA4+)<br>
- GL_EXT_window_rectangles on r600<br>
- GL_EXT_shader_image_load_store on r600/evergreen+<br>
- GL_EXT_shader_clock on all drivers that support GL_ARB_shader_clock<br>
- CL_UNORM_INT_101010_2 and cl_ext_image_unorm_int_2_101010<br>
- timestamps on panvk/v10+<br>
- VK_KHR_calibrated_timestamps on panvk/v10+<br>
- VK_EXT_non_seamless_cube_map on panvk<br>
- VK_ARM_shader_core_properties on panvk/v10+<br>
- removed X11 DRI2 support<br>
- removed EGL_MESA_drm_image<br>
- removed pre-dmabuf wl_drm support<br>
- deprecated EGL_WL_bind_wayland_display<br>
- VK_KHR_shader_atomic_int64 on panvk/v10+<br>
- VK_EXT_host_image_copy on RADV (RDNA1+)<br>
- VK_KHR_cooperative_matrix on nvk/turing+<br>
- VK_KHR_host_image_copy on panvk<br>
- Vulkan 1.4 on panvk/v10+<br>
- NV_timeline_semaphore for zink<br>
<br>
If you find any issues, please report them here:<br>
<a href="https://gitlab.freedesktop.org/mesa/mesa/-/issues/new" rel="noreferrer" target="_blank">https://gitlab.freedesktop.org/mesa/mesa/-/issues/new</a><br>
<br>
The next bugfix release is due in two weeks, on August 20th.<br>
<br>
Cheers,<br>
Eric<br>
<br>
---<br>
<br>
Alyssa Rosenzweig (1):<br>
asahi: enable virtgpu support<br>
<br>
Antonio Ospite (3):<br>
build: stop calling unreachable() without arguments<br>
util: avoid calling UNREACHABLE(str) macro without arguments<br>
libcl: avoid calling UNREACHABLE(str) macro without arguments<br>
<br>
Caio Oliveira (1):<br>
brw: Remove extra iteration on instructions from brw_opt_address_reg_load<br>
<br>
Christian Gmeiner (2):<br>
etnaviv: blt: Clear only requested color buffers<br>
etnaviv: rs: Clear only requested color buffers<br>
<br>
Christoph Neuhauser (1):<br>
egl: Fix DRI utility function compilation on macOS<br>
<br>
Dave Airlie (1):<br>
spirv: move cmat store barrier after the store.<br>
<br>
David Rosca (1):<br>
vulkan/video: Fix h265 level values<br>
<br>
Emma Anholt (1):<br>
i915: Avoid calling drm_intel_get_aperture_sizes().<br>
<br>
Eric Engestrom (4):<br>
.pick_status.json: Update to 20dab5f819f7016b8d7f4e88927855a0e5ff7a61<br>
meson: fix VkLayer_MESA_device_select in the devenv<br>
docs: add release notes for 25.2.0<br>
VERSION: bump for 25.2.0<br>
<br>
Eric R. Smith (1):<br>
panvk: use minimum attachment size for frame buffer size<br>
<br>
Erico Nunes (1):<br>
lima: ppir: fix store_output optimization for modifiers<br>
<br>
Faith Ekstrand (1):<br>
nvk: Blackwell is now Vulkan 1.4 conformant<br>
<br>
Hans-Kristian Arntzen (1):<br>
ac/nir: Avoid 0/0 when computing texel buffer size on Polaris.<br>
<br>
Iván Briano (1):<br>
intel: Re-disable ray tracing on 32 bits<br>
<br>
Job Noorman (2):<br>
ir3/legalize: prevent infinite loop when inserting (ss)nop<br>
nir/opt_uniform_subgroup: use ballot_bit_count<br>
<br>
Juston Li (1):<br>
anv: fix uninitialized mutex lock in anv_slab_bo_deinit()<br>
<br>
Karol Herbst (1):<br>
nv50: fully migrate away from util_framebuffer_init<br>
<br>
Kenneth Graunke (3):<br>
brw: Refactor copy propagation checks for EOT send restrictions<br>
brw: Fix units in copy propagation EOT restriction size calculation<br>
brw: Update copy propagation into EOT sends handling for Xe2 units<br>
<br>
LingMan (1):<br>
docs/rusticl: Update documented version requirements for meson and bindgen<br>
<br>
Lionel Landwerlin (1):<br>
anv: fix wsi image aliasing<br>
<br>
Mary Guillemard (2):<br>
panvk: Always use varying_count in emit_varying_attrs<br>
panvk: track oq write jobs in JM<br>
<br>
Mike Blumenkrantz (7):<br>
zink: also add access stage sync when rebinding buffers<br>
zink: fix tc buffer replacement rebind condition<br>
zink: trigger multi-context buffer invalidate on internal buffer invalidate<br>
zink: zero dynamic rendering resolve views on rp end<br>
tc: also inline depth resolves<br>
zink: fix assert for unsynchronized non-GENERAL image barriers<br>
tc: don't clobber CSO info when renderpass has ended<br>
<br>
Patrick Lerda (3):<br>
r600: refactor r600_is_buffer_format_supported() for the next update<br>
r600: fix remaining pbo issues<br>
r600: fix arb_shader_image_load_store incomplete<br>
<br>
Rhys Perry (3):<br>
nir/load_store_vectorize: check for interfering shared2 before vectorizing<br>
nir/load_store_vectorize: set is_store for shared append/consume<br>
aco/ra: set late-kill for operands of temporary p_create_vector<br>
<br>
Samuel Pitoiset (2):<br>
radv: fix fbfetch output with compresed FMASK on <= GFX9<br>
vulkan: fix missing presentId2/presentWait2 enable features<br>
<br>
Thomas H.P. Andersen (1):<br>
zink: do not overwrite existing error for miptail on uncommit<br>
<br>
Yurii Kolesnykov (2):<br>
Guard double include of libdrm.h by defining LIBDRM_H<br>
Guard call to free_zombie_glx_drawable with condition from its definition<br>
<br>
git tag: mesa-25.2.0<br>
<br>
<a href="https://mesa.freedesktop.org/archive/mesa-25.2.0.tar.xz" rel="noreferrer" target="_blank">https://mesa.freedesktop.org/archive/mesa-25.2.0.tar.xz</a><br>
SHA256: 7c726b21c074d14d31d253d638b741422f3c0a497ce7f1b4aaaa917d10bd8d4f mesa-25.2.0.tar.xz<br>
SHA512: f36e4f9f619becfc89f9cf3704d21f5f1532f1e658808fd30c0edce8c28cd65dc6578a21333e896aa5eaccf09da99efd9127a8d3d46681e8360f618cf63bab94 mesa-25.2.0.tar.xz<br>
PGP: <a href="https://mesa.freedesktop.org/archive/mesa-25.2.0.tar.xz.sig" rel="noreferrer" target="_blank">https://mesa.freedesktop.org/archive/mesa-25.2.0.tar.xz.sig</a><br>
<br>
</blockquote></div>