vulkan-3.24.3: Bindings to the Vulkan graphics API.
Safe HaskellSafe-Inferred
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
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

Documentation

cmdSetCheckpointNV Source #

Arguments

:: forall io. 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)

  • commandBuffer must be in the recording state
  • The CommandPool that commandBuffer 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 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 Graphics Compute TransferAction

See Also

VK_NV_device_diagnostic_checkpoints, CommandBuffer

getQueueCheckpointDataNV Source #

Arguments

:: forall io. 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 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

  • 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

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

Eq 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

type NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME = "VK_NV_device_diagnostic_checkpoints" Source #