Fix extended_dynamic_state2 tests
authorPiotr Byszewski <piotr.byszewski@mobica.com>
Mon, 4 Oct 2021 10:13:36 +0000 (12:13 +0200)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Fri, 8 Oct 2021 19:51:35 +0000 (19:51 +0000)
Before this change alias assignment was only done for
promoted extensions. With this change search for aliases
is done for all extensions listed in extensions_data.txt.

This mainly fixes issue with tests for partially promoted
VK_EXT_extended_dynamic_state2. Three entrypoints that
were not promoted to vk1.3 must still use EXT when
vk1.2 implementation is tested.

This change also removes one duplicate from extensions_data.txt.

Components: Vulkan, Framework

VK-GL-CTS Issue: 3159

Affects: dEQP-VK.pipeline.extended_dynamic_state.*

Change-Id: I552764b3559a6f78d84a2f764f0cc5250c52f0ed

external/vulkancts/framework/vulkan/vkConcreteDeviceInterface.inl
external/vulkancts/framework/vulkan/vkDeviceDriverImpl.inl
external/vulkancts/framework/vulkan/vkDeviceExtensions.inl
external/vulkancts/framework/vulkan/vkDeviceFunctionPointers.inl
external/vulkancts/framework/vulkan/vkInitDeviceFunctionPointers.inl
external/vulkancts/framework/vulkan/vkNullDriverImpl.inl
external/vulkancts/framework/vulkan/vkVirtualDeviceInterface.inl
external/vulkancts/scripts/gen_framework.py
external/vulkancts/scripts/src/extensions_data.txt

