Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Name
VK_NV_device_diagnostic_checkpoints - device extension
VK_NV_device_diagnostic_checkpoints
- Name String
VK_NV_device_diagnostic_checkpoints
- Extension Type
- Device extension
- Registered Extension Number
- 207
- Revision
- 2
- Extension and Version Dependencies
- Requires support for Vulkan 1.0
- Requires
VK_KHR_get_physical_device_properties2
to be enabled for any device-level functionality
- Contact
Other Extension Metadata
- Last Modified Date
- 2018-07-16
- Contributors
- Oleg Kuznetsov, NVIDIA
- Alex Dunn, NVIDIA
- Jeff Bolz, NVIDIA
- Eric Werness, NVIDIA
- Daniel Koch, NVIDIA
Description
This extension allows applications to insert markers in the command stream and associate them with custom data.
If a device lost error occurs, the application may then query the implementation for the last markers to cross specific implementation-defined pipeline stages, in order to narrow down which commands were executing at the time and might have caused the failure.
New Commands
New Structures
New Enum Constants
Version History
Revision 1, 2018-07-16 (Nuno Subtil)
- Internal revisions
Revision 2, 2018-07-16 (Nuno Subtil)
- ???
See Also
CheckpointDataNV
, QueueFamilyCheckpointPropertiesNV
,
cmdSetCheckpointNV
, getQueueCheckpointDataNV
Document Notes
For more information, see the Vulkan Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Synopsis
- cmdSetCheckpointNV :: forall io. MonadIO io => CommandBuffer -> ("checkpointMarker" ::: Ptr ()) -> io ()
- getQueueCheckpointDataNV :: forall io. MonadIO io => Queue -> io ("checkpointData" ::: Vector CheckpointDataNV)
- data QueueFamilyCheckpointPropertiesNV = QueueFamilyCheckpointPropertiesNV {}
- data CheckpointDataNV = CheckpointDataNV {}
- type NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION = 2
- pattern NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION :: forall a. Integral a => a
- type NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME = "VK_NV_device_diagnostic_checkpoints"
- pattern NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
Documentation
:: forall io. MonadIO io | |
=> CommandBuffer |
|
-> ("checkpointMarker" ::: Ptr ()) |
|
-> io () |
vkCmdSetCheckpointNV - Insert diagnostic checkpoint in command stream
Valid Usage (Implicit)
-
commandBuffer
must be a validCommandBuffer
handle
-
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics, compute, or transfer operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was allocated from must be externally synchronized
Command Properties
'
Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
---|---|---|---|---|
Primary Secondary | Both | Outside | Graphics Compute Transfer | Action |
See Also
getQueueCheckpointDataNV Source #
:: forall io. MonadIO io | |
=> Queue |
|
-> io ("checkpointData" ::: Vector CheckpointDataNV) |
vkGetQueueCheckpointDataNV - Retrieve diagnostic checkpoint data
Description
If pCheckpointData
is NULL
, then the number of checkpoint markers
available is returned in pCheckpointDataCount
.
Otherwise, pCheckpointDataCount
must point to a variable set by the
user to the number of elements in the pCheckpointData
array, and on
return the variable is overwritten with the number of structures
actually written to pCheckpointData
.
If pCheckpointDataCount
is less than the number of checkpoint markers
available, at most pCheckpointDataCount
structures will be written.
Valid Usage
Valid Usage (Implicit)
-
queue
must be a validQueue
handle
-
pCheckpointDataCount
must be a valid pointer to auint32_t
value - If the
value referenced by
pCheckpointDataCount
is not0
, andpCheckpointData
is notNULL
,pCheckpointData
must be a valid pointer to an array ofpCheckpointDataCount
CheckpointDataNV
structures
See Also
VK_NV_device_diagnostic_checkpoints,
CheckpointDataNV
, Queue
data QueueFamilyCheckpointPropertiesNV Source #
VkQueueFamilyCheckpointPropertiesNV - Return structure for queue family checkpoint information query
Description
Additional queue family information can be queried by setting
QueueFamilyProperties2
::pNext
to point to a QueueFamilyCheckpointPropertiesNV
structure.
Valid Usage (Implicit)
See Also
VK_NV_device_diagnostic_checkpoints,
PipelineStageFlags
,
StructureType
QueueFamilyCheckpointPropertiesNV | |
|
Instances
data CheckpointDataNV Source #
VkCheckpointDataNV - Return structure for command buffer checkpoint data
Description
The stages at which a checkpoint marker can be executed are
implementation-defined and can be queried by calling
getPhysicalDeviceQueueFamilyProperties2
.
Valid Usage (Implicit)
See Also
VK_NV_device_diagnostic_checkpoints,
PipelineStageFlagBits
,
StructureType
,
getQueueCheckpointDataNV
CheckpointDataNV | |
|
Instances
pattern NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION :: forall a. Integral a => a Source #
type NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME = "VK_NV_device_diagnostic_checkpoints" Source #
pattern NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #