发布 Mesa 22.1,免费实施 OpenGL 和 Vulkan

经过两个月的开发,OpenGL 和 Vulkan API 的免费实现版本 - Mesa 22.1.0 - 发布了。 Mesa 22.1.0分支的第一个版本处于实验状态——代码最终稳定后,将发布稳定版本22.1.1。

在 Mesa 22.1 中,Intel GPU 的 anv 驱动程序、AMD GPU 的 radv 以及 lavapipe 软件光栅器中提供了对 Vulkan 1.3 图形 API 的支持。 对 Vulkan 1.2 的支持在模拟器模式 (vn) 中实现,Vulkan 1.1 在 Qualcomm GPU 的驱动程序中实现 (tu)。 Broadcom VideoCore VI GPU (Raspberry Pi 1.0) 驱动程序中的 Vulkan 4。 Mesa 还为 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)和 vmwgfx (VMware)。

主要创新:

  • ANV Vulkan 驱动程序(Intel)和 Iris OpenGL 驱动程序支持 Intel DG2 (Arc Alchemist) 和 Arctic Sound-M 独立显卡。
  • D3D12 驱动程序在 DirectX 12 API (D3D12) 之上有一个用于组织 OpenGL 工作的层,可确保与 OpenGL 4.2 的兼容性。 该驱动程序用于 WSL2 层,以便在 Windows 上运行 Linux 图形应用程序。
  • lavapipe 驱动程序为 Vulkan API 实现了软件光栅化器(与 llvmpipe 类似,但对于 Vulkan,将 Vulkan API 调用转换为 Gallium API),支持 Vulkan 1.3。
  • 添加了对 AMD GFX1036 和 GFX1037 GPU 的支持。
  • RADV 驱动程序 (AMD) 实现了光线基元剔除,这改进了对《DOOM Eternal》等游戏的光线追踪支持。
  • 已经提出了基于 Imagination 开发的 PowerVR Rogue 架构的 GPU Vulkan 驱动程序的初步实现。
  • 适用于旧版 GeForce 6/7/8 GPU 的 Nouveau 驱动程序已转换为使用 NIR 着色器的无类型中间表示 (IR)。 NIR 支持还允许您通过使用将 NIR 转换为 TGSI 的层来获得对 TGSI(钨图形着色器基础设施)中间表示的支持。
  • 该组合包括一个紧凑的 OpenCL 编译器,由 Intel 提出并用于光线追踪。
  • OpenGL 驱动程序 v3d 是为 VideoCore VI 图形加速器开发的,从 Raspberry Pi 4 型号开始使用,实现了对在磁盘上缓存着色器的支持。
  • 对于配备VCN 2.0视频处理引擎的AMD GPU,已经实现了EFC(编码器格式转换)支持,允许使用硬件视频编码器直接读取RGB表面,而无需着色器执行RGB->YUV转换。
  • Crocus 驱动程序是为基于 Gen4-Gen7 微体系结构的较旧 Intel GPU 开发的,Iris 驱动程序不支持该 GPU,该驱动程序包含与旧版本 OpenGL 的兼容性配置文件。
  • PanVk 驱动程序为 ARM Mali Midgard 和 Bifrost GPU 的 Vulkan 图形 API 提供支持,并已开始支持计算着色器。
  • 基于 Vulkan API 实现虚拟 GPU (virtio-gpu) 的 Venus 驱动程序添加了对 ANGLE 层的支持,该层负责将 OpenGL ES 调用转换为 OpenGL、Direct3D 9/11、Desktop GL 和 Vulkan。
  • 添加了对 NVIDIA OpenGL 扩展 GL_NV_pack_subimage 的支持,该扩展旨在使用帧缓冲区或纹理中的数据更新主机内存中的矩形。
  • Vulkan 驱动程序 RADV (AMD)、ANV (Intel) 和 lavapipe 添加了对扩展的支持:
    • VK_EXT_depth_clip_control 用于 lavapipe 和 RADV。
    • Lavapipe 的 VK_EXT_graphics_pipeline_library。
    • Lavapipe 的 VK_EXT_primitives_ generated_query。
    • VK_EXT_image_2d_view_of_3d 用于 ANV 和 lavapipe。
    • Lavapipe 的 VK_KHR_swapchain_mutable_format。

来源: opennet.ru

添加评论