
Mesa 25.2 现在作为这组开源 Linux 图形驱动程序的最新季度功能版本提供,主要用于 Linux 桌面上的 OpenGL、Vulkan 和视频加速支持。
像往常一样,大多数变化主要是对 AMD Radeon RADV/RadeonSI 驱动程序和 Intel Iris/ANV 驱动程序的改进,开源 NVIDIA“NVK”Vulkan 驱动程序也继续获得更多硬件支持和功能。不同 SoC 上发现的各种较小的 IP 图形驱动程序也继续得到增强,例如 Zink、OpenGL-on-Vulkan 和 Mesa 中的其他软件适配。
请参阅我们之前的 RC1 摘要和数十篇 Mesa 25.2 文章,了解有关本季度版本中所有更改的更多信息。
“此版本包括对窗口系统代码的一些主要清理,以删除对已弃用功能的支持:
– DRI2 支持已完全删除。X11 窗口系统支持现在只能通过 DRI3 或软件路径获得。这应该不会直接影响用户,因为 DRI2 已被弃用了一段时间。
– 还删除了对不安全的旧 GEM 名称的支持,现在仅支持使用 dma-buf 文件描述符进行缓冲区共享。这也不会影响用户,因为大约十年来,dma-buf 一直是首选路径。
– 删除了对线程不安全的 libX11 的支持。Mesa 现在需要 libX11 >= 1.8(2022 年 4 月),它在加载时调用 XInitThreads() 并保证 libX11 始终是线程安全的。libX11 不得使用 –disable-thread-safety-constructor 构建,因为这会禁用XInitThreads() 调用。
– 对EGL_WL_bind_wayland_display的支持已被弃用,现在隐藏在 -Dlegacy-wayland=bind-wayland-display 构建标志后面。为了使 XWayland 在没有EGL_WL_bind_wayland_display的情况下正常工作,发行版需要升级到 Xwayland >= 24.1(2024 年 5 月)。另一个重要的事情是,正如自 25.0.2 以来在“介子设置”期间宣布的那样,Clover OpenCL 实现已被删除。RustiCL 现在是唯一可用的 OpenCL 实现,它比 Clover 提供了对更多 OpenCL 版本和功能以及更多硬件的支持。不过它(还)并不完美,因此请报告您在使用它时发现的任何问题。
NVK 添加了对 rustc-hash crate 的依赖,这估计将着色器编译时间缩短了 12%。我们相信 rustc-hash 已经被广泛打包,因此希望这不会给打包者带来太大的负担。
说到 NVK,它现在支持 NVIDIA 的 Blackwell 和 Kepler 架构。旧的 Nouveau GL 驱动程序尚未针对 Blackwell 进行更新,也没有计划这样做。相反,Nouveau 用户只能在 Ada 之后的任何 GPU 上通过 Zink+NVK 获得 OpenGL。(Kepler 用户仍将获得旧的 Nouveau GL 驱动程序,因为它仍然是默认的图灵之前的驱动程序。
Apple Vulkan 驱动程序 HoneyKrisp 的性能有了显着提升。
用户可以期待所有驱动程序和组件的一系列改进,包括开发人员强调的这些新扩展和功能(排名不分先后):
– 删除了 clover 前端
– panvk
上的 VK_EXT_vertex_input_dynamic_state/vertexInputDynamicState – panvk
上的 pushDescriptor – panvk
上的 VK_EXT_vertex_input_dynamic_state – panvk
上的VK_EXT_vertex_attribute_divisor – panvk
上的 supportsNonZeroFirstInstance – v3d
上的 GL_ARB_blend_func_extended – v3dv
上的 dualSrcBlend – panvk/v10+
上的 VK_KHR_maintenance4 – panvk/v10+
上的VK_KHR_maintenance5- panvk
上的VK_EXT_direct_mode_display – panvk
上的 VK_EXT_extended_dynamic_state[2] – panvk/v10+
上的 Vulkan 1.2 – panvk/v10+
上的 VK_KHR_shader_quad_control – panvk/v10+
上的 multiDrawIndirect – panvk/v10+
上的 VK_KHR_draw_indirect_count – panvk
上的VK_KHR_shader_integer_dot_product – panvk
上的VK_KHR_shader_terminate_invocation – panvk
上的VK_EXT_shader_demote_to_helper_invocation- panvk
上的VK_EXT_shader_replicated_composites – panvk
上的VK_EXT_depth_bias_control – anv/gfx125+ 和 radv/gfx12+
上的VK_KHR_shader_bfloat16 – RADV
上的VK_KHR_robustness2 – RADV 和 NVK
上的VK_EXT_zero_initialize_device_memory – panvk
上的VK_EXT_primitive_topology_list_restart – panvk
上的VK_EXT_image_2d_view_of_3d – panvk
上的VK_EXT_texel_buffer_alignment- 在 Freedreno、Iris、LLVMPIPE、NVC0、Panfrost、radeonsi 和 zink 上使用 LLVM-19 或更高版本
cl_khr_kernel_clock – 在 panfrost 和 asahi
上GL_KHR_texture_compression_astc_hdr – 在 iris、llvmpipe、radeonsi 和 zink 上cl_ext_buffer_device_address
– 完成对 iris 和 radeonsi 的 OpenCL 2.0 粗粒度缓冲区 SVM 支持
– 在 panvk
上VK_EXT_shader_subgroup_ballot – 在 panvk
上VK_EXT_shader_subgroup_vote- RADV
的 GFX12 (RDNA4) 上的 Vulkan 视频支持 – panvk
上的VK_KHR_load_store_op_none – panvk
上的VK_EXT_load_store_op_none – radv/gfx6 上的 VK_EXT_scalar_block_layout
– panvk
上的VK_EXT_inline_uniform_block – asahi、freedreno、llvmpipe、panfrost、radeonsi 和 zink 上的cl_khr_fp16
– panfrost/v6+
上的GL_ARB_shader_clock – panvk
上的VK_EXT_texture_compression_astc_hdr- 在 panfrost
上具有 8 和 16 个样本计数的 MSAA – cl_khr_spirv_queries
– panvk
上的 VK_EXT_depth_clamp_zero_one – panvk
上的 VK_KHR_depth_clamp_zero_one – panvk
上的VK_EXT_depth_clip_control – RADV
上的VK_KHR_maintenance9 – RADV 上的VK_KHR_unified_image_layouts (RDNA3+)、tu 和 panvk
– panvk
上的VK_KHR_vulkan_memory_model – panvk/v10+
上的 Vulkan 1.3 – VK_KHR_present_wait2
– 在 panvk/v10+
上VK_EXT_descriptor_indexing – cl_khr_priority_hints
– 在 panvk/v10+
上VK_KHR_maintenance6 – CL_sRGBA 和 CL_sBGRA 图像
– cl_khr_extended_bit_ops
– 在 panvk
上VK_KHR_shader_clock – 在 panfrost/v6+
上GL_EXT_shader_realtime_clock – 在 RADV 上VK_KHR_shader_float8 (RDNA4+)
– 在 r600 上GL_EXT_window_rectangles
– 在 r600/evergreen+
上GL_EXT_shader_image_load_store- GL_EXT_shader_clock支持GL_ARB_shader_clock的所有驱动程序
– CL_UNORM_INT_101010_2和cl_ext_image_unorm_int_2_101010
– panvk/v10+
上的时间戳 – panvk/v10+
上的VK_KHR_calibrated_timestamps – panvk
上的VK_EXT_non_seamless_cube_map – panvk/v10+
上的VK_ARM_shader_core_properties – 删除了 X11 DRI2 支持
– 删除了 EGL_MESA_drm_image
– 删除了 DMABUF 之前的 wl_drm 支持
– 已弃用的 EGL_WL_bind_wayland_display
– panvk/v10+
上的VK_KHR_shader_atomic_int64- RADV 上的VK_EXT_host_image_copy (RDNA1+)
– nvk/turing+
上的VK_KHR_cooperative_matrix – panvk
上的VK_KHR_host_image_copy – panvk/v10+
上的 Vulkan 1.4 – zink 的NV_timeline_semaphore”
也要感谢发布经理 Eric Engestrom 的出色工作,他又一次实现了准时发布。
转自 Mesa 25.2 Released With Many Improvements For RADV, Intel & NVK Drivers – Phoronix
Linuxeden开源社区