Alias vkResetQueryPoolEXT to the core function
authorAlexander Galazin <alexander.galazin@arm.com>
Tue, 3 Sep 2019 19:23:08 +0000 (21:23 +0200)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Thu, 5 Sep 2019 15:28:25 +0000 (11:28 -0400)
Previously only KHR-suffixed functions were considered as
candidates for aliases. This changed in Vulkan 1.2 with promotion
of VK_EXT_host_query_reset to core.

This CL changes gen_framework.py to take into account
whether an extension was promoted to core and search for
aliases only among objects introduced by the extension.

This CL also adds VK_KHR_timeline_semaphore,
VK_KHR_spirv_1_4, and VK_EXT_separate_stencil_usage
to the list of promoted extensions.

Affects:
dEQP-VK.*.host_query_reset*
dEQP-VK.api.info.device.extensions

Components: Vulkan

VK-GL-CTS issue: 1976

Change-Id: I2e31e709f7c303b775e576e617820bd67d95d78d

14 files changed:
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/vkSupportedExtensions.inl
external/vulkancts/framework/vulkan/vkVirtualDeviceInterface.inl
external/vulkancts/modules/vulkan/pipeline/vktPipelineTimestampTests.cpp
external/vulkancts/modules/vulkan/query_pool/vktQueryPoolOcclusionTests.cpp
external/vulkancts/modules/vulkan/query_pool/vktQueryPoolStatisticsTests.cpp
external/vulkancts/modules/vulkan/transform_feedback/vktTransformFeedbackSimpleTests.cpp
external/vulkancts/scripts/gen_framework.py
external/vulkancts/scripts/src/extensions_data.txt

