Vulkan 的功能
Vulkan 可用于开发许多用例的应用程序。虽然 Vulkan 应用程序可以选择使用下面描述的功能的子集,但它的设计目标是使开发人员可以在单个 API 中使用所有这些功能。
重要的是要理解 Vulkan 是一个工具箱,并且有多种方法可以完成一项任务。 |
图形
2D 和 3D 图形主要是 Vulkan API 设计的目的。Vulkan 的设计目标是允许开发人员创建硬件加速的图形应用程序。
所有 Vulkan 实现都必须支持图形,但 WSI 系统不是必需的。 |
计算
由于 GPU 的并行特性,一种称为 GPGPU 的新型编程风格可以被用来利用 GPU 进行计算任务。Vulkan 支持 VkQueues
、VkPipelines
等计算变体,这些变体允许将 Vulkan 用于通用计算。
所有 Vulkan 实现都必须支持计算。 |
光线追踪
光线追踪是一种替代渲染技术,它基于模拟光的物理行为的概念。
在 1.2.162 规范中,跨供应商的 API 光线追踪支持已作为一组扩展添加到 Vulkan 中。这些主要是 VK_KHR_ray_tracing_pipeline
、VK_KHR_ray_query
和 VK_KHR_acceleration_structure
。
还有一个较旧的 NVIDIA 供应商扩展,它公开了 Vulkan 上光线追踪的实现。此扩展早于跨供应商扩展。对于新的开发,建议应用程序首选较新的 KHR 扩展。 |
视频
通过 Vulkan 视频扩展,开发人员可以实时使用硬件加速的视频解码功能。该功能通过 VK_KHR_video_queue、VK_KHR_video_decode_queue、VK_KHR_video_decode_h264 和 VK_KHR_video_decode_h265 扩展公开。
Vulkan 视频遵循 Vulkan 的理念,即为应用程序提供对视频处理调度、同步和内存利用的灵活、细粒度的控制。
用于编码视频的临时扩展已经在开发中,欢迎 反馈 |
机器学习
目前,Vulkan 工作组正在研究如何使 Vulkan 成为公开现代 GPU 的 ML 计算功能的一流 API。在 Siggraph 2019 上宣布了更多信息。
截至目前,尚无用于机器学习的公共 Vulkan API。 |
安全关键
Vulkan SC(“安全关键”)旨在将现代 GPU 的图形和计算功能引入汽车、航空电子、工业和医疗领域的安全关键系统。它于2022 年 3 月 1 日公开发布,并且该规范可在此处获取。
Vulkan SC 基于 Vulkan 1.2,但删除了安全关键市场不需要的功能,通过消除忽略的参数和未定义的行为来提高规范的鲁棒性,并支持增强的运行时故障检测、报告和纠正。 |