HORIZON HASKELLDocslts/ghc-10.0.xfc4e5982026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · fc4e598 · 2026-10-11

Modulevulkan-3.27GHC2021

Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

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

Ratification Status

Not ratified

Extension and Version Dependencies

VK_KHR_get_physical_device_properties2

or

Vulkan Version 1.1

API Interactions
  • Interacts with VK_VERSION_1_3

  • Interacts with VK_KHR_synchronization2

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

If Vulkan Version 1.3 or VK_KHR_synchronization2 is supported:

New Structures

If Vulkan Version 1.3 or VK_KHR_synchronization2 is supported:

New Enum Constants

If Vulkan Version 1.3 or VK_KHR_synchronization2 is supported:

Version History

  • Revision 1, 2018-07-16 (Nuno Subtil)

    • Internal revisions

  • Revision 2, 2018-07-16 (Nuno Subtil)

    • ???

See Also

No cross-references are available

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.

  • 6 types
  • 3 values
  • Packagevulkan-3.27
  • Exports11
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceVK_NV_device_diagnostic_checkpoints.hs
valuecmdSetCheckpointNV
  1. :: MonadIO io
  2. => CommandBuffer

    commandBuffer is the command buffer that will receive the marker

  3. -> "checkpointMarker" ::: Ptr ()

    pCheckpointMarker is an opaque application-provided value that will be associated with the checkpoint.

  4. -> io ()
#

vkCmdSetCheckpointNV - Insert diagnostic checkpoint in command stream

Valid Usage (Implicit)

Host Synchronization

  • Host access to commandBuffer must be externally synchronized

  • Host access to the CommandPool that commandBuffer 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

VK_QUEUE_COMPUTE_BIT VK_QUEUE_GRAPHICS_BIT VK_QUEUE_TRANSFER_BIT

Action

Conditional Rendering

vkCmdSetCheckpointNV is not affected by conditional rendering

See Also

VK_NV_device_diagnostic_checkpoints, CommandBuffer

valuegetQueueCheckpointDataNV
  1. :: MonadIO io
  2. => Queue

    queue is the Queue object the caller would like to retrieve checkpoint data for

  3. -> 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 application 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

  • The device that queue belongs to must be in the lost state

Valid Usage (Implicit)

  • queue must be a valid Queue handle

  • pCheckpointDataCount must be a valid pointer to a uint32_t value

  • If the value referenced by pCheckpointDataCount is not 0, and pCheckpointData is not NULL, pCheckpointData must be a valid pointer to an array of pCheckpointDataCount CheckpointDataNV structures

See Also

VK_NV_device_diagnostic_checkpoints, CheckpointDataNV, Queue

valuegetQueueCheckpointData2NV
  1. :: MonadIO io
  2. => Queue

    queue is the Queue object the caller would like to retrieve checkpoint data for

  3. -> io ("checkpointData" ::: Vector CheckpointData2NV)
#

vkGetQueueCheckpointData2NV - 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 application 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

  • The device that queue belongs to must be in the lost state

Valid Usage (Implicit)

  • queue must be a valid Queue handle

  • pCheckpointDataCount must be a valid pointer to a uint32_t value

  • If the value referenced by pCheckpointDataCount is not 0, and pCheckpointData is not NULL, pCheckpointData must be a valid pointer to an array of pCheckpointDataCount CheckpointData2NV structures

See Also

VK_KHR_synchronization2, VK_NV_device_diagnostic_checkpoints, VK_VERSION_1_3, CheckpointData2NV, Queue

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.

Structure Chaining

Extends the structure

See Also

VK_NV_device_diagnostic_checkpoints, PipelineStageFlags, StructureType

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero
datadata CheckpointDataNV
#

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

Instances5Show, Storable, FromCStruct, ToCStruct, Zero

VkQueueFamilyCheckpointProperties2NV - Return structure for queue family checkpoint information query

Description

Additional queue family information can be queried by setting QueueFamilyProperties2::pNext to point to a QueueFamilyCheckpointProperties2NV structure.

Structure Chaining

Extends the structure

See Also

VK_KHR_synchronization2, VK_NV_device_diagnostic_checkpoints, VK_VERSION_1_3, PipelineStageFlags2, StructureType

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero
datadata CheckpointData2NV
#

VkCheckpointData2NV - Return structure for command buffer checkpoint data

Valid Usage (Implicit)

The stages at which a checkpoint marker can be executed are implementation-defined and can be queried by calling getPhysicalDeviceQueueFamilyProperties2.

See Also

VK_KHR_synchronization2, VK_NV_device_diagnostic_checkpoints, VK_VERSION_1_3, PipelineStageFlags2, StructureType, getQueueCheckpointData2NV

Constructors

Instances5Show, Storable, FromCStruct, ToCStruct, Zero