科技

当前位置/ 首页/ 要闻频道/科技/ 正文

Khronos Group 推出新的开放式 Vulkan 扩展以消除对管道的需求

导读 Khronos Group 本周早些时候透露,Vulkan 扩展将允许多个供应商尝试允许访问以轻松管理软件如何指定着色器和着色器状态。新扩展更改为

Khronos Group 本周早些时候透露,Vulkan 扩展将允许多个供应商尝试允许访问以轻松管理软件如何“指定着色器和着色器状态”。新扩展更改为 VK_EXT_shader_object,它将引入“表示单个已编译着色器阶段的新 VkShaderEXT 对象类型”,该公司将添加四个新函数来使用和调整新 Vulkan 扩展中的对象。

现在可以将 Vulkan 实施到未来的项目中而无需管道

放弃 Vulkan 扩展的管线可在使用着色器对象时提供更大的灵活性和简单性,从而允许供应商为每个项目选择仅使用管线、着色器对象或两者的组合。

着色器对象以不同于管道的方式工作:

管线需要将每个所需的着色器组合(使用传统“整体”管线时的所有阶段或使用管线库时的某些预定义阶段组合)一起编译。相反,着色器对象允许以任意组合组装阶段,包括单独编译每个着色器。

对于管道,链接是一个明确的步骤,它创建一个新对象,该对象具有自己的生命周期,需要由应用程序管理。对于着色器对象,链接只是从应用程序到实现的创建时承诺,它将始终使用着色器对象的特定组合。

管道在使用前必须始终链接,而链接着色器对象是可选的。

管道允许实现要求在编译时静态提供一些状态,而对于着色器对象,所有状态总是动态设置并且独立于着色器。

管道需要在创建管道时指定渲染附件格式,而着色器对象则不需要。着色器对象可以与设备支持的附件格式的任何有效组合一起使用。

使用管线,应用程序可以检索并重用已编译的着色器代码作为管线缓存,但此数据不会用于创建新管线。使用着色器对象,编译后的着色器代码可以直接从任何着色器对象中检索,并保证可用于在任何兼容的物理设备上创建等效的着色器对象,而无需提供原始 SPIR-V。

Khronos Group 完成 Vulkan Video API 1.0,引入 H.264 和 H.265 解码 1

Khronos 保证在项目中实施 Vulkan 扩展不会影响项目的性能。这是因为着色器对象在影响处理器方面比管线更优化,并且对 GPU 的负面影响可以忽略不计。该公司还指出,“使用着色器对象 API 的更简单应用程序代码对 CPU 性能的改进可以胜过为使用管线而重新设计的等效应用程序代码,其性能足以使应用程序的性能改进超过额外实施开销的成本。”

免责声明:本文由用户上传,如有侵权请联系删除!