Fix incorrect dummy GPU Buffer format when binding missing resource to Vulkan descriptor

This commit is contained in:
Wojtek Figat
2024-12-13 14:56:20 +01:00
parent fc4e6f4972
commit 666efb7675
5 changed files with 139 additions and 20 deletions

View File

@@ -504,7 +504,7 @@ void GPUContextVulkan::UpdateDescriptorSets(const SpirvShaderDescriptorInfo& des
auto handle = handles[slot];
if (!handle)
{
const auto dummy = _device->HelperResources.GetDummyBuffer();
const auto dummy = _device->HelperResources.GetDummyBuffer(descriptor.ResourceFormat);
handle = (DescriptorOwnerResourceVulkan*)dummy->View()->GetNativePtr();
}
VkBufferView bufferView;
@@ -528,7 +528,7 @@ void GPUContextVulkan::UpdateDescriptorSets(const SpirvShaderDescriptorInfo& des
auto handle = handles[slot];
if (!handle)
{
const auto dummy = _device->HelperResources.GetDummyBuffer();
const auto dummy = _device->HelperResources.GetDummyBuffer(descriptor.ResourceFormat);
handle = (DescriptorOwnerResourceVulkan*)dummy->View()->GetNativePtr();
}
VkBuffer buffer;
@@ -542,7 +542,7 @@ void GPUContextVulkan::UpdateDescriptorSets(const SpirvShaderDescriptorInfo& des
auto handle = handles[slot];
if (!handle)
{
const auto dummy = _device->HelperResources.GetDummyBuffer();
const auto dummy = _device->HelperResources.GetDummyBuffer(descriptor.ResourceFormat);
handle = (DescriptorOwnerResourceVulkan*)dummy->View()->GetNativePtr();
}
VkBufferView bufferView;
@@ -561,7 +561,7 @@ void GPUContextVulkan::UpdateDescriptorSets(const SpirvShaderDescriptorInfo& des
handle->DescriptorAsDynamicUniformBuffer(this, buffer, offset, range, dynamicOffset);
else
{
const auto dummy = _device->HelperResources.GetDummyBuffer();
const auto dummy = _device->HelperResources.GetDummyBuffer(PixelFormat::R32_SInt);
buffer = dummy->GetHandle();
range = dummy->GetSize();
}