From a28552cc96a4722fbcbef5b8a648daaab46315cf Mon Sep 17 00:00:00 2001 From: ziga-lunarg Date: Sat, 17 Sep 2022 01:08:45 +0200 Subject: [PATCH] Fix enabling timelineSemaphore feature The feature was only enabled if the extension was used and not when vulkan version 1.2 was used Components: Vulkan VK-GL-CTS issue: 3955 Affected tests: dEQP-VK.*.smoke.timeline_semaphores dEQP-VKSC.*.smoke.timeline_semaphores Change-Id: If1b6fb3a6b0f6ef6e54b3bc2f36f1a7a55fd5fab --- .../vulkan/synchronization/vktSynchronizationSmokeTests.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationSmokeTests.cpp b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationSmokeTests.cpp index 43ed315..9405368 100644 --- a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationSmokeTests.cpp +++ b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationSmokeTests.cpp @@ -146,19 +146,22 @@ Move createTestDevice (Context& context, SemaphoreTestConfig& config, queueInfo.pQueuePriorities = queuePriority; vector deviceExtensions; + bool useFeatures2 = false; if (config.semaphoreType == VK_SEMAPHORE_TYPE_TIMELINE) { if (!isCoreDeviceExtension(context.getUsedApiVersion(), "VK_KHR_timeline_semaphore")) deviceExtensions.push_back("VK_KHR_timeline_semaphore"); addToChainVulkanStructure(&nextPtr, timelineSemaphoreFeatures); + useFeatures2 = true; } if (config.synchronizationType == SynchronizationType::SYNCHRONIZATION2) { deviceExtensions.push_back("VK_KHR_synchronization2"); addToChainVulkanStructure(&nextPtr, synchronization2Features); + useFeatures2 = true; } - void* pNext = deviceExtensions.empty() ? DE_NULL : &physicalDeviceFeatures2; + void* pNext = !useFeatures2 ? DE_NULL : &physicalDeviceFeatures2; #ifdef CTS_USES_VULKANSC VkDeviceObjectReservationCreateInfo memReservationInfo = context.getTestContext().getCommandLine().isSubProcess() ? context.getResourceInterface()->getStatMax() : resetDeviceObjectReservationCreateInfo(); memReservationInfo.pNext = pNext; @@ -206,7 +209,7 @@ Move createTestDevice (Context& context, SemaphoreTestConfig& config, deviceInfo.ppEnabledExtensionNames = deviceExtensions.empty() ? DE_NULL : &deviceExtensions[0]; deviceInfo.enabledLayerCount = 0u; deviceInfo.ppEnabledLayerNames = DE_NULL; - deviceInfo.pEnabledFeatures = deviceExtensions.empty() ? &physicalDeviceFeatures : DE_NULL; + deviceInfo.pEnabledFeatures = !useFeatures2 ? &physicalDeviceFeatures : DE_NULL; *outQueueFamilyIndex = queueInfo.queueFamilyIndex; -- 2.7.4