summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--external/vulkancts/modules/vulkan/robustness/vktRobustnessExtsTests.cpp17
-rw-r--r--external/vulkancts/modules/vulkan/synchronization/vktSynchronizationTimelineSemaphoreTests.cpp11
-rw-r--r--external/vulkancts/modules/vulkan/texture/vktTextureFilteringTests.cpp3
3 files changed, 26 insertions, 5 deletions
diff --git a/external/vulkancts/modules/vulkan/robustness/vktRobustnessExtsTests.cpp b/external/vulkancts/modules/vulkan/robustness/vktRobustnessExtsTests.cpp
index f6aa11020..b5fa74d0b 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";
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<deUint64> 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");
}
diff --git a/external/vulkancts/modules/vulkan/texture/vktTextureFilteringTests.cpp b/external/vulkancts/modules/vulkan/texture/vktTextureFilteringTests.cpp
index dc69ea23d..d8abf0a3f 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
}