Handle ASPECT_COLOR_BIT used with multi-plane formats. Closes #1708

* This is spec'd as a simple alias for all planes, useful for creating image
  views.
This commit is contained in:
baldurk
2020-02-05 19:46:24 +00:00
parent 5dc69969bb
commit 4d205eb818
+6 -1
View File
@@ -1252,7 +1252,12 @@ struct ImageSubresourceRange
}
void Sanitise(const ImageInfo &info)
{
if(aspectMask & ~info.Aspects())
// VK_IMAGE_ASPECT_COLOR_BIT is an alias for "all planes" in multi-planar formats
if(aspectMask == VK_IMAGE_ASPECT_COLOR_BIT && (info.Aspects() & VK_IMAGE_ASPECT_PLANE_0_BIT))
{
aspectMask = info.Aspects();
}
else if(aspectMask & ~info.Aspects())
{
if(aspectMask != VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM)
{