经过三个月的开发,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+ GPU)、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
