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