index d9faf36..2a6b9db 100644 (file)
@@ -315,10 +315,7 @@ virtual void                               cmdSubpassShadingHUAWEI                                                 (VkCommandBuffer commandBuffer) co
 virtual void                           cmdBindInvocationMaskHUAWEI                                             (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const;
 virtual VkResult                       getMemoryRemoteAddressNV                                                (VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress) const;
 virtual void                           cmdSetPatchControlPointsEXT                                             (VkCommandBuffer commandBuffer, uint32_t patchControlPoints) const;
-virtual void                           cmdSetRasterizerDiscardEnableEXT                                (VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable) const;
-virtual void                           cmdSetDepthBiasEnableEXT                                                (VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable) const;
 virtual void                           cmdSetLogicOpEXT                                                                (VkCommandBuffer commandBuffer, VkLogicOp logicOp) const;
-virtual void                           cmdSetPrimitiveRestartEnableEXT                                 (VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable) const;
 virtual void                           cmdSetColorWriteEnableEXT                                               (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables) const;
 virtual void                           cmdDrawMultiEXT                                                                 (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride) const;
 virtual void                           cmdDrawMultiIndexedEXT                                                  (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, const int32_t* pVertexOffset) const;
index 18c2fc5..cff50ad 100644 (file)
@@ -1572,26 +1572,11 @@ void DeviceDriver::cmdSetPatchControlPointsEXT (VkCommandBuffer commandBuffer, u
        m_vk.cmdSetPatchControlPointsEXT(commandBuffer, patchControlPoints);
 }
 
-void DeviceDriver::cmdSetRasterizerDiscardEnableEXT (VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable) const
-{
-       m_vk.cmdSetRasterizerDiscardEnableEXT(commandBuffer, rasterizerDiscardEnable);
-}
-
-void DeviceDriver::cmdSetDepthBiasEnableEXT (VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable) const
-{
-       m_vk.cmdSetDepthBiasEnableEXT(commandBuffer, depthBiasEnable);
-}
-
 void DeviceDriver::cmdSetLogicOpEXT (VkCommandBuffer commandBuffer, VkLogicOp logicOp) const
 {
        m_vk.cmdSetLogicOpEXT(commandBuffer, logicOp);
 }
 
-void DeviceDriver::cmdSetPrimitiveRestartEnableEXT (VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable) const
-{
-       m_vk.cmdSetPrimitiveRestartEnableEXT(commandBuffer, primitiveRestartEnable);
-}
-
 void DeviceDriver::cmdSetColorWriteEnableEXT (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables) const
 {
        m_vk.cmdSetColorWriteEnableEXT(commandBuffer, attachmentCount, pColorWriteEnables);
index 8df640c..925f408 100644 (file)
@@ -97,6 +97,5 @@ static const char* s_allowedDeviceKhrExtensions[] =
        "VK_EXT_texture_compression_astc_hdr",
        "VK_EXT_tooling_info",
        "VK_EXT_ycbcr_2plane_444_formats",
-       "VK_KHR_shader_integer_dot_product",
 };
 
index 9a1cbda..d860f26 100644 (file)
@@ -315,10 +315,7 @@ CmdSubpassShadingHUAWEIFunc                                                        cmdSubpassShadingHUAWEI;
 CmdBindInvocationMaskHUAWEIFunc                                                cmdBindInvocationMaskHUAWEI;
 GetMemoryRemoteAddressNVFunc                                           getMemoryRemoteAddressNV;
 CmdSetPatchControlPointsEXTFunc                                                cmdSetPatchControlPointsEXT;
-CmdSetRasterizerDiscardEnableEXTFunc                           cmdSetRasterizerDiscardEnableEXT;
-CmdSetDepthBiasEnableEXTFunc                                           cmdSetDepthBiasEnableEXT;
 CmdSetLogicOpEXTFunc                                                           cmdSetLogicOpEXT;
-CmdSetPrimitiveRestartEnableEXTFunc                                    cmdSetPrimitiveRestartEnableEXT;
 CmdSetColorWriteEnableEXTFunc                                          cmdSetColorWriteEnableEXT;
 CmdDrawMultiEXTFunc                                                                    cmdDrawMultiEXT;
 CmdDrawMultiIndexedEXTFunc                                                     cmdDrawMultiIndexedEXT;
index 855dd8e..9aebe2e 100644 (file)
@@ -298,8 +298,14 @@ m_vk.cmdSetStencilOp                                                                       = (CmdSetStencilOpFunc)                                                                 GET_PROC_ADDR("vkCm
 if (!m_vk.cmdSetStencilOp)
        m_vk.cmdSetStencilOp                                                            = (CmdSetStencilOpFunc)                                                                 GET_PROC_ADDR("vkCmdSetStencilOpEXT");
 m_vk.cmdSetRasterizerDiscardEnable                                             = (CmdSetRasterizerDiscardEnableFunc)                                   GET_PROC_ADDR("vkCmdSetRasterizerDiscardEnable");
+if (!m_vk.cmdSetRasterizerDiscardEnable)
+       m_vk.cmdSetRasterizerDiscardEnable                                      = (CmdSetRasterizerDiscardEnableFunc)                                   GET_PROC_ADDR("vkCmdSetRasterizerDiscardEnableEXT");
 m_vk.cmdSetDepthBiasEnable                                                             = (CmdSetDepthBiasEnableFunc)                                                   GET_PROC_ADDR("vkCmdSetDepthBiasEnable");
+if (!m_vk.cmdSetDepthBiasEnable)
+       m_vk.cmdSetDepthBiasEnable                                                      = (CmdSetDepthBiasEnableFunc)                                                   GET_PROC_ADDR("vkCmdSetDepthBiasEnableEXT");
 m_vk.cmdSetPrimitiveRestartEnable                                              = (CmdSetPrimitiveRestartEnableFunc)                                    GET_PROC_ADDR("vkCmdSetPrimitiveRestartEnable");
+if (!m_vk.cmdSetPrimitiveRestartEnable)
+       m_vk.cmdSetPrimitiveRestartEnable                                       = (CmdSetPrimitiveRestartEnableFunc)                                    GET_PROC_ADDR("vkCmdSetPrimitiveRestartEnableEXT");
 m_vk.getDeviceBufferMemoryRequirements                                 = (GetDeviceBufferMemoryRequirementsFunc)                               GET_PROC_ADDR("vkGetDeviceBufferMemoryRequirements");
 if (!m_vk.getDeviceBufferMemoryRequirements)
        m_vk.getDeviceBufferMemoryRequirements                          = (GetDeviceBufferMemoryRequirementsFunc)                               GET_PROC_ADDR("vkGetDeviceBufferMemoryRequirementsKHR");
@@ -437,10 +443,7 @@ m_vk.cmdSubpassShadingHUAWEI                                                       = (CmdSubpassShadingHUAWEIFunc)                                                 GET_PRO
 m_vk.cmdBindInvocationMaskHUAWEI                                               = (CmdBindInvocationMaskHUAWEIFunc)                                             GET_PROC_ADDR("vkCmdBindInvocationMaskHUAWEI");
 m_vk.getMemoryRemoteAddressNV                                                  = (GetMemoryRemoteAddressNVFunc)                                                GET_PROC_ADDR("vkGetMemoryRemoteAddressNV");
 m_vk.cmdSetPatchControlPointsEXT                                               = (CmdSetPatchControlPointsEXTFunc)                                             GET_PROC_ADDR("vkCmdSetPatchControlPointsEXT");
-m_vk.cmdSetRasterizerDiscardEnableEXT                                  = (CmdSetRasterizerDiscardEnableEXTFunc)                                GET_PROC_ADDR("vkCmdSetRasterizerDiscardEnableEXT");
-m_vk.cmdSetDepthBiasEnableEXT                                                  = (CmdSetDepthBiasEnableEXTFunc)                                                GET_PROC_ADDR("vkCmdSetDepthBiasEnableEXT");
 m_vk.cmdSetLogicOpEXT                                                                  = (CmdSetLogicOpEXTFunc)                                                                GET_PROC_ADDR("vkCmdSetLogicOpEXT");
-m_vk.cmdSetPrimitiveRestartEnableEXT                                   = (CmdSetPrimitiveRestartEnableEXTFunc)                                 GET_PROC_ADDR("vkCmdSetPrimitiveRestartEnableEXT");
 m_vk.cmdSetColorWriteEnableEXT                                                 = (CmdSetColorWriteEnableEXTFunc)                                               GET_PROC_ADDR("vkCmdSetColorWriteEnableEXT");
 m_vk.cmdDrawMultiEXT                                                                   = (CmdDrawMultiEXTFunc)                                                                 GET_PROC_ADDR("vkCmdDrawMultiEXT");
 m_vk.cmdDrawMultiIndexedEXT                                                            = (CmdDrawMultiIndexedEXTFunc)                                                  GET_PROC_ADDR("vkCmdDrawMultiIndexedEXT");
index 845c40f..1e39398 100644 (file)
@@ -2801,30 +2801,12 @@ VKAPI_ATTR void VKAPI_CALL cmdSetPatchControlPointsEXT (VkCommandBuffer commandB
        DE_UNREF(patchControlPoints);
 }
 
-VKAPI_ATTR void VKAPI_CALL cmdSetRasterizerDiscardEnableEXT (VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable)
-{
-       DE_UNREF(commandBuffer);
-       DE_UNREF(rasterizerDiscardEnable);
-}
-
-VKAPI_ATTR void VKAPI_CALL cmdSetDepthBiasEnableEXT (VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable)
-{
-       DE_UNREF(commandBuffer);
-       DE_UNREF(depthBiasEnable);
-}
-
 VKAPI_ATTR void VKAPI_CALL cmdSetLogicOpEXT (VkCommandBuffer commandBuffer, VkLogicOp logicOp)
 {
        DE_UNREF(commandBuffer);
        DE_UNREF(logicOp);
 }
 
-VKAPI_ATTR void VKAPI_CALL cmdSetPrimitiveRestartEnableEXT (VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable)
-{
-       DE_UNREF(commandBuffer);
-       DE_UNREF(primitiveRestartEnable);
-}
-
 VKAPI_ATTR void VKAPI_CALL cmdSetColorWriteEnableEXT (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables)
 {
        DE_UNREF(commandBuffer);
@@ -3759,10 +3741,10 @@ static const tcu::StaticFunctionLibrary::Entry s_deviceFunctions[] =
        VK_NULL_FUNC_ENTRY(vkCmdBindInvocationMaskHUAWEI,                                               cmdBindInvocationMaskHUAWEI),
        VK_NULL_FUNC_ENTRY(vkGetMemoryRemoteAddressNV,                                                  getMemoryRemoteAddressNV),
        VK_NULL_FUNC_ENTRY(vkCmdSetPatchControlPointsEXT,                                               cmdSetPatchControlPointsEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdSetRasterizerDiscardEnableEXT,                                  cmdSetRasterizerDiscardEnableEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdSetDepthBiasEnableEXT,                                                  cmdSetDepthBiasEnableEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetRasterizerDiscardEnableEXT,                                  cmdSetRasterizerDiscardEnable),
+       VK_NULL_FUNC_ENTRY(vkCmdSetDepthBiasEnableEXT,                                                  cmdSetDepthBiasEnable),
        VK_NULL_FUNC_ENTRY(vkCmdSetLogicOpEXT,                                                                  cmdSetLogicOpEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdSetPrimitiveRestartEnableEXT,                                   cmdSetPrimitiveRestartEnableEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetPrimitiveRestartEnableEXT,                                   cmdSetPrimitiveRestartEnable),
        VK_NULL_FUNC_ENTRY(vkCmdSetColorWriteEnableEXT,                                                 cmdSetColorWriteEnableEXT),
        VK_NULL_FUNC_ENTRY(vkCmdDrawMultiEXT,                                                                   cmdDrawMultiEXT),
        VK_NULL_FUNC_ENTRY(vkCmdDrawMultiIndexedEXT,                                                    cmdDrawMultiIndexedEXT),
index a948e4a..376328d 100644 (file)
@@ -315,10 +315,7 @@ virtual void                               cmdSubpassShadingHUAWEI                                                 (VkCommandBuffer commandBuffer) co
 virtual void                           cmdBindInvocationMaskHUAWEI                                             (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const = 0;
 virtual VkResult                       getMemoryRemoteAddressNV                                                (VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress) const = 0;
 virtual void                           cmdSetPatchControlPointsEXT                                             (VkCommandBuffer commandBuffer, uint32_t patchControlPoints) const = 0;
-virtual void                           cmdSetRasterizerDiscardEnableEXT                                (VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable) const = 0;
-virtual void                           cmdSetDepthBiasEnableEXT                                                (VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable) const = 0;
 virtual void                           cmdSetLogicOpEXT                                                                (VkCommandBuffer commandBuffer, VkLogicOp logicOp) const = 0;
-virtual void                           cmdSetPrimitiveRestartEnableEXT                                 (VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable) const = 0;
 virtual void                           cmdSetColorWriteEnableEXT                                               (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables) const = 0;
 virtual void                           cmdDrawMultiEXT                                                                 (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride) const = 0;
 virtual void                           cmdDrawMultiIndexedEXT                                                  (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, const int32_t* pVertexOffset) const = 0;
index dd58026..fe476dd 100755 (executable)
@@ -664,19 +664,21 @@ def parseTypedefs (src):
 
 def parseExtensions (src, versions, allFunctions, allCompositeTypes, allEnums, allBitfields, allHandles, allDefinitions):
 
-       def getCoreVersion (extensionName, extensionsData):
-               # returns None when extension was not added to core for any Vulkan version
-               # returns array containing DEVICE or INSTANCE string followed by the vulkan version in which this extension is core
-               # note that this function is also called for vulkan 1.0 source for which extName is None
-               if not extensionName:
-                       return None
-               ptrn            = extensionName + r'\s+(DEVICE|INSTANCE)\s+([0-9_]+)'
-               coreVersion = re.search(ptrn, extensionsData, re.I)
-               if coreVersion != None:
-                       return [coreVersion.group(1)] + [int(number) for number in coreVersion.group(2).split('_')[:3]]
-               return None
-
-       extensionsData                  = readFile(os.path.join(VULKAN_H_DIR, "extensions_data.txt"))
+       def getExtensionDataDict():
+               ptrn = r'(VK_\S+)\s+(DEVICE|INSTANCE)\s+([0-9_]*)?'
+               extensionsDataFile      = readFile(os.path.join(VULKAN_H_DIR, "extensions_data.txt"))
+               extensionList           = re.findall(ptrn, extensionsDataFile)
+               extensionDict = {}
+               # dictionary value is list containing DEVICE or INSTANCE string followed
+               # by optional vulkan version in which this extension is core
+               for item in extensionList:
+                       versionList = []
+                       if len(item[2]):
+                               versionList = [int(number) for number in item[2].split('_')[:3]]
+                       extensionDict[item[0]] = [item[1]] + versionList
+               return extensionDict
+
+       extensionsDataDict              = getExtensionDataDict()
        splitSrc                                = splitByExtension(src)
        extensions                              = []
        functionsByName                 = {function.name: function for function in allFunctions}
@@ -700,7 +702,7 @@ def parseExtensions (src, versions, allFunctions, allCompositeTypes, allEnums, a
                enumBitfieldNames       = [getBitEnumNameForBitfield(name) for name in bitfieldNames]
                enums                           = [enum for enum in rawEnums if enum.name not in enumBitfieldNames]
 
-               extCoreVersion          = getCoreVersion(extensionName, extensionsData)
+               extCoreVersion          = None
                extFunctions            = [functionsByName[function.name] for function in functions]
                extCompositeTypes       = [compositeTypesByName[compositeType.name] for compositeType in compositeTypes]
                extEnums                        = [enumsByName[enum.name] for enum in enums]
@@ -708,12 +710,16 @@ def parseExtensions (src, versions, allFunctions, allCompositeTypes, allEnums, a
                extHandles                      = [handlesByName[handle.name] for handle in handles]
                extDefinitions          = [definitionsByName[definition.name] for definition in definitions]
 
-               if extCoreVersion != None:
+               extData = extensionsDataDict.get(extensionName)
+               if extData != None:
                        populateExtensionAliases(functionsByName, extFunctions)
                        populateExtensionAliases(handlesByName, extHandles)
                        populateExtensionAliases(enumsByName, extEnums)
                        populateExtensionAliases(bitfieldsByName, extBitfields)
                        populateExtensionAliases(compositeTypesByName, extCompositeTypes)
+                       if len(extData) > 1:
+                               extCoreVersion = extData
+
                extensions.append(Extension(extensionName, extHandles, extEnums, extBitfields, extCompositeTypes, extFunctions, extDefinitions, additionalDefinitions, typedefs, extCoreVersion))
        return extensions
 
index d4efe00..c75cd54 100644 (file)
@@ -116,4 +116,3 @@ VK_EXT_texel_buffer_alignment                               DEVICE 1_3_0
 VK_EXT_texture_compression_astc_hdr                    DEVICE 1_3_0
 VK_EXT_tooling_info                                                    DEVICE 1_3_0
 VK_EXT_ycbcr_2plane_444_formats                                DEVICE 1_3_0
-VK_KHR_shader_integer_dot_product                      DEVICE