Vulkan能做什么?
Vulkan 可用于开发许多应用领域的程序,下面列举了Vulkan功能子集,Vulkan应用程序开发者可自由选择使用这些功能子集。
需要理解的是,Vulkan只是一个API工具箱,同一个任务也可能使用其他办法来实现。
图形
2D 和 3D 图形是 Vulkan API 的主要设计目的。Vulkan 旨在允许开发人员创建硬件加速的图形应用程序。
除了WSI系统,所有的 Vulkan 实现都需要支持图形。
计算
由于 GPU 具备高并发的特性,可以使用一种称为GPGPU的新型编程方式,调用 GPU 来执行并发计算任务。Vulkan 支持 VkQueue、VkPipelines 等的计算变体,允许 Vulkan 用于一般计算。
所有的 Vulkan 实现都需要支持计算。
光线追踪
光线追踪是另一种渲染技术,它的基本概念是计算模拟物理光线行为。
Vulkan 在spec 1.2.162中添加了一组 KHR 扩展以实现不同厂商对光线追踪的支持。这些扩展包括: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 Video 秉承 Vulkan 理念,为应用程序提供对视频处理调度、同步和内存利用的灵活、细粒度的控制。
视频编码扩展的实现正在进行中。
机器学习
目前 Vulkan 工作组正在研究如何使 Vulkan 成为一流的 API,以展现现代 GPU 的 ML 计算能力。更多信息已在Siggraph 2019上公布。
关键安全
Vulkan SC(“Safety Critical”)旨在将现代 GPU 的图形和计算能力引入汽车、航空电子、工业和医疗领域的安全关键系统。它于2022 年 3 月 1 日公开发布,规范链接。