# vkGetDeferredOperationMaxConcurrencyKHR(3) Manual Page

## Name

vkGetDeferredOperationMaxConcurrencyKHR - Query the maximum concurrency on a deferred operation

## C Specification

The `vkGetDeferredOperationMaxConcurrencyKHR` function is defined as:

    uint32_t vkGetDeferredOperationMaxConcurrencyKHR(
        VkDevice                                    device,
        VkDeferredOperationKHR                      operation);

## Parameters

- `device` is the device which owns `operation`.

- `operation` is the deferred operation to be queried.

## Description

The returned value is the maximum number of threads that can usefully execute a deferred operation concurrently, reported for the state of the deferred operation at the point this command is called. This value is intended to be used to better schedule work onto available threads. Applications can join any number of threads to the deferred operation and expect it to eventually complete, though excessive joins may return `VK_THREAD_IDLE_KHR` immediately, performing no useful work.

If the deferred operation is currently joined to any threads, the value returned by this command may immediately be out of date.

Implementations must not return zero.

Implementations may return 232-1 to indicate that the maximum concurrency is unknown and cannot be easily derived. Implementations may return values larger than the maximum concurrency available on the host CPU. In these situations, an application should clamp the return value rather than oversubscribing the machine.

Valid Usage
Valid Usage (Implicit)

- `device` must be a valid VkDevice handle

- `operation` must be a valid VkDeferredOperationKHR handle

- `operation` must have been created, allocated, or retrieved from `device`

## See Also

VkDeferredOperationKHR, 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 (c) 2014-2020 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.