# vkAcquireProfilingLockKHR(3) Manual Page

## Name

vkAcquireProfilingLockKHR - Acquires the profiling lock

Loading… please wait.

## C Specification

To record and submit a command buffer containing a performance query pool the profiling lock must be held. The profiling lock must be acquired prior to any call to vkBeginCommandBuffer that will be using a performance query pool. The profiling lock must be held while any command buffer containing a performance query pool is in the recording, executable, or pending state. To acquire the profiling lock, call:

    // Provided by VK_KHR_performance_query
    VkResult vkAcquireProfilingLockKHR(
        VkDevice                                    device,
        const VkAcquireProfilingLockInfoKHR*        pInfo);

## Parameters

- `device` is the logical device to profile.

- `pInfo` is a pointer to a `VkAcquireProfilingLockInfoKHR` structure containing information about how the profiling is to be acquired.

## Description

Implementations may allow multiple actors to hold the profiling lock concurrently.

Valid Usage (Implicit)

- VUID-vkAcquireProfilingLockKHR-device-parameter
  `device` must be a valid VkDevice handle

- VUID-vkAcquireProfilingLockKHR-pInfo-parameter
  `pInfo` must be a valid pointer to a valid VkAcquireProfilingLockInfoKHR structure

Return Codes

On success, this command returns

  - `VK_SUCCESS`

On failure, this command returns

  - `VK_ERROR_OUT_OF_HOST_MEMORY`

  - `VK_TIMEOUT`

## See Also

VK_KHR_performance_query, VkAcquireProfilingLockInfoKHR, VkDevice

## 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

Copyright 2014-2024 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0