From 4d67c1b1dfa71f1f15bddd835b99f1f10a801f95 Mon Sep 17 00:00:00 2001 From: James Fitzpatrick Date: Thu, 14 Apr 2022 10:46:59 +0100 Subject: [PATCH] Fix accidentally removed extension VK_KHR_global_priority was accidentally removed from the list of allowed extensions. Affects: dEQP-VK.info.device_extensions dEQP-VK.info.device_mandatory_features Components: vulkan VK-GL-CTS issue: 3639 Change-Id: I3173fa11c27358ad04fb970518b53ecf0e917865 --- .../vulkancts/framework/vulkan/vkDeviceExtensions.inl | 1 + .../framework/vulkan/vkMandatoryFeatures.inl | 19 +++++++++++++++++++ .../src/extensions/VK_KHR_global_priority.json | 14 ++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 external/vulkancts/scripts/src/extensions/VK_KHR_global_priority.json diff --git a/external/vulkancts/framework/vulkan/vkDeviceExtensions.inl b/external/vulkancts/framework/vulkan/vkDeviceExtensions.inl index 2b0bb1d..a5561f5 100644 --- a/external/vulkancts/framework/vulkan/vkDeviceExtensions.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceExtensions.inl @@ -32,6 +32,7 @@ static const char* s_allowedDeviceKhrExtensions[] = "VK_KHR_format_feature_flags2", "VK_KHR_fragment_shading_rate", "VK_KHR_get_memory_requirements2", + "VK_KHR_global_priority", "VK_KHR_image_format_list", "VK_KHR_imageless_framebuffer", "VK_KHR_incremental_present", diff --git a/external/vulkancts/framework/vulkan/vkMandatoryFeatures.inl b/external/vulkancts/framework/vulkan/vkMandatoryFeatures.inl index cdbf331..f1d350e 100644 --- a/external/vulkancts/framework/vulkan/vkMandatoryFeatures.inl +++ b/external/vulkancts/framework/vulkan/vkMandatoryFeatures.inl @@ -167,6 +167,16 @@ bool checkMandatoryFeatures(const vkt::Context& context) nextPtr = &physicalDeviceGlobalPriorityQueryFeaturesEXT.pNext; } + vk::VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR physicalDeviceGlobalPriorityQueryFeaturesKHR; + deMemset(&physicalDeviceGlobalPriorityQueryFeaturesKHR, 0, sizeof(physicalDeviceGlobalPriorityQueryFeaturesKHR)); + + if ( isExtensionSupported(deviceExtensions, RequiredExtension("VK_KHR_global_priority")) ) + { + physicalDeviceGlobalPriorityQueryFeaturesKHR.sType = getStructureType(); + *nextPtr = &physicalDeviceGlobalPriorityQueryFeaturesKHR; + nextPtr = &physicalDeviceGlobalPriorityQueryFeaturesKHR.pNext; + } + vk::VkPhysicalDeviceHostQueryResetFeaturesEXT physicalDeviceHostQueryResetFeaturesEXT; deMemset(&physicalDeviceHostQueryResetFeaturesEXT, 0, sizeof(physicalDeviceHostQueryResetFeaturesEXT)); @@ -1164,6 +1174,15 @@ bool checkMandatoryFeatures(const vkt::Context& context) } } + if ( isExtensionSupported(deviceExtensions, RequiredExtension("VK_KHR_global_priority")) ) + { + if ( physicalDeviceGlobalPriorityQueryFeaturesKHR.globalPriorityQuery == VK_FALSE ) + { + log << tcu::TestLog::Message << "Mandatory feature globalPriorityQuery not supported" << tcu::TestLog::EndMessage; + result = false; + } + } + if ( isExtensionSupported(deviceExtensions, RequiredExtension("VK_KHR_imageless_framebuffer")) ) { if ( physicalDeviceImagelessFramebufferFeaturesKHR.imagelessFramebuffer == VK_FALSE ) diff --git a/external/vulkancts/scripts/src/extensions/VK_KHR_global_priority.json b/external/vulkancts/scripts/src/extensions/VK_KHR_global_priority.json new file mode 100644 index 0000000..df0b819 --- /dev/null +++ b/external/vulkancts/scripts/src/extensions/VK_KHR_global_priority.json @@ -0,0 +1,14 @@ +{ + "register_extension": + { + "type": "device", + "core": "" + }, + "mandatory_features": + { + "VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR": + [ + { "features": ["globalPriorityQuery"], "requirements": ["VK_KHR_global_priority"] } + ] + } +} \ No newline at end of file -- 2.7.4