Fixes missing timeline semaphore checks
authorMatthew Netsch <quic_mnetsch@quicinc.com>
Wed, 2 Sep 2020 17:17:16 +0000 (13:17 -0400)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Thu, 3 Sep 2020 14:58:15 +0000 (10:58 -0400)
Components: Vulkan
VK-GL-CTS Issue: 2572

Affects:
dEQP-VK.synchronization.op.multi_queue.*
dEQP-VK.synchronization.smoke.timeline_semaphores

Change-Id: I9829ae9f09ca3a45c6ce7a6aad5ad21c6caad3cd

external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperationMultiQueueTests.cpp
external/vulkancts/modules/vulkan/synchronization/vktSynchronizationSmokeTests.cpp

index 5046ec87f2a5793c5d416c68a163a3f0cf712ab4..dc4645fee1207287dc5ebe68abbf3a60fd907b7f 100644 (file)
@@ -500,6 +500,9 @@ public:
                deUint32                                maxQueues               = 0;
                std::vector<deUint32>   queueFamilies;
 
+               if (!context.getTimelineSemaphoreFeatures().timelineSemaphore)
+                       TCU_THROW(NotSupportedError, "Timeline semaphore not supported");
+
                if (m_queues->totalQueueCount() < 2)
                        TCU_THROW(NotSupportedError, "Not enough queues");
 
index a3a36b5b8d5acda16673e0e84bb2cc042a128e62..67f1b8a8115cab6daa7ff755ef162e3f642bfd43 100644 (file)
@@ -1092,6 +1092,9 @@ tcu::TestStatus testFences (Context& context)
 
 tcu::TestStatus testSemaphores (Context& context, VkSemaphoreType semaphoreType)
 {
+       if (semaphoreType == VK_SEMAPHORE_TYPE_TIMELINE_KHR && !context.getTimelineSemaphoreFeatures().timelineSemaphore)
+               TCU_THROW(NotSupportedError, "Timeline semaphore not supported");
+
        TestLog&                                        log                                     = context.getTestContext().getLog();
        const PlatformInterface&        platformInterface       = context.getPlatformInterface();
        const InstanceInterface&        instanceInterface       = context.getInstanceInterface();