Fix memoryTypeBits validation in memory.requirements.buffer
authorPyry Haulos <phaulos@google.com>
Thu, 12 Jan 2017 23:27:44 +0000 (15:27 -0800)
committerPyry Haulos <phaulos@google.com>
Thu, 12 Jan 2017 23:27:44 +0000 (15:27 -0800)
Memory type bits returned for a subset of all possible usage flags must
be a superset of memory type bits returned for all usage flags case, not
the other way around.

Affects: dEQP-VK.memory.requirements.buffer.*

Vulkan CTS issue: 578

Change-Id: Iff34ffbf571fa7b0bd2d5e769e32d82a4dc9229e

external/vulkancts/modules/vulkan/memory/vktMemoryRequirementsTests.cpp

index ca36f53..154c1b2 100644 (file)
@@ -181,8 +181,8 @@ void verifyBufferRequirements (tcu::ResultCollector&                                        result,
                result.check((bufferFlags & VK_BUFFER_CREATE_SPARSE_BINDING_BIT) || hostVisibleCoherentMemoryFound,
                        "Required memory type doesn't include VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT and VK_MEMORY_PROPERTY_HOST_COHERENT_BIT");
 
-               result.check((requirements.memoryTypeBits & allUsageFlagsRequirements.memoryTypeBits) == requirements.memoryTypeBits,
-                       "Memory type bits aren't a subset of memory type bits for all usage flags combined");
+               result.check((requirements.memoryTypeBits & allUsageFlagsRequirements.memoryTypeBits) == allUsageFlagsRequirements.memoryTypeBits,
+                       "Memory type bits aren't a superset of memory type bits for all usage flags combined");
        }
 }