Remove unneeded check for graphicsPipelineLibraryFastLinking
authorRicardo Garcia <rgarcia@igalia.com>
Tue, 7 Jun 2022 14:56:35 +0000 (16:56 +0200)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Fri, 8 Jul 2022 14:41:04 +0000 (14:41 +0000)
Graphics pipeline tests using libraries that are linked into final
pipelines without using CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT were
checking if the graphicsPipelineLibraryFastLinking property was set to
true. This is not needed, because

(a) it's a property and not a feature and
(b) linking pipelines without link-time optimization is always allowed.

This commit removes the check and allows more graphics pipeline library
tests run on a wider variety of implementations.

In addition, checkPipelineLibraryRequirements was checking if the
implementation supported VK_KHR_pipeline_library, but this type of
dependencies are checked in dEQP-VK.info.device_extensions.

Affected tests:
dEQP-VK.*fast_linked_library*

VK-GL-CTS issue: 3743
Components: Vulkan

Change-Id: I4c67c195b87a4ab1c24d5d28caf54ea565551b14

external/vulkancts/framework/vulkan/vkPipelineConstructionUtil.cpp

index 9147474..7bec562 100644 (file)
@@ -144,19 +144,6 @@ void checkPipelineLibraryRequirements (const InstanceInterface&            vki,
        const auto supportedExtensions = enumerateDeviceExtensionProperties(vki, physicalDevice, DE_NULL);
        if (!isExtensionStructSupported(supportedExtensions, RequiredExtension("VK_EXT_graphics_pipeline_library")))
                TCU_THROW(NotSupportedError, "VK_EXT_graphics_pipeline_library not supported");
-
-       // VK_KHR_pipeline_library must be supported if the VK_EXT_graphics_pipeline_library extension is supported
-       if (!isExtensionStructSupported(supportedExtensions, RequiredExtension("VK_KHR_pipeline_library")))
-               TCU_FAIL("VK_KHR_pipeline_library not supported but VK_EXT_graphics_pipeline_library supported");
-
-#ifndef CTS_USES_VULKANSC
-       const vk::VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT pipelineLibraryProperties = getPhysicalDeviceExtensionProperties(vki, physicalDevice);
-       if ((pipelineConstructionType == PIPELINE_CONSTRUCTION_TYPE_FAST_LINKED_LIBRARY) && !pipelineLibraryProperties.graphicsPipelineLibraryFastLinking)
-               TCU_THROW(NotSupportedError, "graphicsPipelineLibraryFastLinking is not supported");
-#else
-       if (pipelineConstructionType == PIPELINE_CONSTRUCTION_TYPE_FAST_LINKED_LIBRARY)
-               TCU_THROW(NotSupportedError, "graphicsPipelineLibraryFastLinking is not supported");
-#endif // CTS_USES_VULKANSC
 }
 
 template<typename StructNext>