diff options
| author | lucy96chen <47800040+lucy96chen@users.noreply.github.com> | 2022-06-01 14:33:21 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-01 14:33:21 -0700 |
| commit | fc84455d0d1cb6b9396ba869a17d6f8d4b65ecc6 (patch) | |
| tree | 21465f7fb11efc7329a754c5418126dd8c3906e6 /tools/gfx/vulkan/vk-device.cpp | |
| parent | 393ce4f746c6697442a3a61debd12101fbe4e9db (diff) | |
Vulkan validation error fixes (#2254)
* Fixed Vulkan validation errors for incorrect layer counts and view types in Debug
* Removed old (and empty) render-vk files; Ran premake.bat
Diffstat (limited to 'tools/gfx/vulkan/vk-device.cpp')
| -rw-r--r-- | tools/gfx/vulkan/vk-device.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/tools/gfx/vulkan/vk-device.cpp b/tools/gfx/vulkan/vk-device.cpp index 546f581b4..a5e990232 100644 --- a/tools/gfx/vulkan/vk-device.cpp +++ b/tools/gfx/vulkan/vk-device.cpp @@ -1589,7 +1589,7 @@ Result DeviceImpl::createTextureView( return SLANG_OK; } - bool isArray = desc.subresourceRange.layerCount > 1; + bool isArray = resourceImpl->getDesc()->arraySize > 1; VkImageViewCreateInfo createInfo = {}; createInfo.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO; createInfo.flags = 0; @@ -1625,9 +1625,15 @@ Result DeviceImpl::createTextureView( createInfo.subresourceRange.baseArrayLayer = desc.subresourceRange.baseArrayLayer; createInfo.subresourceRange.baseMipLevel = desc.subresourceRange.mipLevel; - createInfo.subresourceRange.layerCount = desc.subresourceRange.layerCount == 0 - ? VK_REMAINING_ARRAY_LAYERS - : desc.subresourceRange.layerCount; + createInfo.subresourceRange.layerCount = desc.subresourceRange.layerCount; + if (createInfo.subresourceRange.layerCount == 0) + { + createInfo.subresourceRange.layerCount = isArray ? VK_REMAINING_ARRAY_LAYERS : 1; + if (createInfo.viewType == VK_IMAGE_VIEW_TYPE_CUBE) + { + createInfo.subresourceRange.layerCount = 6; + } + } createInfo.subresourceRange.levelCount = desc.subresourceRange.mipLevelCount == 0 ? VK_REMAINING_MIP_LEVELS : desc.subresourceRange.mipLevelCount; |
