Fix validation error with inline uniform block writes

This commit is contained in:
baldurk
2022-03-16 17:29:17 +00:00
parent f4d9cf2b7e
commit 345206b2b8
2 changed files with 18 additions and 3 deletions
+2 -3
View File
@@ -744,9 +744,8 @@ float4 main() : SV_Target0
vkh::updateDescriptorSets(
device, {
vkh::WriteDescriptorSet(
descset, 1, VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT,
{vkh::DescriptorBufferInfo(cb.buffer, bindOffset * sizeof(Vec4f))})
.next(&inlineUpdate),
descset, 1, inlineUpdate,
vkh::DescriptorBufferInfo(cb.buffer, bindOffset * sizeof(Vec4f))),
});
}
else
+16
View File
@@ -912,6 +912,22 @@ struct WriteDescriptorSet : public VkWriteDescriptorSet
this->pTexelBufferView = NULL;
}
WriteDescriptorSet(VkDescriptorSet dstSet, uint32_t dstBinding,
const VkWriteDescriptorSetInlineUniformBlockEXT &inlineWrite,
const VkDescriptorBufferInfo &bufferInfo)
{
sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
pNext = &inlineWrite;
this->dstSet = dstSet;
this->dstBinding = dstBinding;
this->dstArrayElement = 0;
this->descriptorCount = inlineWrite.dataSize;
this->descriptorType = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT;
this->pImageInfo = NULL;
this->pBufferInfo = &bufferInfo;
this->pTexelBufferView = NULL;
}
WriteDescriptorSet(VkDescriptorSet dstSet, uint32_t dstBinding, VkDescriptorType descriptorType,
const std::vector<VkDescriptorBufferInfo> &bufferInfo)
: WriteDescriptorSet(dstSet, dstBinding, 0, descriptorType, bufferInfo)