Class NVDeviceDiagnosticCheckpoints
- java.lang.Object
-
- org.lwjgl.vulkan.NVDeviceDiagnosticCheckpoints
-
public class NVDeviceDiagnosticCheckpoints extends java.lang.Object
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.
- 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
- Nuno Subtil nsubtil
- Last Modified Date
- 2018-07-16
- Contributors
- Oleg Kuznetsov, NVIDIA
- Alex Dunn, NVIDIA
- Jeff Bolz, NVIDIA
- Eric Werness, NVIDIA
- Daniel Koch, NVIDIA
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME
The extension name.static int
VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION
The extension specification version.static int
VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NVExtendsVkStructureType
.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
nvkGetQueueCheckpointDataNV(VkQueue queue, long pCheckpointDataCount, long pCheckpointData)
Unsafe version of:GetQueueCheckpointDataNV
static void
vkCmdSetCheckpointNV(VkCommandBuffer commandBuffer, long pCheckpointMarker)
insert diagnostic checkpoint in command stream.static void
vkGetQueueCheckpointDataNV(VkQueue queue, int[] pCheckpointDataCount, VkCheckpointDataNV.Buffer pCheckpointData)
Array version of:GetQueueCheckpointDataNV
static void
vkGetQueueCheckpointDataNV(VkQueue queue, java.nio.IntBuffer pCheckpointDataCount, VkCheckpointDataNV.Buffer pCheckpointData)
retrieve diagnostic checkpoint data.
-
-
-
Field Detail
-
VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION
The extension specification version.
-
VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME
The extension name.
-
-
Method Detail
-
vkCmdSetCheckpointNV
public static void vkCmdSetCheckpointNV(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)
commandBuffer
must be a validVkCommandBuffer
handlecommandBuffer
must be in the recording state- The
VkCommandPool
thatcommandBuffer
was allocated from must support graphics, compute, or transfer operations
Host Synchronization
- Host access to the
VkCommandPool
thatcommandBuffer
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 - 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(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(VkQueue queue, java.nio.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_LOST
error to the application at a certain point during host execution. When this happens, the application can callGetQueueCheckpointDataNV
to 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
pCheckpointData
isNULL
, then the number of checkpoint markers available is returned inpCheckpointDataCount
.Otherwise,
pCheckpointDataCount
must point to a variable set by the user to the number of elements in thepCheckpointData
array, and on return the variable is overwritten with the number of structures actually written topCheckpointData
.If
pCheckpointDataCount
is less than the number of checkpoint markers available, at mostpCheckpointDataCount
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 validVkQueue
handlepCheckpointDataCount
must be a valid pointer to auint32_t
value- If the value referenced by
pCheckpointDataCount
is not 0, andpCheckpointData
is notNULL
,pCheckpointData
must be a valid pointer to an array ofpCheckpointDataCount
VkCheckpointDataNV
structures
See Also
- Parameters:
queue
- theVkQueue
object 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
- eitherNULL
or a pointer to an array ofVkCheckpointDataNV
structures.
- The device that
-
vkGetQueueCheckpointDataNV
public static void vkGetQueueCheckpointDataNV(VkQueue queue, int[] pCheckpointDataCount, @Nullable VkCheckpointDataNV.Buffer pCheckpointData)
Array version of:GetQueueCheckpointDataNV
-
-