From 5b852c8573b7a4363d0b73a5a1bfc953a153ad91 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 1 Sep 2023 13:24:28 +0100 Subject: [PATCH] Check compat with mip tail only for opaque sparse images. Closes #3044 * These images don't have a direct page table. --- renderdoc/driver/vulkan/vk_initstate.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/renderdoc/driver/vulkan/vk_initstate.cpp b/renderdoc/driver/vulkan/vk_initstate.cpp index 6be6df637..e8f4b703a 100644 --- a/renderdoc/driver/vulkan/vk_initstate.cpp +++ b/renderdoc/driver/vulkan/vk_initstate.cpp @@ -751,6 +751,18 @@ SparseBinding::SparseBinding(WrappedVulkan *vk, VkImage unwrappedImage, VkSparseImageMemoryRequirements reqs[8]; ObjDisp(device)->GetImageSparseMemoryRequirements(Unwrap(device), unwrappedImage, &numreqs, reqs); + if(numreqs == 0) + { + numreqs = 1; + reqs[0].formatProperties.aspectMask = VK_IMAGE_ASPECT_NONE; + reqs[0].formatProperties.flags = 0; + reqs[0].formatProperties.imageGranularity = {mrq.alignment & 0xFFFFFFFFu, 1, 1}; + reqs[0].imageMipTailFirstLod = 0; + reqs[0].imageMipTailOffset = 0; + reqs[0].imageMipTailStride = 0; + reqs[0].imageMipTailSize = mrq.size; + } + // if we have a different number of aspwects, we can't apply this page table if(numreqs != tables.size()) {