关于Vulkan中descriptorIndexing支持率差异及特性支持逻辑的疑问
关于Vulkan 1.2中descriptorIndexing支持的疑问解答
一、支持Vulkan 1.2的GPU是否可能不支持descriptorIndexing?
- 答案是不可能不支持核心定义的基础功能,但可能不支持原扩展中的全部高级子特性。
- Vulkan的规则很明确:当一个扩展被纳入某核心版本后,所有宣称支持该核心版本的GPU驱动,必须支持该扩展对应的核心特性子集。
descriptorIndexing是Vulkan 1.2的核心特性,所以只要GPU支持1.2,就肯定能满足核心规范对它的基础要求。 - 但要区分:原
VK_EXT_descriptor_indexing扩展包含不少可选的高级子特性(比如descriptorBindingPartiallyBound、descriptorBindingVariableDescriptorCount等),这些子特性并没有全部被纳入Vulkan 1.2核心。支持1.2的GPU可能只实现了核心要求的基础部分,而没覆盖扩展里的全部高级功能。
二、两组支持率数据的含义
- Core 1.2页面的93.67%:指所有支持Vulkan 1.2的设备里,满足核心规范对descriptorIndexing基础要求的设备占比。这个数据高,说明绝大多数Vulkan 1.2设备都达标了核心要求。
- 扩展页面的55%:指所有被统计的设备(包括不支持Vulkan 1.2的旧设备)里,完整支持
VK_EXT_descriptor_indexing全部子特性的设备占比。这个数据低的原因有两个:- 很多旧设备只支持Vulkan 1.0/1.1,即使通过扩展支持descriptorIndexing,也可能只实现部分子特性;
- 部分支持Vulkan 1.2的设备,仅满足核心要求的基础特性,没实现扩展的全部高级子特性。
内容的提问来源于stack exchange,提问作者Zebrafish
相关产品推荐
相关产品推荐

