Fix accidentally removed extension
authorJames Fitzpatrick <james.fitzpatrick@imgtec.com>
Thu, 14 Apr 2022 09:46:59 +0000 (10:46 +0100)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Thu, 14 Apr 2022 19:32:20 +0000 (19:32 +0000)
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

external/vulkancts/framework/vulkan/vkDeviceExtensions.inl
external/vulkancts/framework/vulkan/vkMandatoryFeatures.inl
external/vulkancts/scripts/src/extensions/VK_KHR_global_priority.json [new file with mode: 0644]

index 2b0bb1d..a5561f5 100644 (file)
@@ -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",
index cdbf331..f1d350e 100644 (file)
@@ -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<VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR>();
+               *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 (file)
index 0000000..df0b819
--- /dev/null
@@ -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