From 345206b2b8716cbd8ed53dee5befd715b01ef9a9 Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 16 Mar 2022 17:29:17 +0000 Subject: [PATCH] Fix validation error with inline uniform block writes --- util/test/demos/vk/vk_cbuffer_zoo.cpp | 5 ++--- util/test/demos/vk/vk_helpers.h | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/util/test/demos/vk/vk_cbuffer_zoo.cpp b/util/test/demos/vk/vk_cbuffer_zoo.cpp index acf7833c9..73ca810a4 100644 --- a/util/test/demos/vk/vk_cbuffer_zoo.cpp +++ b/util/test/demos/vk/vk_cbuffer_zoo.cpp @@ -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 diff --git a/util/test/demos/vk/vk_helpers.h b/util/test/demos/vk/vk_helpers.h index 7347d78b3..d1049d84b 100644 --- a/util/test/demos/vk/vk_helpers.h +++ b/util/test/demos/vk/vk_helpers.h @@ -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 &bufferInfo) : WriteDescriptorSet(dstSet, dstBinding, 0, descriptorType, bufferInfo)