| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints
Description
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_properties2to 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
Arguments
| :: forall io. MonadIO io | |
| => CommandBuffer |
|
| -> ("checkpointMarker" ::: Ptr ()) |
|
| -> io () |
vkCmdSetCheckpointNV - Insert diagnostic checkpoint in command stream
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas 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
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas 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 #
Arguments
| :: 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)
-
queuemust be a validQueuehandle
-
pCheckpointDataCountmust be a valid pointer to auint32_tvalue - If the
value referenced by
pCheckpointDataCountis not0, andpCheckpointDatais notNULL,pCheckpointDatamust be a valid pointer to an array ofpCheckpointDataCountCheckpointDataNVstructures
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
Constructors
| QueueFamilyCheckpointPropertiesNV | |
Fields
| |
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
Constructors
| CheckpointDataNV | |
Fields
| |
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 #