經過三個月的開發,OpenGL 和 Vulkan API 的免費實作 Mesa 25.2.0 已經發布。 Mesa 25.2.0 分支的第一個版本處於實驗狀態 - 在程式碼最終穩定後,將發布穩定版本 25.2.1。
Mesa 25.2 在英特爾 GPU 的 ANV 驅動程式、AMD GPU 的 RADV 驅動程式、NVIDIA GPU 的 ANV 驅動程式、AMD GPU 的 RADV 驅動程式、NVIDIA GPU 的 ANV 驅動程式、AMD GPU 的 RADV 驅動程式、NVIDIA GPU 的 ANV 驅動程式、AMD GPU 的 RADV 驅動程式、NVIDIA GPU 的 ANV 驅動程式、AMD GPU 的 RADV 驅動程式、NVIDIA GPU 的 ANV 驅動程式、AMD GPU 的 RADV 驅動程式、NVIDIA GPU 的 NVK 驅動程式、蘋果 GPU 的 Asahi 驅動程式、高通 GPU 的 Turnip 驅動程式、ARM Mali;的支持。 v1.4dv 驅動程式(用於樹莓派 3+ 的 Broadcom VideoCore GPU)和 dzn 驅動程式(基於 Direct4D 3 的 Vulkan 實作)支援 Vulkan 12。
Mesa 也為 iris(英特爾第八代及以上 GPU)、radeonsi(AMD)、Crocus(舊款英特爾第四代至第七代 GPU)、AMD(r4.6)、zink、llvmpipe、virgl(用於 QEMU/KVM 的 virgil8D 虛擬 GPU)、freedreno(高通、4、D asahi(蘋果 M7 和 M600 晶片中使用的 AGX GPU)提供完整的 OpenGL 3 支援。 NVIDIA(nvc3)GPU 提供 OpenGL 12 支援。 softpipe(軟體光柵化器)和 nv12(NVIDIA NV1)驅動程式提供 OpenGL 2 支援。 panfrost(ARM Mali GPU)和 v4.5d(Broadcom VideoCore GPU)驅動程式支援 OpenGL 0。
主要創新:
- 適用於基於 V10 架構的 ARM Mali GPU 裝置(例如 Mali-G610 和 Mali-G310)的 PanVK Vulkan 驅動程式已更新,以支援 Vulkan 1.4 圖形 API(先前支援 Vulkan 1.2)。
- 適用於較舊 AMD GPU(包括 Radeon HD 600 系列)的 r7000 OpenGL 驅動程式現在增加了對 OpenGL 4.6 圖形 API 的支援(先前支援 OpenGL 4.5)。
- NVK Vulkan 驅動程式新增對 NVIDIA Blackwell 和 Kepler GPU(GTX 600/700)的支援。 Blackwell GPU 支援 Vulkan 1.4,而 Kepler GPU 支援 Vulkan 1.2 API(由於硬體限制,不支援較新版本的 Vulkan)。 NVIDIA Maxwell GPU 完全相容於 Vulkan 1.4。
- NVK 驅動程式中使用的 NAK 著色器編譯器(使用 Rust 編寫)已最佳化。 rustc-hash crate 套件已新增至 NVK 驅動程式依賴項中,這將著色器編譯時間縮短了約 12%。
- NVIDIA Maxwell、Pascal 和 Volta GPU 的 OpenGL 支援已預設從 Nouveau 驅動程式切換到 Zink 驅動程序,並與 NVK Vulkan 驅動程式配合使用。 Zink 也用於為搭載 Blackwell GPU 的系統提供 OpenGL 支援(Nouveau OpenGL 驅動程式不打算添加對 Blackwell GPU 的支援)。 Zink 在 Vulkan 之上提供了 OpenGL 4.6 的實現,允許在支援 Vulkan API 的裝置上實現硬體加速的 OpenGL。 Zink 的效能接近原生 OpenGL 實作。
- Honeykrisp Vulkan 驅動程式針對 Apple M1/M2 晶片中的 GPU 的效能得到了顯著提升。
- Vulkan 驅動程式 RADV(AMD GPU)和 ANV(Intel)已更新,支援硬體加速解碼 VP9 格式的影片。此功能由 Vulkan 擴展 VK_KHR_video_decode_vp9 實現,該擴展由 Vulkan 工作小組於春季開發。從基於 RDNA 10 微架構的 Navi 1.0 GPU 開始,AMD GPU 皆可使用硬體加速。
- 適用於基於 RDNA3 和 RDNA4 微架構的 AMD GPU 的 RADV Vulkan 驅動程式提升了光線追蹤效能,並改進了對 FSR 4(FidelityFX Super Resolution)超採樣技術的支援。新增了配置命令流佇列優先權的功能(OpenCL 擴充 cl_khr_priority_hints)。
- 適用於舊款 AMD Evergreen 和 Cayman GPU 系列的 radeonsi OpenGL 驅動程式現已支援 OpenGL 4.6。並且添加了對共享虛擬記憶體 (SVM) 的支援。
- OpenGL Iris 驅動程式和 Vulkan ANV 驅動程式支援英特爾 Wildcat Lake 處理器中使用的 GPU。 Iris 和 ANV 也宣布穩定支援基於 Xe3 架構的英特爾 GPU,該架構用於 Panther Lake 處理器。對 Xe2 和 Xe3 GPU 系列的支援已得到改進。 Iris 驅動程式現在支援共享虛擬記憶體 (SVM)。
- freedreno OpenGL 驅動程式已更新,支援 Qualcomm Snapdragon X Plus SoC 中使用的 Adreno X1-45 GPU。
- Rusticl OpenCL 驅動程式持續開發,該驅動程式以 Rust 語言編寫,並將取代 Clover 驅動程式。 Rusticl 現已支援 SVM(共享虛擬記憶體)、sRGB 色彩空間(CL_sRGBA 和 CL_sBGRA 格式)的圖像以及 FP16 格式(適用於 asahi、freedreno、llvmpipe、panfrost、radeonsi 和 zink 驅動程式的 OpenCL 擴充功能 cl_cl_cl_cl_cl_cl_cl_cl)。
- 新增了 Gallium3D 前端 MFT(媒體基礎轉換),它允許使用 D3D12(Direct3D 12)驅動程式來實作其他圖形 API。由 Microsoft 為 WSL 開發(Windows 子系統 Linux).
- 移除了對 DRI2(直接渲染基礎架構)的支持,並將其替換為使用 DMA-BUF 來組織對視訊適配器的直接存取的 DRI3 介面。原因是 DRI3 介面已存在 10 多年,而 DRI2 早已過時,並且所有受支援的 GPU 驅動程式早已實現了 DRI3 介面。
- 對於使用緩衝區的傳統方法的支援已經停止 - 只保留使用 dma-buf 的能力。
- 對非執行緒安全的 libX11 版本的支援已被放棄,僅保留對使用 XInitThreads() 調用的 libX11 1.8(2022 年 XNUMX 月)及更新版本的支援。
- 已棄用並預設為 Wayland 實作的 EGL 擴充功能 EGL_WL_bind_wayland_display 的功能。要在客戶端和伺服器之間交換像素緩衝區,需要使用其他方法。 服務器 Wayland 建議使用 linux_dmabuf Wayland 協定。重新啟用該協定需要在建置過程中指定“-Dlegacy-wayland=bind-wayland-display”標誌。從 24.1 版本(2024 年 5 月)開始,Xwayland 無需 EGL_WL_bind_wayland_display 即可正常運作。
- 過時的 OpenCL 驅動程式 Clover 已移除。對於 OpenCL,建議使用 RustiCL 驅動程序,該驅動程式功能更強大,並且支援更多 OpenCL 版本。
- ANV 驅動程式(英特爾)實現了 Vulkan 擴充:
- VK_KHR_shader_bfloat16
- RADV 驅動程式 (AMD) 實現了 Vulkan 擴充:
- VK_KHR_shader_bfloat16
- VK_KHR_robustness2
- VK_EXT_zero_initialize_device_memory
- VK_EXT_標量_區塊_佈局
- VK_KHR_維護9
- VK_KHR_unified_image_layouts
- VK_KHR_shader_float8
- VK_EXT_host_image_copy
- NVK 驅動程式(NVIDIA)實現了 Vulkan 擴充:
- VK_EXT_zero_initialize_device_memory
- VK_KHR_合作_矩陣
- zink 驅動程式實現了 Vulkan 擴充:
- NV_timeline_semaphore
- v3d 驅動程式(適用於 Raspberry Pi 4+ 的 Broadcom VideoCore GPU)實作了 OpenGL 擴充:
- 在 v3d GL_ARB_blend_func_extended 上
- panfrost 驅動程式實作了以下 OpenGL 擴充:
- GL_KHR_texture_compression_astc_hdr
- GL_ARB_shader_clock
- GL_EXT_shader_realtime_clock
- asahi 驅動程式(Apple)實作了 OpenGL 擴充:
- GL_KHR_texture_compression_astc_hdr
- r600 驅動程式 (AMD) 實作 OpenGL 擴展
- GL_EXT_window_rectangles
- GL_EXT_shader_image_load_store
- PanVK 驅動程式(GPU ARM Mali)實現了 Vulkan 擴展:
- VK_EXT_vertex_input_dynamic_state/vertexInputDynamicState
- VK_EXT_vertex_input_dynamic_state
- VK_EXT_vertex_attribute_divisor
- VK_KHR_維護4
- VK_KHR_維護5
- VK_EXT_direct_mode_display
- VK_EXT_擴展_動態_狀態
- VK_KHR_shader_quad_control
- VK_KHR_draw_indirect_count
- VK_KHR_shader_integer_dot_product
- VK_KHR_shader_terminate_inspiration
- VK_EXT_shader_demote_to_helper_inspiration
- VK_EXT_shader_replicated_composites
- VK_EXT_depth_bias_control
- VK_EXT_primitive_topology_list_restart
- VK_EXT_image_2d_view_of_3d
- VK_EXT_texel_buffer_alignment
- VK_EXT_shader_subgroup_ballot
- VK_EXT_shader_subgroup_vote
- VK_KHR_load_store_op_none
- VK_EXT_load_store_op_none
- VK_EXT_inline_uniform_block
- VK_EXT_texture_compression_astc_hdr
- VK_EXT_depth_clamp_zero_one
- VK_KHR_depth_clamp_zero_one
- VK_EXT_depth_clip_control
- VK_KHR_unified_image_layouts
- VK_KHR_vulkan_memory_model
- VK_EXT_描述符_索引
- VK_KHR_維護6
- VK_KHR_shader_clock
- VK_KHR_shader_atomic_int64
- VK_KHR_calibrated_timestamps
- VK_EXT_non_seamless_cube_map
- VK_ARM_shader_core_properties
- VK_KHR_host_image_copy
來源: opennet.ru
