-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Description
When uploading cubemap data on vulkan backend, using a GPUTextureRegion .d value of 1 fails with the following debug layer error:
MessageID = 0xcae1744e | vkCmdCopyBufferToImage: pRegion[0].imageExtent (w=1024, h=1024, d=1) must match the image subresource extents (w=1024, h=1024, d=6) when the command buffer's queue family image transfer granularity is (w=0, h=0, d=0). The Vulkan spec states: The imageOffset and imageExtent members of each element of pname:pRegions must respect the image transfer granularity requirements of commandBuffer's command pool's queue family, as described in VkQueueFamilyProperties
Attempting to upload the entire mipmap level at once by changing .d to 6 also fails with this error:
MessageID = 0x13612095 | vkCmdCopyBufferToImage: pRegion[0] imageOffset.z is 0 and imageExtent.depth is 6. For 1D and 2D images these must be 0 and 1, respectively. The Vulkan spec states: If pname:dstImage is of type VK_IMAGE_TYPE_1D or VK_IMAGE_TYPE_2D, then for each element of pRegions, pname:imageOffset.z must be 0 and pname:imageExtent.depth must be 1
These errors were reproduce using both compressed and uncompressed formats, tested with R8G8B8A8_Unorm, R16B16G16A16_Float and BC6H_Float formats.