vulkan
Safe HaskellNone
LanguageHaskell2010

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

Synopsis

Documentation

cmdSetCheckpointNV Source #

Arguments

:: MonadIO io 
=> CommandBuffer

commandBuffer is the command buffer that will receive the marker

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

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

-> 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 LevelsRender Pass ScopeVideo Coding ScopeSupported Queue TypesCommand Type
Primary Secondary Both Outside VK_QUEUE_COMPUTE_BIT VK_QUEUE_GRAPHICS_BIT VK_QUEUE_TRANSFER_BITAction

Conditional Rendering

vkCmdSetCheckpointNV is not affected by conditional rendering

See Also

VK_NV_device_diagnostic_checkpoints, CommandBuffer

getQueueCheckpointDataNV Source #

Arguments

:: MonadIO io 
=> Queue

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

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

getQueueCheckpointData2NV Source #

Arguments

:: MonadIO io 
=> Queue

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

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

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

Instances details
Eq QueueFamilyCheckpointPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

Storable QueueFamilyCheckpointPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

Show QueueFamilyCheckpointPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

FromCStruct QueueFamilyCheckpointPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

ToCStruct QueueFamilyCheckpointPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

Zero QueueFamilyCheckpointPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

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

Instances details
Storable CheckpointDataNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

Show CheckpointDataNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

FromCStruct CheckpointDataNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

ToCStruct CheckpointDataNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

Zero CheckpointDataNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

data QueueFamilyCheckpointProperties2NV Source #

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.

Valid Usage (Implicit)

See Also

VK_KHR_synchronization2, VK_NV_device_diagnostic_checkpoints, VK_VERSION_1_3, PipelineStageFlags2, StructureType

Constructors

QueueFamilyCheckpointProperties2NV 

Fields

Instances

Instances details
Eq QueueFamilyCheckpointProperties2NV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

Storable QueueFamilyCheckpointProperties2NV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

Show QueueFamilyCheckpointProperties2NV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

FromCStruct QueueFamilyCheckpointProperties2NV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

ToCStruct QueueFamilyCheckpointProperties2NV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

Zero QueueFamilyCheckpointProperties2NV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

data CheckpointData2NV Source #

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

CheckpointData2NV 

Fields

  • stage :: PipelineStageFlags2

    stage indicates a single pipeline stage which the checkpoint marker data refers to.

  • checkpointMarker :: Ptr ()

    pCheckpointMarker contains the value of the last checkpoint marker executed in the stage that stage refers to.

Instances

Instances details
Storable CheckpointData2NV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

Show CheckpointData2NV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

FromCStruct CheckpointData2NV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

ToCStruct CheckpointData2NV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

Zero CheckpointData2NV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

type NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME = "VK_NV_device_diagnostic_checkpoints" Source #