我有一个着色器,它使用常量缓冲区、图像和采样器,所有这些都绑定为第一个槽 (0)。如果我尝试为多个条目创建绑定 == 0 的描述符集布局,我会收到验证错误:
验证层:验证错误:[ VUID-VkDescriptorSetLayoutCreateInfo-binding-00279 ] |消息 ID = 0xf6f49662 | vkCreateDescriptorSetLayout():pCreateInfo->pBindings[1].binding 在 pBindings[0].binding 处重复。 Vulkan 规范规定:如果未启用 perStageDescriptorSet 功能,或者标志不包含 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV,则 pBindings 数组元素的 VkDescriptorSetLayoutBinding::binding 成员必须各自具有不同的值(https://vulkan.lunarg.com/doc/view/1.3.296.0/windows/1.3-extensions/vkspec.html#VUID-VkDescriptorSetLayoutCreateInfo-binding-00279)
有没有办法在不使用 NV 扩展的情况下解决这个问题? (我正在使用AMD卡)
期望定义一个描述符集布局,其中第一个槽使用多种资源类型。
如果您有三个不同的资源都绑定到同一描述符集中的同一插槽,那么它应该如何工作?该位置只有一个物理描述符。
它们要么需要位于同一集合中的不同位置,要么位于不同集合中的同一位置,但它们每个都需要一个唯一的位置。