發布 Mesa 21.2,免費實施 OpenGL 和 Vulkan

經過三個月的開發,OpenGL 和 Vulkan API 的免費實現版本 Mesa 21.2.0 已經發布。 Mesa 21.2.0分支的第一個版本處於實驗狀態——代碼最終穩定後,將發布穩定版本21.2.1。

Mesa 21.2 為 4.6、iris (Intel)、radeonsi (AMD)、zink 和 llvmpipe 驅動程序提供完整的 OpenGL 965 支持。 OpenGL 4.5 支持適用於 AMD (r600) 和 NVIDIA (nvc0) GPU,OpenGL 4.3 支持 virgl(適用於 QEMU/KVM 的 Virgil3D 虛擬 GPU)。 Vulkan 1.2 支持適用於 Intel 和 AMD 卡以及模擬器 (vn) 模式,Vulkan 1.1 支持適用於 Qualcomm GPU 和 lavapipe 軟件光柵器,Vulkan 1.0 支持 Broadcom VideoCore VI (Raspberry Pi 4) GPU。

主要創新:

  • asahi OpenGL 驅動程序包含在對 Apple M1 芯片中提供的 GPU 的初始支持中。 該驅動程序使用Gallium接口,支持OpenGL 2.1和OpenGL ES 2.0的大部分功能,但尚不適合運行大多數遊戲。 驅動程序代碼基於 noop 參考 Gallium 驅動程序,其中一些代碼移植自為 ARM Mali GPU 開發的 Panfrost 驅動程序。
  • Crocus OpenGL 驅動程序包含對 Iris 驅動程序不支持的舊版 Intel GPU(基於 Gen4-Gen7 微架構)的支持。 與 i965 驅動程序不同,新驅動程序基於 Gallium3D 架構,它將內存管理任務外包給 Linux 內核中的 DRI 驅動程序,並提供現成的狀態跟踪器,支持輸出對象重用緩存。
  • 包含 PanVk 驅動程序,為 ARM Mali Midgard 和 Bifrost GPU 的 Vulkan 圖形 API 提供支持。 PanVk由Collabora員工開發,定位為Panfrost項目開發的延續,提供對OpenGL的支持。
  • GPU Midgard(Mali T760 及更高版本)和 GPU Bifrost(Mali G31、G52、G76)的 Panfrost 驅動程序支持 OpenGL ES 3.1。 進一步的計劃包括提高 Bifrost 芯片的性能以及支持基於 Valhall 架構(Mali G77 及更新版本)的 GPU。
  • x32 架構的 86 位版本使用 sse87 指令而不是 x2 指令進行數學計算。
  • 適用於 NVIDIA GT50x GPU (GeForce GT 21x2) 的 Nouveau nv0 驅動程序支持 OpenGL ES 3.1。
  • 為 Qualcomm Adreno GPU 開發的 TURNIP Vulkan 驅動程序和 Freedreno OpenGL 驅動程序初步支持 Adreno a6xx gen4(a660、a635)GPU。
  • RADV (AMD) Vulkan 驅動程序中添加了對使用 NGG(下一代幾何)著色器引擎的圖元剔除的支持。 實現了使用 MSVC 編譯器在 Windows 平台上構建 RADV 驅動程序的能力。
  • ANV Vulkan 驅動程序(英特爾)和 Iris OpenGL 驅動程序已準備好支持即將推出的英特爾 Xe-HPG (DG2) 顯卡。 這包括與光線追踪相關的初始功能以及對光線追踪的著色器支持。
  • 為 Vulkan API 實現軟件光柵化器的 lavapipe 驅動程序(類似於 llvmpipe,但針對 Vulkan,它將 Vulkan API 調用轉換為 Gallium API)支持“wideLines”模式(為寬度大於 1.0 的線條提供支持) )。
  • 實現了對動態發現和加載替代 GBM(通用緩衝區管理器)後端的支持。 此更改旨在改進具有 NVIDIA 驅動程序的系統上的 Wayland 支持。
  • Zink 驅動程序(Vulkan 之上的 OpenGL API 實現,當系統的驅動程序僅限於支持 Vulkan API 時,允許您獲得硬件加速 OpenGL)支持 OpenGL 擴展 GL_ARB_sample_locations、GL_ARB_sparse_buffer、GL_ARB_shader_group_vote、GL_ARB_texture_filter_minmax 和 GL_ARB_shader_clock。 添加了 DRM 格式修飾符(直接渲染管理器,包括 VK_EXT_image_drm_format_modifier 擴展)。
  • 添加了對 RADV (AMD)、ANV (Intel) 和 lavapipe Vulkan 驅動程序擴展的支持:
    • VK_EXT_provoking_vertex (RADV);
    • VK_EXT_extended_dynamic_state2 (RADV);
    • VK_EXT_global_priority_query (RADV);
    • VK_EXT_physical_device_drm(RADV);
    • VK_KHR_shader_subgroup_uniform_control_flow(RADV,ANV);
    • VK_EXT_color_write_enable (RADV);
    • VK_EXT_acquire_drm_display(RADV,ANV);
    • VK_EXT_vertex_input_dynamic_state(lavapipe);
    • VK_EXT_line_rasterization(lavapipe);
    • VK_EXT_multi_draw(ANV, lavapipe, RADV);
    • VK_KHR_separate_depth_stencil_layouts (lavapipe);
    • VK_EXT_separate_stencil_usage(lavapipe);
    • VK_EXT_extended_dynamic_state2(lavapipe)。

來源: opennet.ru

添加評論