Skip image usage flags that contain VK__IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT
and some incompatible bits or only VK__IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT.
Bug:
31732496
Change-Id: I24a688005aaa2c1546842148492831e66b76c5e6
bool isValidImageUsageFlagCombination (VkImageUsageFlags usage)
{
+ if (usage & vk::VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT)
+ {
+ const VkImageUsageFlags allowedFlags = vk::VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT
+ | vk::VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
+ | vk::VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
+ | vk::VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT;
+
+ return (usage & ~allowedFlags) == 0 && usage != vk::VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT;
+ }
+
return usage != 0;
}