C Specification

To reset a range of queries in a query pool on the host, call:

// Provided by VK_VERSION_1_2
void vkResetQueryPool(
    VkDevice                                    device,
    VkQueryPool                                 queryPool,
    uint32_t                                    firstQuery,
    uint32_t                                    queryCount);

or the equivalent command

// Provided by VK_EXT_host_query_reset
void vkResetQueryPoolEXT(
    VkDevice                                    device,
    VkQueryPool                                 queryPool,
    uint32_t                                    firstQuery,
    uint32_t                                    queryCount);

Parameters

  • device is the logical device that owns the query pool.

  • queryPool is the handle of the query pool managing the queries being reset.

  • firstQuery is the initial query index to reset.

  • queryCount is the number of queries to reset.

Description

This command sets the status of query indices [firstQuery, firstQuery + queryCount - 1] to unavailable.

If queryPool is VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR this command sets the status of query indices [firstQuery, firstQuery + queryCount - 1] to unavailable for each pass.

Valid Usage
  • VUID-vkResetQueryPool-None-02665
    The hostQueryReset feature must be enabled

  • VUID-vkResetQueryPool-firstQuery-02666
    firstQuery must be less than the number of queries in queryPool

  • VUID-vkResetQueryPool-firstQuery-02667
    The sum of firstQuery and queryCount must be less than or equal to the number of queries in queryPool

  • VUID-vkResetQueryPool-firstQuery-02741
    Submitted commands that refer to the range specified by firstQuery and queryCount in queryPool must have completed execution

  • VUID-vkResetQueryPool-firstQuery-02742
    The range of queries specified by firstQuery and queryCount in queryPool must not be in use by calls to vkGetQueryPoolResults or vkResetQueryPool in other threads

Valid Usage (Implicit)
  • VUID-vkResetQueryPool-device-parameter
    device must be a valid VkDevice handle

  • VUID-vkResetQueryPool-queryPool-parameter
    queryPool must be a valid VkQueryPool handle

  • VUID-vkResetQueryPool-queryPool-parent
    queryPool must have been created, allocated, or retrieved from device

See Also

Document Notes

For more information, see the Vulkan Specification

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

Copyright (c) 2014-2020 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0