Merge "Fix required sample counts per spec issue 478" into vulkan-cts-1.0.1
diff --git a/external/vulkancts/modules/vulkan/api/vktApiFeatureInfo.cpp b/external/vulkancts/modules/vulkan/api/vktApiFeatureInfo.cpp
index ff7bfb6..8c05d89 100644
--- a/external/vulkancts/modules/vulkan/api/vktApiFeatureInfo.cpp
+++ b/external/vulkancts/modules/vulkan/api/vktApiFeatureInfo.cpp
@@ -1694,14 +1694,22 @@
bool isValidImageUsageFlagCombination (VkImageUsageFlags usage)
{
- if (usage & vk::VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT)
+ if ((usage & VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT) != 0)
{
- 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;
+ const VkImageUsageFlags allowedFlags = VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT
+ | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
+ | VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
+ | VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT;
+
+ // Only *_ATTACHMENT_BIT flags can be combined with TRANSIENT_ATTACHMENT_BIT
+ if ((usage & ~allowedFlags) != 0)
+ return false;
+
+ // TRANSIENT_ATTACHMENT_BIT is not valid without COLOR_ or DEPTH_STENCIL_ATTACHMENT_BIT
+ if ((usage & (VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT|VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT)) == 0)
+ return false;
}
+
return usage != 0;
}