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

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

Mesa 24.3 支持 Intel GPU 的 anv、AMD GPU 的 radv、NVIDIA GPU 的 NVK、Qualcomm GPU 的 tu、lavapipe 软件光栅器 (lvp)、仿真器模式 (vn) 和 v1.3dv(适用于 Raspberry Pi 的 GPU Broadcom VideoCore)中的 Vulkan 3 图形 API 4+)。 Vulkan 1.0 支持在 dzn(Direct3D 12 之上的 Vulkan 实现)和 panvk(ARM Mali GPU)驱动程序中实现。

Mesa 还为 iris(Intel Gen 4.6+ GP​​U)、radeonsi (AMD)、Crocus(较旧的 Intel Gen8-Gen4 GPU)、zink、llvmpipe、virgl(用于 QEMU/KVM 的 Virgil7D 虚拟 GPU)、freedreno 驱动程序提供完整的 OpenGL 3 支持( Qualcomm Adreno)、d3d12(用于在 DirectX 12 之上组织 OpenGL 工作的层)和 asahi(Apple M1 和 M2 芯片中使用的 AGX GPU)。 AMD (r4.5) 和 NVIDIA (nvc600) GPU 均支持 OpenGL 0。 Softpipe(软件光栅器)和 nv3.3 (NVIDIA NV50) 驱动程序中提供 OpenGL 50 支持。

主要创新:

  • v3dv 驱动程序为 Raspberry Pi 1.3 和 Raspberry Pi 4 板上使用的 VideoCore GPU 提供对 Vulkan 5 图形 API 的全面支持。
  • 添加了新的 Vulkan 驱动程序 gfxstream-vk,可用于虚拟化 Vulkan API 并从基于 Linux、Android 和 Fuchsia 的客户系统访问此图形 API。 Google 在 Android 模拟器、Fuchsia 模拟器、Android 云服务和 Android 汽车操作系统 (AAOS) 中使用该驱动程序。
  • Vulkan 图形 API 与窗口系统的集成接口(WSI,Windowing System Integration)添加了对 Vulkan 扩展 VK_PRESENT_MODE_FIFO_KHR 的支持,以便在 FIFO 协议的基于 Wayland 的环境中使用,允许输出使用等待完成垂直扫描(vblank),而不是在每次准备显示新帧时使用回调调用,这解决了使用 VSync 时 GPU 负载高的问题。
  • 在配备基于 Xe2 架构的 Intel GPU 的系统上,默认启用深度缓冲区(z 缓冲区)压缩。
  • iris OpenGL 驱动程序和 ANV Vulkan 驱动程序添加了对基于 Panther Lake 处理器中 Xe3 架构的 Intel GPU 的初步支持。
  • NVK (NVIDIA) 驱动程序中添加了对 Vulkan 扩展的支持:
    • VK_EXT_descriptor_buffer
    • VK_EXT_post_深度_覆盖
    • VK_EXT_legacy_vertex_attributes
    • VK_KHR_维护7
    • VK_KHR_dynamic_rendering_local_read
    • VK_NV_compute_shader_derivatives
    • VK_KHR_compute_shader_derivatives
    • VK_KHR_shader_float_controls2
    • VK_EXT_host_image_copy(适用于 GPU Turing+)
    • VK_KHR_shader_quad_control
    • VK_KHR_fragment_shading_rate
    • VK_EXT_depth_clamp_zero_one
    • VK_EXT_device_ generated_commands
  • RADV (AMD) 驱动程序中添加了对 Vulkan 扩展的支持:
    • VK_KHR_video_maintenance1
    • VK_KHR_pipeline_binary
    • VK_KHR_compute_shader_derivatives
    • VK_KHR_shader_float_controls2
    • VK_EXT_device_ generated_commands
    • VK_KHR_shader_relaxed_extended_instruction
  • ANV 驱动程序中添加了对 Vulkan 扩展的支持(英特尔)
    • VK_KHR_compute_shader_derivatives
    • VK_KHR_shader_relaxed_extended_instruction
    • VK_EXT_深度_钳位控制
  • hasvk 驱动程序(Intel Ivy Bridge、Haswell 和 Broadwell)添加了对 Vulkan 扩展的支持:
    • VK_EXT_深度_钳位控制
    • VK_KHR_shader_relaxed_extended_instruction
  • hk、tu、v3dv 和 lvp 驱动程序中添加了对 Vulkan 扩展 VK_KHR_shader_relaxed_extended_instruction 的支持。
  • 添加了对新 OpenGL 扩展的支持:
    • radeonsi 驱动程序中的 GL_KHR_shader_subgroup
    • zink 驱动程序中的 GL_OVR_multiview
    • zink 驱动程序中的 GL_OVR_multiview2
    • GL_ARB_draw_indirect 到 etnaviv/HALTI5+ 驱动程序
    • etnaviv/HALTI2+ 驱动程序中的 GL_EXT_draw_buffers5
    • etnaviv/HALTI5+ 驱动程序中的 GL_ARB_draw_buffers_blend
    • etnaviv 驱动程序中的 GL_ARB_framebuffer_no_attachments
    • Panfrost 驱动程序中的 GL_ARB_timer_query
    • Panfrost 驱动程序中的 GL_EXT_disjoint_timer_query

来源: opennet.ru

添加评论