From 684510930b526050c26afcffe649e91fe9f392e1 Mon Sep 17 00:00:00 2001 From: ziga-lunarg Date: Mon, 27 Feb 2023 16:01:56 +0100 Subject: [PATCH] Fix global priority tests Extensions VK_KHR_global_priority and VK_EXT_global_priority behave differently, this test was once changed to fix the test using the KHR extension, but it broke the test using EXT The structs from global priority query must only be used with the KHR version of the test Components: Vulkan VK-GL-CTS issue: 3898 Affected tests: dEQP-VK.api.device_init.create_device_global_priority* Change-Id: I906d8f9d7593f49533eb73c8faac4920dc9ce0c8 --- .../vulkan/api/vktApiDeviceInitializationTests.cpp | 43 ++++++++++++---------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/external/vulkancts/modules/vulkan/api/vktApiDeviceInitializationTests.cpp b/external/vulkancts/modules/vulkan/api/vktApiDeviceInitializationTests.cpp index 7790ad3..12dab26 100644 --- a/external/vulkancts/modules/vulkan/api/vktApiDeviceInitializationTests.cpp +++ b/external/vulkancts/modules/vulkan/api/vktApiDeviceInitializationTests.cpp @@ -916,18 +916,21 @@ tcu::TestStatus createDeviceWithGlobalPriorityTest (Context& context, bool useKh std::vector queueFamilyProperties2 (queueFamilyPropertyCount); std::vector globalPriorityProperties (queueFamilyPropertyCount); - for (deUint32 ndx = 0; ndx < queueFamilyPropertyCount; ndx++) + if (useKhrGlobalPriority) { - globalPriorityProperties[ndx].sType = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR; - globalPriorityProperties[ndx].pNext = DE_NULL; - queueFamilyProperties2[ndx].sType = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2; - queueFamilyProperties2[ndx].pNext = &globalPriorityProperties[ndx]; - } + for (deUint32 ndx = 0; ndx < queueFamilyPropertyCount; ndx++) + { + globalPriorityProperties[ndx].sType = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR; + globalPriorityProperties[ndx].pNext = DE_NULL; + queueFamilyProperties2[ndx].sType = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2; + queueFamilyProperties2[ndx].pNext = &globalPriorityProperties[ndx]; + } - instanceDriver.getPhysicalDeviceQueueFamilyProperties2(physicalDevice, &queueFamilyPropertyCount, queueFamilyProperties2.data()); - TCU_CHECK((size_t)queueFamilyPropertyCount == queueFamilyProperties2.size()); + instanceDriver.getPhysicalDeviceQueueFamilyProperties2(physicalDevice, &queueFamilyPropertyCount, queueFamilyProperties2.data()); + TCU_CHECK((size_t)queueFamilyPropertyCount == queueFamilyProperties2.size()); + } - std::vector enabledExtensions = { "VK_EXT_global_priority", "VK_EXT_global_priority_query" }; + std::vector enabledExtensions = { "VK_EXT_global_priority" }; if (useKhrGlobalPriority) enabledExtensions = { "VK_KHR_global_priority" }; @@ -964,20 +967,20 @@ tcu::TestStatus createDeviceWithGlobalPriorityTest (Context& context, bool useKh const VkDeviceCreateInfo deviceCreateInfo = { - VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO, //sType; - &globalPriorityQueryFeatures, //pNext; - (VkDeviceCreateFlags)0u, //flags; - 1, //queueRecordCount; - &queueCreateInfo, //pRequestedQueues; - 0, //layerCount; - DE_NULL, //ppEnabledLayerNames; - (deUint32)enabledExtensions.size(), //extensionCount; - enabledExtensions.data(), //ppEnabledExtensionNames; - DE_NULL, //pEnabledFeatures; + VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO, //sType; + useKhrGlobalPriority ? &globalPriorityQueryFeatures : DE_NULL, //pNext; + (VkDeviceCreateFlags)0u, //flags; + 1, //queueRecordCount; + &queueCreateInfo, //pRequestedQueues; + 0, //layerCount; + DE_NULL, //ppEnabledLayerNames; + (deUint32)enabledExtensions.size(), //extensionCount; + enabledExtensions.data(), //ppEnabledExtensionNames; + DE_NULL, //pEnabledFeatures; }; const bool mayBeDenied = globalPriority > VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT; - const bool mustFail = globalPriority < globalPriorityProperties[0].priorities[0] || globalPriority > globalPriorityProperties[0].priorities[globalPriorityProperties[0].priorityCount - 1]; + const bool mustFail = useKhrGlobalPriority && (globalPriority < globalPriorityProperties[0].priorities[0] || globalPriority > globalPriorityProperties[0].priorities[globalPriorityProperties[0].priorityCount - 1]); try { -- 2.7.4