C Specification
The VkLatencySubmissionPresentIdNV structure is defined as:
// Provided by VK_NV_low_latency2
typedef struct VkLatencySubmissionPresentIdNV {
VkStructureType sType;
const void* pNext;
uint64_t presentID;
} VkLatencySubmissionPresentIdNV;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
presentIDis the application-defined identifier of the application-rendered frame that this submission belongs to. It is not related to presentIds passed via VkPresentIdKHR::pPresentIdsor VkPresentId2KHR::pPresentIds.
Description
If the implicit submission attribution rules defined in
https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#low-latency2-frame-attribution are not sufficient, an application can
associate submissions with application-rendered frames by chaining
VkLatencySubmissionPresentIdNV to its vkQueueSubmit
or vkQueueSubmit2
calls.
A non-zero presentID passed via VkLatencySubmissionPresentIdNV
must be greater than or equal to any non-zero presentID previously
passed via VkLatencySubmissionPresentIdNV on the same queue.
A logical device enters explicit submission attribution mode when any
queue on that device receives a VkLatencySubmissionPresentIdNV with a
non-zero presentID.
While a device is in explicit submission attribution mode, each
vkQueueSubmit
or vkQueueSubmit2
call will be associated with the presentID value of the first of these
rules to apply:
-
The
presentIDinVkLatencySubmissionPresentIdNVchained to the submission, if non-zero. -
The most recent
presentIDpassed viaVkLatencySubmissionPresentIdNVon the same queue, if non-zero. -
The maximum
presentIDpreviously passed viaVkLatencySubmissionPresentIdNVon the device.
A vkQueueSubmit
or vkQueueSubmit2
call that chains VkLatencySubmissionPresentIdNV with a presentID
of zero clears the tracked presentID for that queue.
The device will exit explicit submission attribution mode when all queues'
tracked presentID values have been cleared.
It will then return to using the implicit attribution rules.
Explicit submission attribution is only respected by implementations
advertising support for VK_NV_low_latency2 with a
VkExtensionProperties::specVersion greater than or equal to 3.
Implementations advertising a lower specVersion ignore
VkLatencySubmissionPresentIdNV, so applications should verify the
advertised specVersion before relying on explicit submission
attribution.
|
Note
|
Most applications do not need to pass |
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.