DO NOT MERGE Check only valid usages in image format query tests
authorMika Isojärvi <misojarvi@google.com>
Fri, 7 Oct 2016 00:26:22 +0000 (17:26 -0700)
committerMika Isojärvi <misojarvi@google.com>
Fri, 7 Oct 2016 00:26:22 +0000 (17:26 -0700)
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

external/vulkancts/modules/vulkan/api/vktApiFeatureInfo.cpp

index 65c077d..0074fc2 100644 (file)
@@ -1657,6 +1657,16 @@ VkImageUsageFlags getValidImageUsageFlags (VkFormat, VkFormatFeatureFlags suppor
 
 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;
 }