Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: I561526a8e0cc985c8183688ee4af633a6e91fa8b
diff --git a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperationMultiQueueTests.cpp b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperationMultiQueueTests.cpp
index c149a35..5046ec8 100644
--- a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperationMultiQueueTests.cpp
+++ b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperationMultiQueueTests.cpp
@@ -642,8 +642,19 @@
const Data expected = m_ops.front()->getData();
const Data actual = m_ops.back()->getData();
- if (0 != deMemCmp(expected.data, actual.data, expected.size))
- return tcu::TestStatus::fail("Memory contents don't match");
+ if (isIndirectBuffer(m_resourceDesc.type))
+ {
+ const deUint32 expectedValue = reinterpret_cast<const deUint32*>(expected.data)[0];
+ const deUint32 actualValue = reinterpret_cast<const deUint32*>(actual.data)[0];
+
+ if (actualValue < expectedValue)
+ return tcu::TestStatus::fail("Counter value is smaller than expected");
+ }
+ else
+ {
+ if (0 != deMemCmp(expected.data, actual.data, expected.size))
+ return tcu::TestStatus::fail("Memory contents don't match");
+ }
}
// Make the validation layers happy.
diff --git a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperationSingleQueueTests.cpp b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperationSingleQueueTests.cpp
index f21b98c..f2df751 100644
--- a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperationSingleQueueTests.cpp
+++ b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperationSingleQueueTests.cpp
@@ -435,8 +435,19 @@
const Data expected = m_ops.front()->getData();
const Data actual = m_ops.back()->getData();
- if (0 != deMemCmp(expected.data, actual.data, expected.size))
- return tcu::TestStatus::fail("Memory contents don't match");
+ if (isIndirectBuffer(m_resources[0]->getType()))
+ {
+ const deUint32 expectedValue = reinterpret_cast<const deUint32*>(expected.data)[0];
+ const deUint32 actualValue = reinterpret_cast<const deUint32*>(actual.data)[0];
+
+ if (actualValue < expectedValue)
+ return tcu::TestStatus::fail("Counter value is smaller than expected");
+ }
+ else
+ {
+ if (0 != deMemCmp(expected.data, actual.data, expected.size))
+ return tcu::TestStatus::fail("Memory contents don't match");
+ }
}
return tcu::TestStatus::pass("OK");