From: Tomasz Owczarek Date: Mon, 9 Sep 2019 15:03:44 +0000 (+0100) Subject: Accept saturated values for the 32bit buffer X-Git-Tag: upstream/1.3.5~1881 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9eeec03a6dc5f6c05dab28eb418d25c5794f8d0e;p=platform%2Fupstream%2FVK-GL-CTS.git Accept saturated values for the 32bit buffer API documentation, extension 1.1, vkGetQueryPoolResults description: "If VK_QUERY_RESULT_64_BIT is not set and the result overflows a 32-bit value, the value may either wrap or saturate." Affects: dEQP-VK.pipeline.timestamp.misc_tests.* Components: Vulkan VK-GL-CTS issue: 1985 Change-Id: Id229ea4c13b52bf27c00de734c437d878365fef9 --- diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineTimestampTests.cpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineTimestampTests.cpp index f78b09f..69f4439 100644 --- a/external/vulkancts/modules/vulkan/pipeline/vktPipelineTimestampTests.cpp +++ b/external/vulkancts/modules/vulkan/pipeline/vktPipelineTimestampTests.cpp @@ -3024,6 +3024,8 @@ tcu::TestStatus ConsistentQueryResultsTestInstance::iterate(void) deUint32 tsGet32Bits; deUint64 tsGet64Bits; + constexpr deUint32 maxDeUint32Value = std::numeric_limits::max(); + submitCommandsAndWait(vk, vkDevice, queue, m_cmdBuffer.get()); // Get results from buffers. @@ -3043,7 +3045,8 @@ tcu::TestStatus ConsistentQueryResultsTestInstance::iterate(void) // Check results are consistent. if (tsBuffer32Bits == tsGet32Bits && tsBuffer64Bits == tsGet64Bits && - (tsGet64Bits & std::numeric_limits::max()) == tsGet32Bits) + (((tsGet64Bits & maxDeUint32Value) == tsGet32Bits) || + ((tsGet64Bits > maxDeUint32Value) && (maxDeUint32Value == tsGet32Bits)))) { return tcu::TestStatus::pass("Pass"); }