Class NVDeviceDiagnosticCheckpoints
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.
- Name String
VK_NV_device_diagnostic_checkpoints- Extension Type
- Device extension
- Registered Extension Number
- 207
- Revision
- 2
- Extension and Version Dependencies
VK_KHR_get_physical_device_properties2or Version 1.1- API Interactions
- Interacts with VK_VERSION_1_3
- Interacts with VK_KHR_synchronization2
- Contact
- Nuno Subtil nsubtil
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
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe extension name.static final intThe extension specification version.static final intExtendsVkStructureType.static final intExtendsVkStructureType.static final intExtendsVkStructureType.static final intExtendsVkStructureType. -
Method Summary
Modifier and TypeMethodDescriptionstatic voidnvkGetQueueCheckpointData2NV(org.lwjgl.vulkan.VkQueue queue, long pCheckpointDataCount, long pCheckpointData) Unsafe version of:GetQueueCheckpointData2NVstatic voidnvkGetQueueCheckpointDataNV(org.lwjgl.vulkan.VkQueue queue, long pCheckpointDataCount, long pCheckpointData) Unsafe version of:GetQueueCheckpointDataNVstatic voidvkCmdSetCheckpointNV(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pCheckpointMarker) Insert diagnostic checkpoint in command stream.static voidvkGetQueueCheckpointData2NV(org.lwjgl.vulkan.VkQueue queue, int[] pCheckpointDataCount, @Nullable VkCheckpointData2NV.Buffer pCheckpointData) Array version of:GetQueueCheckpointData2NVstatic voidvkGetQueueCheckpointData2NV(org.lwjgl.vulkan.VkQueue queue, IntBuffer pCheckpointDataCount, @Nullable VkCheckpointData2NV.Buffer pCheckpointData) Retrieve diagnostic checkpoint data.static voidvkGetQueueCheckpointDataNV(org.lwjgl.vulkan.VkQueue queue, int[] pCheckpointDataCount, @Nullable VkCheckpointDataNV.Buffer pCheckpointData) Array version of:GetQueueCheckpointDataNVstatic voidvkGetQueueCheckpointDataNV(org.lwjgl.vulkan.VkQueue queue, IntBuffer pCheckpointDataCount, @Nullable VkCheckpointDataNV.Buffer pCheckpointData) Retrieve diagnostic checkpoint data.
-
Field Details
-
VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION
public static final int VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSIONThe extension specification version.- See Also:
-
VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME
The extension name.- See Also:
-
VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV
public static final int VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NVExtendsVkStructureType.Enum values:
- See Also:
-
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV
public static final int VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NVExtendsVkStructureType.Enum values:
- See Also:
-
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV
public static final int VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NVExtendsVkStructureType.Enum values:
- See Also:
-
VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV
public static final int VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NVExtendsVkStructureType.Enum values:
- See Also:
-
-
Method Details
-
vkCmdSetCheckpointNV
public static void vkCmdSetCheckpointNV(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long pCheckpointMarker) Insert diagnostic checkpoint in command stream.C Specification
Device diagnostic checkpoints are inserted into the command stream by calling
CmdSetCheckpointNV.void vkCmdSetCheckpointNV( VkCommandBuffer commandBuffer, const void* pCheckpointMarker);Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandlecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas 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
VkCommandPoolthatcommandBufferwas 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 - Parameters:
commandBuffer- the command buffer that will receive the markerpCheckpointMarker- an opaque application-provided value that will be associated with the checkpoint.
-
nvkGetQueueCheckpointDataNV
public static void nvkGetQueueCheckpointDataNV(org.lwjgl.vulkan.VkQueue queue, long pCheckpointDataCount, long pCheckpointData) Unsafe version of:GetQueueCheckpointDataNV- Parameters:
pCheckpointDataCount- a pointer to an integer related to the number of checkpoint markers available or queried, as described below.
-
vkGetQueueCheckpointDataNV
public static void vkGetQueueCheckpointDataNV(org.lwjgl.vulkan.VkQueue queue, IntBuffer pCheckpointDataCount, @Nullable VkCheckpointDataNV.Buffer pCheckpointData) Retrieve diagnostic checkpoint data.C Specification
If the device encounters an error during execution, the implementation will return a
ERROR_DEVICE_LOSTerror to the application at a certain point during host execution. When this happens, the application can callGetQueueCheckpointDataNVto retrieve information on the most recent diagnostic checkpoints that were executed by the device.void vkGetQueueCheckpointDataNV( VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);Description
If
pCheckpointDataisNULL, then the number of checkpoint markers available is returned inpCheckpointDataCount.Otherwise,
pCheckpointDataCountmust point to a variable set by the application to the number of elements in thepCheckpointDataarray, and on return the variable is overwritten with the number of structures actually written topCheckpointData.If
pCheckpointDataCountis less than the number of checkpoint markers available, at mostpCheckpointDataCountstructures will be written.Valid Usage
- The device that
queuebelongs to must be in the lost state
Valid Usage (Implicit)
queuemust be a validVkQueuehandlepCheckpointDataCountmust be a valid pointer to auint32_tvalue- If the value referenced by
pCheckpointDataCountis not 0, andpCheckpointDatais notNULL,pCheckpointDatamust be a valid pointer to an array ofpCheckpointDataCountVkCheckpointDataNVstructures
See Also
- Parameters:
queue- theVkQueueobject the caller would like to retrieve checkpoint data forpCheckpointDataCount- a pointer to an integer related to the number of checkpoint markers available or queried, as described below.pCheckpointData- eitherNULLor a pointer to an array ofVkCheckpointDataNVstructures.
- The device that
-
nvkGetQueueCheckpointData2NV
public static void nvkGetQueueCheckpointData2NV(org.lwjgl.vulkan.VkQueue queue, long pCheckpointDataCount, long pCheckpointData) Unsafe version of:GetQueueCheckpointData2NV- Parameters:
pCheckpointDataCount- a pointer to an integer related to the number of checkpoint markers available or queried, as described below.
-
vkGetQueueCheckpointData2NV
public static void vkGetQueueCheckpointData2NV(org.lwjgl.vulkan.VkQueue queue, IntBuffer pCheckpointDataCount, @Nullable VkCheckpointData2NV.Buffer pCheckpointData) Retrieve diagnostic checkpoint data.C Specification
If the device encounters an error during execution, the implementation will return a
ERROR_DEVICE_LOSTerror to the application at some point during host execution. When this happens, the application can callGetQueueCheckpointData2NVto retrieve information on the most recent diagnostic checkpoints that were executed by the device.void vkGetQueueCheckpointData2NV( VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);Description
If
pCheckpointDataisNULL, then the number of checkpoint markers available is returned inpCheckpointDataCount. Otherwise,pCheckpointDataCountmust point to a variable set by the application to the number of elements in thepCheckpointDataarray, and on return the variable is overwritten with the number of structures actually written topCheckpointData.If
pCheckpointDataCountis less than the number of checkpoint markers available, at mostpCheckpointDataCountstructures will be written.Valid Usage
- The device that
queuebelongs to must be in the lost state
Valid Usage (Implicit)
queuemust be a validVkQueuehandlepCheckpointDataCountmust be a valid pointer to auint32_tvalue- If the value referenced by
pCheckpointDataCountis not 0, andpCheckpointDatais notNULL,pCheckpointDatamust be a valid pointer to an array ofpCheckpointDataCountVkCheckpointData2NVstructures
See Also
- Parameters:
queue- theVkQueueobject the caller would like to retrieve checkpoint data forpCheckpointDataCount- a pointer to an integer related to the number of checkpoint markers available or queried, as described below.pCheckpointData- eitherNULLor a pointer to an array ofVkCheckpointData2NVstructures.
- The device that
-
vkGetQueueCheckpointDataNV
public static void vkGetQueueCheckpointDataNV(org.lwjgl.vulkan.VkQueue queue, int[] pCheckpointDataCount, @Nullable VkCheckpointDataNV.Buffer pCheckpointData) Array version of:GetQueueCheckpointDataNV -
vkGetQueueCheckpointData2NV
public static void vkGetQueueCheckpointData2NV(org.lwjgl.vulkan.VkQueue queue, int[] pCheckpointDataCount, @Nullable VkCheckpointData2NV.Buffer pCheckpointData) Array version of:GetQueueCheckpointData2NV
-