From 1332ee860fb4a1b80a5c2a9d347a8e6c0ab644f7 Mon Sep 17 00:00:00 2001 From: Matthew Netsch Date: Fri, 24 Feb 2023 08:18:56 -0800 Subject: Fix timeout case in vktSynchronizationTimelineSemaphoreTests Loop was inverted and race condition on error status. Components: Vulkan VK-GL-CTS Issue: 4282 Affects: dEQP-VK.synchronization*.timeline_semaphore.wait.poll* Change-Id: I8811dbcbdc34130c8bf4ced7e4e3013ca411da05 --- .../vktSynchronizationTimelineSemaphoreTests.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationTimelineSemaphoreTests.cpp b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationTimelineSemaphoreTests.cpp index 5975df29a..7e7efbaff 100644 --- a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationTimelineSemaphoreTests.cpp +++ b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationTimelineSemaphoreTests.cpp @@ -427,6 +427,7 @@ public: std::vector timelineValues; const deUint64 secondInMicroSeconds = 1000ull * 1000ull * 1000ull; deUint64 startTime; + VkResult result = VK_SUCCESS; for (deUint32 i = 0; i < semaphorePtrs.size(); i++) { @@ -449,7 +450,8 @@ public: do { deUint64 value; - VkResult result = vk.getSemaphoreCounterValue(device, semaphores.back(), &value); + + result = vk.getSemaphoreCounterValue(device, semaphores.back(), &value); if (result != VK_SUCCESS) break; @@ -463,12 +465,15 @@ public: } if (value > timelineValues.back()) + { + result = VK_ERROR_UNKNOWN; break; - } while ((deGetMicroseconds() - startTime) > secondInMicroSeconds); + } + } while ((deGetMicroseconds() - startTime) < secondInMicroSeconds); VK_CHECK(vk.deviceWaitIdle(device)); - if ((deGetMicroseconds() - startTime) < secondInMicroSeconds) + if (result != VK_SUCCESS) return tcu::TestStatus::fail("Fail"); return tcu::TestStatus::fail("Timeout"); } -- cgit v1.2.3 From 645dd21f3b009f1dc0475b7990126a952092a600 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20Ka=C5=84toch?= Date: Thu, 16 Feb 2023 17:45:33 +0100 Subject: Wrong assumption in robustness tests Accept cases, such as <0.0f, 123.0f>, <123.0f, 0.0f> for out of bounds memory, as those can be correctly generated by the compiler. VK-GL-CTS issue: 4288 Components: Vulkan Affects: dEQP-VK.robustness.robustness2.* Change-Id: If54aedf4277d93b404056274e397e7f73c05872b --- .../vulkan/robustness/vktRobustnessExtsTests.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/external/vulkancts/modules/vulkan/robustness/vktRobustnessExtsTests.cpp b/external/vulkancts/modules/vulkan/robustness/vktRobustnessExtsTests.cpp index af3a5ffb3..272765291 100644 --- a/external/vulkancts/modules/vulkan/robustness/vktRobustnessExtsTests.cpp +++ b/external/vulkancts/modules/vulkan/robustness/vktRobustnessExtsTests.cpp @@ -1263,9 +1263,24 @@ void RobustnessExtsTestCase::initPrograms (SourceCollections& programCollection) checks << " else if (temp == zzzo) temp = " << vecType << "(0);\n"; // non-volatile value replaced with stored value - if (supportsStores(m_data.descriptorType) && !m_data.vol) + if (supportsStores(m_data.descriptorType) && !m_data.vol) { checks << " else if (temp == " << getStoreValue(m_data.descriptorType, numComponents, vecType, bufType) << ") temp = " << vecType << "(0);\n"; + if (m_data.descriptorType == VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC || m_data.descriptorType == VK_DESCRIPTOR_TYPE_STORAGE_BUFFER) { + + for (int mask = (numComponents*numComponents) - 2; mask > 0; mask--) { + checks << " else if (temp == " << vecType << "("; + for (int vecIdx = 0; vecIdx < 4; vecIdx++) { + if (mask & (1 << vecIdx)) checks << storeValue; + else checks << "0"; + + if (vecIdx != 3) checks << ","; + } + checks << ")) temp = " << vecType << "(0);\n"; + } + } + } + // value straddling the boundary, returning a partial vector if (expectedOOB2 != expectedOOB) checks << " else if (c == inboundcoords && temp == " << expectedOOB2 << ") temp = " << vecType << "(0);\n"; -- cgit v1.2.3 From f766d34f713e43974c6fb5b7b443062ef61e59ca Mon Sep 17 00:00:00 2001 From: ziga-lunarg Date: Sun, 19 Feb 2023 13:27:26 +0100 Subject: Fix checking support in texture filtering tests The tests use mipmaps even if the test parameter for mipmaps is false and the check support function does not do that Components: Vulkan VK-GL-CTS issue: 4294 Affected tests: dEQP-VK.texture.filtering.2d_array.* Change-Id: Iabd33803fc952f3ea4c7598674fd9f58b53070d4 --- external/vulkancts/modules/vulkan/texture/vktTextureFilteringTests.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/external/vulkancts/modules/vulkan/texture/vktTextureFilteringTests.cpp b/external/vulkancts/modules/vulkan/texture/vktTextureFilteringTests.cpp index f3ec40ff5..e441ab8f9 100644 --- a/external/vulkancts/modules/vulkan/texture/vktTextureFilteringTests.cpp +++ b/external/vulkancts/modules/vulkan/texture/vktTextureFilteringTests.cpp @@ -128,7 +128,8 @@ void checkTextureSupport (Context& context, const Texture2DArrayTestCaseParamete context.requireDeviceFunctionality("VK_KHR_sampler_mirror_clamp_to_edge"); #ifndef CTS_USES_VULKANSC - if (testParameters.format == VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 && testParameters.mipmaps && context.getRGBA10X6FormatsFeaturesEXT().formatRgba10x6WithoutYCbCrSampler == VK_FALSE) + bool mipmaps = (deLog2Floor32(de::max(testParameters.width, testParameters.height)) + 1) > 1 || testParameters.mipmaps; + if (testParameters.format == VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 && mipmaps && context.getRGBA10X6FormatsFeaturesEXT().formatRgba10x6WithoutYCbCrSampler == VK_FALSE) TCU_THROW(NotSupportedError, "formatRgba10x6WithoutYCbCrSampler not supported"); #endif } -- cgit v1.2.3