index 9f08c7e..c46db92 100644 (file)
@@ -258,7 +258,6 @@ virtual VkResult                    getPerformanceParameterINTEL                                    (VkDevice device, VkPerforma
 virtual void                           setLocalDimmingAMD                                                              (VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable) const;
 virtual VkDeviceAddress                getBufferDeviceAddressEXT                                               (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const;
 virtual void                           cmdSetLineStippleEXT                                                    (VkCommandBuffer commandBuffer, deUint32 lineStippleFactor, deUint16 lineStipplePattern) const;
-virtual void                           resetQueryPoolEXT                                                               (VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount) const;
 virtual VkResult                       getAndroidHardwareBufferPropertiesANDROID               (VkDevice device, const struct pt::AndroidHardwareBufferPtr buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) const;
 virtual VkResult                       getMemoryAndroidHardwareBufferANDROID                   (VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct pt::AndroidHardwareBufferPtr* pBuffer) const;
 virtual VkResult                       getMemoryWin32HandleKHR                                                 (VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const;
index 37a03e8..298c2bf 100644 (file)
@@ -1287,11 +1287,6 @@ void DeviceDriver::cmdSetLineStippleEXT (VkCommandBuffer commandBuffer, deUint32
        m_vk.cmdSetLineStippleEXT(commandBuffer, lineStippleFactor, lineStipplePattern);
 }
 
-void DeviceDriver::resetQueryPoolEXT (VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount) const
-{
-       m_vk.resetQueryPoolEXT(device, queryPool, firstQuery, queryCount);
-}
-
 VkResult DeviceDriver::getAndroidHardwareBufferPropertiesANDROID (VkDevice device, const struct pt::AndroidHardwareBufferPtr buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) const
 {
        return m_vk.getAndroidHardwareBufferPropertiesANDROID(device, buffer, pProperties);
index c805926..3b16580 100644 (file)
@@ -55,6 +55,9 @@ static const char* s_allowedDeviceKhrExtensions[] =
        "VK_KHR_buffer_device_address",
        "VK_EXT_host_query_reset",
        "VK_KHR_separate_depth_stencil_layouts",
+       "VK_KHR_timeline_semaphore",
+       "VK_KHR_spirv_1_4",
+       "VK_EXT_separate_stencil_usage",
        "VK_KHR_pipeline_executable_properties",
 };
 
index cdbf1b3..c3acddd 100644 (file)
@@ -258,7 +258,6 @@ GetPerformanceParameterINTELFunc                                    getPerformanceParameterINTEL;
 SetLocalDimmingAMDFunc                                                         setLocalDimmingAMD;
 GetBufferDeviceAddressEXTFunc                                          getBufferDeviceAddressEXT;
 CmdSetLineStippleEXTFunc                                                       cmdSetLineStippleEXT;
-ResetQueryPoolEXTFunc                                                          resetQueryPoolEXT;
 GetAndroidHardwareBufferPropertiesANDROIDFunc          getAndroidHardwareBufferPropertiesANDROID;
 GetMemoryAndroidHardwareBufferANDROIDFunc                      getMemoryAndroidHardwareBufferANDROID;
 GetMemoryWin32HandleKHRFunc                                                    getMemoryWin32HandleKHR;
index c66bb35..cf1c172 100644 (file)
@@ -187,6 +187,8 @@ m_vk.cmdEndRenderPass2                                                                      = (CmdEndRenderPass2Func)                                                               GET_PROC_ADDR("v
 if (!m_vk.cmdEndRenderPass2)
        m_vk.cmdEndRenderPass2                                                          = (CmdEndRenderPass2Func)                                                               GET_PROC_ADDR("vkCmdEndRenderPass2KHR");
 m_vk.resetQueryPool                                                                            = (ResetQueryPoolFunc)                                                                  GET_PROC_ADDR("vkResetQueryPool");
+if (!m_vk.resetQueryPool)
+       m_vk.resetQueryPool                                                                     = (ResetQueryPoolFunc)                                                                  GET_PROC_ADDR("vkResetQueryPoolEXT");
 m_vk.getSemaphoreCounterValue                                                  = (GetSemaphoreCounterValueFunc)                                                GET_PROC_ADDR("vkGetSemaphoreCounterValue");
 if (!m_vk.getSemaphoreCounterValue)
        m_vk.getSemaphoreCounterValue                                           = (GetSemaphoreCounterValueFunc)                                                GET_PROC_ADDR("vkGetSemaphoreCounterValueKHR");
@@ -312,7 +314,6 @@ m_vk.getPerformanceParameterINTEL                                           = (GetPerformanceParameterINTELFunc)
 m_vk.setLocalDimmingAMD                                                                        = (SetLocalDimmingAMDFunc)                                                              GET_PROC_ADDR("vkSetLocalDimmingAMD");
 m_vk.getBufferDeviceAddressEXT                                                 = (GetBufferDeviceAddressEXTFunc)                                               GET_PROC_ADDR("vkGetBufferDeviceAddressEXT");
 m_vk.cmdSetLineStippleEXT                                                              = (CmdSetLineStippleEXTFunc)                                                    GET_PROC_ADDR("vkCmdSetLineStippleEXT");
-m_vk.resetQueryPoolEXT                                                                 = (ResetQueryPoolEXTFunc)                                                               GET_PROC_ADDR("vkResetQueryPoolEXT");
 m_vk.getAndroidHardwareBufferPropertiesANDROID                 = (GetAndroidHardwareBufferPropertiesANDROIDFunc)               GET_PROC_ADDR("vkGetAndroidHardwareBufferPropertiesANDROID");
 m_vk.getMemoryAndroidHardwareBufferANDROID                             = (GetMemoryAndroidHardwareBufferANDROIDFunc)                   GET_PROC_ADDR("vkGetMemoryAndroidHardwareBufferANDROID");
 m_vk.getMemoryWin32HandleKHR                                                   = (GetMemoryWin32HandleKHRFunc)                                                 GET_PROC_ADDR("vkGetMemoryWin32HandleKHR");
index 76015e6..47482d8 100644 (file)
@@ -2329,14 +2329,6 @@ VKAPI_ATTR void VKAPI_CALL cmdSetLineStippleEXT (VkCommandBuffer commandBuffer,
        DE_UNREF(lineStipplePattern);
 }
 
-VKAPI_ATTR void VKAPI_CALL resetQueryPoolEXT (VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount)
-{
-       DE_UNREF(device);
-       DE_UNREF(queryPool);
-       DE_UNREF(firstQuery);
-       DE_UNREF(queryCount);
-}
-
 VKAPI_ATTR VkResult VKAPI_CALL getAndroidHardwareBufferPropertiesANDROID (VkDevice device, const struct pt::AndroidHardwareBufferPtr buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties)
 {
        DE_UNREF(device);
@@ -2869,7 +2861,7 @@ static const tcu::StaticFunctionLibrary::Entry s_deviceFunctions[] =
        VK_NULL_FUNC_ENTRY(vkSetLocalDimmingAMD,                                                                setLocalDimmingAMD),
        VK_NULL_FUNC_ENTRY(vkGetBufferDeviceAddressEXT,                                                 getBufferDeviceAddressEXT),
        VK_NULL_FUNC_ENTRY(vkCmdSetLineStippleEXT,                                                              cmdSetLineStippleEXT),
-       VK_NULL_FUNC_ENTRY(vkResetQueryPoolEXT,                                                                 resetQueryPoolEXT),
+       VK_NULL_FUNC_ENTRY(vkResetQueryPoolEXT,                                                                 resetQueryPool),
        VK_NULL_FUNC_ENTRY(vkGetAndroidHardwareBufferPropertiesANDROID,                 getAndroidHardwareBufferPropertiesANDROID),
        VK_NULL_FUNC_ENTRY(vkGetMemoryAndroidHardwareBufferANDROID,                             getMemoryAndroidHardwareBufferANDROID),
        VK_NULL_FUNC_ENTRY(vkGetMemoryWin32HandleKHR,                                                   getMemoryWin32HandleKHR),
index 445e79f..e775152 100644 (file)
@@ -18,13 +18,16 @@ void getCoreDeviceExtensionsImpl (deUint32 coreVersion, ::std::vector<const char
                dst.push_back("VK_KHR_driver_properties");
                dst.push_back("VK_KHR_shader_float_controls");
                dst.push_back("VK_KHR_depth_stencil_resolve");
+               dst.push_back("VK_KHR_timeline_semaphore");
                dst.push_back("VK_KHR_vulkan_memory_model");
+               dst.push_back("VK_KHR_spirv_1_4");
                dst.push_back("VK_KHR_separate_depth_stencil_layouts");
                dst.push_back("VK_KHR_uniform_buffer_standard_layout");
                dst.push_back("VK_KHR_buffer_device_address");
                dst.push_back("VK_EXT_sampler_filter_minmax");
                dst.push_back("VK_EXT_shader_viewport_index_layer");
                dst.push_back("VK_EXT_scalar_block_layout");
+               dst.push_back("VK_EXT_separate_stencil_usage");
                dst.push_back("VK_EXT_host_query_reset");
        }
        if (coreVersion >= VK_API_VERSION_1_1)
index 7a7cb80..b570bde 100644 (file)
@@ -258,7 +258,6 @@ virtual VkResult                    getPerformanceParameterINTEL                                    (VkDevice device, VkPerforma
 virtual void                           setLocalDimmingAMD                                                              (VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable) const = 0;
 virtual VkDeviceAddress                getBufferDeviceAddressEXT                                               (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const = 0;
 virtual void                           cmdSetLineStippleEXT                                                    (VkCommandBuffer commandBuffer, deUint32 lineStippleFactor, deUint16 lineStipplePattern) const = 0;
-virtual void                           resetQueryPoolEXT                                                               (VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount) const = 0;
 virtual VkResult                       getAndroidHardwareBufferPropertiesANDROID               (VkDevice device, const struct pt::AndroidHardwareBufferPtr buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) const = 0;
 virtual VkResult                       getMemoryAndroidHardwareBufferANDROID                   (VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct pt::AndroidHardwareBufferPtr* pBuffer) const = 0;
 virtual VkResult                       getMemoryWin32HandleKHR                                                 (VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const = 0;
index f78b09f..d076b73 100644 (file)
@@ -797,7 +797,7 @@ tcu::TestStatus TimestampTestInstance::iterate (void)
        configCommandBuffer();
        if (m_hostQueryReset)
        {
-               vk.resetQueryPoolEXT(vkDevice, *m_queryPool, 0u, TimestampTest::ENTRY_COUNT);
+               vk.resetQueryPool(vkDevice, *m_queryPool, 0u, TimestampTest::ENTRY_COUNT);
        }
        submitCommandsAndWait(vk, vkDevice, queue, m_cmdBuffer.get());
 
@@ -820,7 +820,7 @@ tcu::TestStatus TimestampTestInstance::iterate (void)
                }
 
                // Host resets the query pool
-               vk.resetQueryPoolEXT(vkDevice, *m_queryPool, 0u, stageSize);
+               vk.resetQueryPool(vkDevice, *m_queryPool, 0u, stageSize);
                // Get timestamp value from query pool
                vk::VkResult res = vk.getQueryPoolResults(vkDevice, *m_queryPool, 0u, stageSize, sizeof(deUint64) * stageSize * 2, (void*)m_timestampValuesHostQueryReset, sizeof(deUint64) * 2, VK_QUERY_RESULT_64_BIT | VK_QUERY_RESULT_WITH_AVAILABILITY_BIT);
 
@@ -2881,7 +2881,7 @@ tcu::TestStatus TwoCmdBuffersTestInstance::iterate (void)
        if (m_hostQueryReset)
        {
                // Only reset the pool for the primary command buffer, the secondary command buffer will reset the pool by itself.
-               vk.resetQueryPoolEXT(m_context.getDevice(), *m_queryPool, 0u, TimestampTest::ENTRY_COUNT);
+               vk.resetQueryPool(m_context.getDevice(), *m_queryPool, 0u, TimestampTest::ENTRY_COUNT);
        }
 
        VK_CHECK(vk.queueSubmit(queue, 1u, &submitInfo, DE_NULL));
index 7be6768..987ae62 100644 (file)
@@ -400,7 +400,7 @@ tcu::TestStatus     BasicOcclusionQueryTestInstance::iterate (void)
        endCommandBuffer(vk, *cmdBuffer);
 
        if (m_testVector.queryResultsMode == RESULTS_MODE_GET_RESET)
-               vk.resetQueryPoolEXT(device, m_queryPool, 0, NUM_QUERIES_IN_POOL);
+               vk.resetQueryPool(device, m_queryPool, 0, NUM_QUERIES_IN_POOL);
 
        submitCommandsAndWait(vk, device, queue, cmdBuffer.get());
 
@@ -659,7 +659,7 @@ tcu::TestStatus OcclusionQueryTestInstance::iterate (void)
                };
 
                if (!hasSeparateResetCmdBuf() && m_testVector.queryResultsMode == RESULTS_MODE_GET_RESET)
-                       vk.resetQueryPoolEXT(m_context.getDevice(), m_queryPool, 0, NUM_QUERIES_IN_POOL);
+                       vk.resetQueryPool(m_context.getDevice(), m_queryPool, 0, NUM_QUERIES_IN_POOL);
                vk.queueSubmit(queue, 1, &submitInfoRender, DE_NULL);
        }
 
@@ -939,7 +939,7 @@ void OcclusionQueryTestInstance::captureResults (deUint64* retResults, deUint64*
 
        if (m_testVector.queryResultsMode == RESULTS_MODE_GET_RESET)
        {
-               vk.resetQueryPoolEXT(device, m_queryPool, 0, NUM_QUERIES_IN_POOL);
+               vk.resetQueryPool(device, m_queryPool, 0, NUM_QUERIES_IN_POOL);
                vk::VkResult queryResult = vk.getQueryPoolResults(device, m_queryPool, 0, NUM_QUERIES_IN_POOL, resultsBuffer.size(), &resultsBuffer[0], m_testVector.queryResultsStride, m_queryResultFlags);
 
                if (queryResult != vk::VK_NOT_READY)
@@ -966,7 +966,7 @@ void OcclusionQueryTestInstance::captureResults (deUint64* retResults, deUint64*
 
                                if (m_testVector.queryResultsAvailability && *(srcPtrTyped + 1) != 0)
                                {
-                                       TCU_FAIL("resetQueryPoolEXT did not disable availability bit");
+                                       TCU_FAIL("resetQueryPool did not disable availability bit");
                                }
                        }
                        else if (m_testVector.queryResultSize == RESULT_SIZE_64_BIT)
@@ -979,7 +979,7 @@ void OcclusionQueryTestInstance::captureResults (deUint64* retResults, deUint64*
 
                                if (m_testVector.queryResultsAvailability && *(srcPtrTyped + 1) != 0)
                                {
-                                       TCU_FAIL("resetQueryPoolEXT did not disable availability bit");
+                                       TCU_FAIL("resetQueryPool did not disable availability bit");
                                }
                        }
                        else
index 55277b7..e5a24e3 100644 (file)
@@ -519,7 +519,7 @@ tcu::TestStatus ComputeInvocationsTestInstance::executeTest (const VkCommandPool
                m_context.getTestContext().getLog() << tcu::TestLog::Message << "Compute shader invocations: " << getComputeExecution(m_parameters[parametersNdx]) << tcu::TestLog::EndMessage;
 
                if (m_parameters[0].resetType == RESET_TYPE_HOST)
-                       vk.resetQueryPoolEXT(device, *queryPool, 0u, 1u);
+                       vk.resetQueryPool(device, *queryPool, 0u, 1u);
 
                // Wait for completion
                submitCommandsAndWait(vk, device, queue, *cmdBuffer);
@@ -544,7 +544,7 @@ tcu::TestStatus ComputeInvocationsTestInstance::executeTest (const VkCommandPool
 
                        deUint64 temp = data[0].first;
 
-                       vk.resetQueryPoolEXT(device, *queryPool, 0, 1u);
+                       vk.resetQueryPool(device, *queryPool, 0, 1u);
                        vk::VkResult res = GetQueryPoolResultsVector(data, vk, device, *queryPool, 0u, 1u, (VK_QUERY_RESULT_64_BIT | VK_QUERY_RESULT_WITH_AVAILABILITY_BIT));
                        /* From Vulkan spec:
                         *
@@ -698,7 +698,7 @@ tcu::TestStatus ComputeInvocationsSecondaryTestInstance::executeTest (const VkCo
 
        // Secondary buffer is emitted only once, so it is safe to reset the query pool here.
        if (m_parameters[0].resetType == RESET_TYPE_HOST)
-               vk.resetQueryPoolEXT(device, *queryPool, 0u, 1u);
+               vk.resetQueryPool(device, *queryPool, 0u, 1u);
 
        // Wait for completion
        submitCommandsAndWait(vk, device, queue, *primaryCmdBuffer);
@@ -730,7 +730,7 @@ tcu::TestStatus ComputeInvocationsSecondaryTestInstance::checkResult (const de::
 
                        deUint64 temp = results[0].first;
 
-                       vk.resetQueryPoolEXT(device, queryPool, 0u, 1u);
+                       vk.resetQueryPool(device, queryPool, 0u, 1u);
                        vk::VkResult res = GetQueryPoolResultsVector(results, vk, device, queryPool, 0u, 1u, (VK_QUERY_RESULT_64_BIT | VK_QUERY_RESULT_WITH_AVAILABILITY_BIT));
                        /* From Vulkan spec:
                         *
@@ -906,7 +906,7 @@ tcu::TestStatus ComputeInvocationsSecondaryInheritedTestInstance::executeTest (c
        endCommandBuffer(vk, *primaryCmdBuffer);
 
        if (m_parameters[0].resetType == RESET_TYPE_HOST)
-               vk.resetQueryPoolEXT(device, *queryPool, 0u, 1u);
+               vk.resetQueryPool(device, *queryPool, 0u, 1u);
 
        // Wait for completion
        submitCommandsAndWait(vk, device, queue, *primaryCmdBuffer);
@@ -1288,7 +1288,7 @@ tcu::TestStatus VertexShaderTestInstance::executeTest (void)
        endCommandBuffer(vk, *cmdBuffer);
 
        if (m_parametersGraphic.resetType == RESET_TYPE_HOST)
-               vk.resetQueryPoolEXT(device, *queryPool, 0u, queryCount);
+               vk.resetQueryPool(device, *queryPool, 0u, queryCount);
 
        // Wait for completion
        submitCommandsAndWait(vk, device, queue, *cmdBuffer);
@@ -1376,7 +1376,7 @@ tcu::TestStatus VertexShaderTestInstance::checkResult (VkQueryPool queryPool)
 
                deUint64 temp = results[0].first;
 
-               vk.resetQueryPoolEXT(device, queryPool, 0, queryCount);
+               vk.resetQueryPool(device, queryPool, 0, queryCount);
                vk::VkResult res = GetQueryPoolResultsVector(results, vk, device, queryPool, 0u, queryCount, (VK_QUERY_RESULT_64_BIT | VK_QUERY_RESULT_WITH_AVAILABILITY_BIT));
                /* From Vulkan spec:
                 *
@@ -1506,7 +1506,7 @@ tcu::TestStatus VertexShaderSecondaryTestInstance::executeTest (void)
        endCommandBuffer(vk, *primaryCmdBuffer);
 
        if (m_parametersGraphic.resetType == RESET_TYPE_HOST)
-               vk.resetQueryPoolEXT(device, *queryPool, 0u, queryCount);
+               vk.resetQueryPool(device, *queryPool, 0u, queryCount);
 
        // Wait for completion
        submitCommandsAndWait(vk, device, queue, *primaryCmdBuffer);
@@ -1600,7 +1600,7 @@ tcu::TestStatus VertexShaderSecondaryInheritedTestInstance::executeTest (void)
        endCommandBuffer(vk, *primaryCmdBuffer);
 
        if (m_parametersGraphic.resetType == RESET_TYPE_HOST)
-               vk.resetQueryPoolEXT(device, *queryPool, 0u, queryCount);
+               vk.resetQueryPool(device, *queryPool, 0u, queryCount);
 
        // Wait for completion
        submitCommandsAndWait(vk, device, queue, *primaryCmdBuffer);
@@ -1763,7 +1763,7 @@ tcu::TestStatus GeometryShaderTestInstance::executeTest (void)
        endCommandBuffer(vk, *cmdBuffer);
 
        if (m_parametersGraphic.resetType == RESET_TYPE_HOST)
-               vk.resetQueryPoolEXT(device, *queryPool, 0u, queryCount);
+               vk.resetQueryPool(device, *queryPool, 0u, queryCount);
 
        // Wait for completion
        submitCommandsAndWait(vk, device, queue, *cmdBuffer);
@@ -1842,7 +1842,7 @@ tcu::TestStatus GeometryShaderTestInstance::checkResult (VkQueryPool queryPool)
 
                deUint64 temp = results[0].first;
 
-               vk.resetQueryPoolEXT(device, queryPool, 0, queryCount);
+               vk.resetQueryPool(device, queryPool, 0, queryCount);
                vk::VkResult res = GetQueryPoolResultsVector(results, vk, device, queryPool, 0u, queryCount, (VK_QUERY_RESULT_64_BIT | VK_QUERY_RESULT_WITH_AVAILABILITY_BIT));
                /* From Vulkan spec:
                 *
@@ -1958,7 +1958,7 @@ tcu::TestStatus GeometryShaderSecondaryTestInstance::executeTest (void)
        endCommandBuffer(vk, *primaryCmdBuffer);
 
        if (m_parametersGraphic.resetType == RESET_TYPE_HOST)
-               vk.resetQueryPoolEXT(device, *queryPool, 0u, queryCount);
+               vk.resetQueryPool(device, *queryPool, 0u, queryCount);
 
        // Wait for completion
        submitCommandsAndWait(vk, device, queue, *primaryCmdBuffer);
@@ -2052,7 +2052,7 @@ tcu::TestStatus GeometryShaderSecondaryInheritedTestInstance::executeTest (void)
        endCommandBuffer(vk, *primaryCmdBuffer);
 
        if (m_parametersGraphic.resetType == RESET_TYPE_HOST)
-               vk.resetQueryPoolEXT(device, *queryPool, 0u, queryCount);
+               vk.resetQueryPool(device, *queryPool, 0u, queryCount);
 
        // Wait for completion
        submitCommandsAndWait(vk, device, queue, *primaryCmdBuffer);
@@ -2213,7 +2213,7 @@ tcu::TestStatus   TessellationShaderTestInstance::executeTest (void)
        endCommandBuffer(vk, *cmdBuffer);
 
        if (m_parametersGraphic.resetType == RESET_TYPE_HOST)
-               vk.resetQueryPoolEXT(device, *queryPool, 0u, queryCount);
+               vk.resetQueryPool(device, *queryPool, 0u, queryCount);
 
        // Wait for completion
        submitCommandsAndWait(vk, device, queue, *cmdBuffer);
@@ -2273,7 +2273,7 @@ tcu::TestStatus TessellationShaderTestInstance::checkResult (VkQueryPool queryPo
 
                deUint64 temp = results[0].first;
 
-               vk.resetQueryPoolEXT(device, queryPool, 0, queryCount);
+               vk.resetQueryPool(device, queryPool, 0, queryCount);
                vk::VkResult res = GetQueryPoolResultsVector(results, vk, device, queryPool, 0u, queryCount, (VK_QUERY_RESULT_64_BIT | VK_QUERY_RESULT_WITH_AVAILABILITY_BIT));
                /* From Vulkan spec:
                 *
@@ -2378,7 +2378,7 @@ tcu::TestStatus   TessellationShaderSecondrayTestInstance::executeTest (void)
        endCommandBuffer(vk, *primaryCmdBuffer);
 
        if (m_parametersGraphic.resetType == RESET_TYPE_HOST)
-               vk.resetQueryPoolEXT(device, *queryPool, 0u, queryCount);
+               vk.resetQueryPool(device, *queryPool, 0u, queryCount);
 
        // Wait for completion
        submitCommandsAndWait(vk, device, queue, *primaryCmdBuffer);
@@ -2472,7 +2472,7 @@ tcu::TestStatus   TessellationShaderSecondrayInheritedTestInstance::executeTest (v
        endCommandBuffer(vk, *primaryCmdBuffer);
 
        if (m_parametersGraphic.resetType == RESET_TYPE_HOST)
-               vk.resetQueryPoolEXT(device, *queryPool, 0u, queryCount);
+               vk.resetQueryPool(device, *queryPool, 0u, queryCount);
 
        // Wait for completion
        submitCommandsAndWait(vk, device, queue, *primaryCmdBuffer);
index cb2bc14..11575d7 100644 (file)
@@ -1589,7 +1589,7 @@ tcu::TestStatus TransformFeedbackQueryTestInstance::iterate (void)
        endCommandBuffer(vk, *cmdBuffer);
 
        if (m_parameters.testType == TEST_TYPE_QUERY_RESET)
-               vk.resetQueryPoolEXT(device, *queryPool, queryIndex, queryCountersNumber);
+               vk.resetQueryPool(device, *queryPool, queryIndex, queryCountersNumber);
        submitCommandsAndWait(vk, device, queue, *cmdBuffer);
 
        {
@@ -1648,7 +1648,7 @@ tcu::TestStatus TransformFeedbackQueryTestInstance::iterate (void)
                        queryResults->elements32[2] = 1u;       // Availability bit
                }
 
-               vk.resetQueryPoolEXT(device, *queryPool, queryIndex, queryCountersNumber);
+               vk.resetQueryPool(device, *queryPool, queryIndex, queryCountersNumber);
 
                vk::VkResult    res                                             = vk.getQueryPoolResults(device, *queryPool, queryIndex, queryCountersNumber, queryDataAvailSize, queryData.data(), queryDataAvailSize, (vk::VK_QUERY_RESULT_WITH_AVAILABILITY_BIT | queryExtraFlags));
                const deUint64  numPrimitivesWritten    = (m_parameters.query64bits ? queryResults->elements64[0] : queryResults->elements32[0]);
index bf97b78..7c80443 100644 (file)
@@ -123,7 +123,7 @@ TYPE_SUBSTITUTIONS          = [
 ]
 
 EXTENSION_POSTFIXES                            = ["KHR", "EXT", "NV", "NVX", "KHX", "NN", "MVK", "FUCHSIA", "GGP", "AMD"]
-EXTENSION_POSTFIXES_STANDARD   = ["KHR"]
+EXTENSION_POSTFIXES_STANDARD   = ["KHR", "EXT"]
 
 def prefixName (prefix, name):
        name = re.sub(r'([a-z0-9])([A-Z])', r'\1_\2', name[2:])
@@ -520,16 +520,15 @@ def removeTypeExtPostfix (name):
                        return name[0:-len(extPostfix)]
        return None
 
-def populateAliases (objects):
-       objectsByName = {}
-       for object in objects:
-               objectsByName[object.name] = object
-       for object in objects:
+def populateExtensionAliases(allObjects, extensionObjects):
+       for object in extensionObjects:
                withoutPostfix = removeTypeExtPostfix(object.name)
-               if withoutPostfix != None and withoutPostfix in objectsByName:
-                       objectsByName[withoutPostfix].alias = object
+               if withoutPostfix != None and withoutPostfix in allObjects:
+                       # max 1 alias is assumed by functions in this file
+                       assert allObjects[withoutPostfix].alias == None
+                       allObjects[withoutPostfix].alias = object
                        object.isAlias = True
-       for object in objects:
+       for object in extensionObjects:
                object.checkAliasValidity()
 
 def populateAliasesWithTypedefs (objects, src):
@@ -671,6 +670,14 @@ 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:
+                       populateExtensionAliases(functionsByName, extFunctions)
+                       populateExtensionAliases(handlesByName, extHandles)
+                       populateExtensionAliases(enumsByName, extEnums)
+                       populateExtensionAliases(bitfieldsByName, extBitfields)
+                       populateExtensionAliases(compositeTypesByName, extCompositeTypes)
+
+
                extensions.append(Extension(extensionName, extHandles, extEnums, extBitfields, extCompositeTypes, extFunctions, extDefinitions, additionalDefinitions, extCoreVersion))
        return extensions
 
@@ -706,21 +713,16 @@ def parseAPI (src):
                        # Add empty bitfield
                        bitfields.append(Bitfield(bitfieldName, []))
 
+       extensions = parseExtensions(src, versions, allFunctions, compositeTypes, enums, bitfields, handles, definitions)
+
        # Populate alias fields
        populateAliasesWithTypedefs(compositeTypes, src)
        populateAliasesWithTypedefs(enums, src)
        populateAliasesWithTypedefs(bitfields, src)
-       populateAliases(allFunctions)
-       populateAliases(handles)
-       populateAliases(enums)
-       populateAliases(bitfields)
-       populateAliases(compositeTypes)
 
        for enum in enums:
                removeAliasedValues(enum)
 
-       extensions = parseExtensions(src, versions, allFunctions, compositeTypes, enums, bitfields, handles, definitions)
-
        return API(
                versions                = versions,
                definitions             = definitions,
index 3a7659f..2b9933b 100644 (file)
@@ -75,4 +75,7 @@ VK_EXT_scalar_block_layout                                    DEVICE 1_2_0
 VK_KHR_buffer_device_address                           DEVICE 1_2_0
 VK_EXT_host_query_reset                                                DEVICE 1_2_0
 VK_KHR_separate_depth_stencil_layouts          DEVICE 1_2_0
-VK_KHR_pipeline_executable_properties          DEVICE
\ No newline at end of file
+VK_KHR_timeline_semaphore                                      DEVICE 1_2_0
+VK_KHR_spirv_1_4                                                       DEVICE 1_2_0
+VK_EXT_separate_stencil_usage                          DEVICE 1_2_0
+VK_KHR_pipeline_executable_properties          DEVICE