vulkan-3.8.1: Bindings to the Vulkan graphics API.
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
Extension and Version Dependencies
  • Requires Vulkan 1.0
  • Requires VK_KHR_get_physical_device_properties2
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

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 Supported Queue Types Pipeline Type
Primary Secondary Both Graphics Compute Transfer

See Also

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

CheckpointDataNV, Queue

data QueueFamilyCheckpointPropertiesNV Source #

VkQueueFamilyCheckpointPropertiesNV - return structure for queue family checkpoint info query

Valid Usage (Implicit)

See Also

PipelineStageFlags, StructureType

Constructors

QueueFamilyCheckpointPropertiesNV 

Fields

Instances

Instances details
Eq 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

Storable 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

PipelineStageFlagBits, StructureType, getQueueCheckpointDataNV

Constructors

CheckpointDataNV 

Fields

  • stage :: PipelineStageFlagBits

    stage indicates which pipeline stage 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
Show CheckpointDataNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints

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