Fix mandatory features test for mesh shaders
authorRicardo Garcia <rgarcia@igalia.com>
Thu, 3 Nov 2022 11:44:12 +0000 (12:44 +0100)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Fri, 11 Nov 2022 18:08:31 +0000 (18:08 +0000)
Adding the fragment shading rate extension to the list of requirements
for primitiveFragmentShadingRateMeshShader makes sure the generated code
is OK and the test makes more sense.

Affects:
dEQP-VK.info.device_mandatory_features
dEQP-VKSC.info.device_mandatory_features

VK-GL-CTS issue: 2991
Components: Vulkan

Change-Id: I8f4ede40743486b66cc93665cadc789a7db4cc41

external/vulkancts/framework/vulkan/generated/vulkan/vkMandatoryFeatures.inl
external/vulkancts/framework/vulkan/generated/vulkansc/vkMandatoryFeatures.inl
external/vulkancts/scripts/src/extensions/VK_EXT_mesh_shader.json

index c894110..7b3df33 100644 (file)
@@ -186,7 +186,7 @@ bool checkMandatoryFeatures(const vkt::Context& context)
        vk::VkPhysicalDeviceFragmentShadingRateFeaturesKHR physicalDeviceFragmentShadingRateFeaturesKHR;
        deMemset(&physicalDeviceFragmentShadingRateFeaturesKHR, 0, sizeof(physicalDeviceFragmentShadingRateFeaturesKHR));
 
-       if ( isExtensionStructSupported(deviceExtensions, RequiredExtension("physicalDeviceMeshShaderFeaturesEXT.primitiveFragmentShadingRateMeshShader")) )
+       if ( isExtensionStructSupported(deviceExtensions, RequiredExtension("VK_KHR_fragment_shading_rate")) )
        {
                physicalDeviceFragmentShadingRateFeaturesKHR.sType = getStructureType<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>();
                *nextPtr = &physicalDeviceFragmentShadingRateFeaturesKHR;
@@ -1318,7 +1318,7 @@ bool checkMandatoryFeatures(const vkt::Context& context)
        }
 
 #if defined(CTS_USES_VULKAN)
-       if ( physicalDeviceMeshShaderFeaturesEXT.primitiveFragmentShadingRateMeshShader )
+       if ( isExtensionStructSupported(deviceExtensions, RequiredExtension("VK_KHR_fragment_shading_rate")) && physicalDeviceMeshShaderFeaturesEXT.primitiveFragmentShadingRateMeshShader )
        {
                if ( physicalDeviceFragmentShadingRateFeaturesKHR.primitiveFragmentShadingRate == VK_FALSE )
                {
index 2e0aadd..dfa0ff0 100644 (file)
@@ -112,7 +112,7 @@ bool checkMandatoryFeatures(const vkt::Context& context)
        vk::VkPhysicalDeviceFragmentShadingRateFeaturesKHR physicalDeviceFragmentShadingRateFeaturesKHR;
        deMemset(&physicalDeviceFragmentShadingRateFeaturesKHR, 0, sizeof(physicalDeviceFragmentShadingRateFeaturesKHR));
 
-       if ( isExtensionStructSupported(deviceExtensions, RequiredExtension("physicalDeviceMeshShaderFeaturesEXT.primitiveFragmentShadingRateMeshShader")) )
+       if ( isExtensionStructSupported(deviceExtensions, RequiredExtension("VK_KHR_fragment_shading_rate")) )
        {
                physicalDeviceFragmentShadingRateFeaturesKHR.sType = getStructureType<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>();
                *nextPtr = &physicalDeviceFragmentShadingRateFeaturesKHR;
@@ -770,7 +770,7 @@ bool checkMandatoryFeatures(const vkt::Context& context)
        }
 
 #if defined(CTS_USES_VULKAN)
-       if ( physicalDeviceMeshShaderFeaturesEXT.primitiveFragmentShadingRateMeshShader )
+       if ( isExtensionStructSupported(deviceExtensions, RequiredExtension("VK_KHR_fragment_shading_rate")) && physicalDeviceMeshShaderFeaturesEXT.primitiveFragmentShadingRateMeshShader )
        {
                if ( physicalDeviceFragmentShadingRateFeaturesKHR.primitiveFragmentShadingRate == VK_FALSE )
                {
index 9c47b25..576bbf0 100644 (file)
@@ -12,7 +12,7 @@
                ],
                "VkPhysicalDeviceFragmentShadingRateFeaturesKHR":
                [
-                       { "features": ["primitiveFragmentShadingRate"], "requirements": ["physicalDeviceMeshShaderFeaturesEXT.primitiveFragmentShadingRateMeshShader"], "mandatory_variant": ["vulkan"] }
+                       { "features": ["primitiveFragmentShadingRate"], "requirements": ["VK_KHR_fragment_shading_rate", "physicalDeviceMeshShaderFeaturesEXT.primitiveFragmentShadingRateMeshShader"], "mandatory_variant": ["vulkan"] }
                ]
        }
 }