Structures

VkDeviceFaultShaderAbortMessageInfoKHR

Structure specifying message data from code:OpAbortKHR

The VkDeviceFaultShaderAbortMessageInfoKHR structure is defined as:

typedef struct VkDeviceFaultShaderAbortMessageInfoKHR {
    VkStructureType sType;
    void* pNext;
    uint64_t messageDataSize;
    void* pMessageData;
} VkDeviceFaultShaderAbortMessageInfoKHR;
  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • messageDataSize is the size of pMessageData in bytes. If pMessageData is NULL, this value is populated by the implementation.
  • pMessageData is NULL or a pointer to messageDataSize bytes of data, which will be populated with data for messages reported via OpAbortKHR. If pMessageData is NULL then messageDataSize will be populated with the required size.

This structure can be included in the pNext chain of VkDeviceFaultDebugInfoKHR to retrieve messages returned by OpAbortKHR instructions.

pMessageData is populated with a series of (size,payload) pairs, each aligned to 8-byte boundaries. The size in each pair is a 64-bit integer indicating the number of bytes in the subsequent payload. The data in payload is laid out in the exact manner specified in the OpAbortKHR instruction by the message type, with no modifications. If multiple messages are present, the next message size will always be at the following 8-byte aligned offset after the payload ends.

Implementations must report the message reported by the first OpAbortKHR instruction executed in an invocation for this device. They may report additional messages if other invocations continued to execute after the abort instruction was executed.

Even though shading languages may provide definitions for printf-style abort commands, no formatting is performed by the Vulkan implementation. Applications should consult documentation for the shader language they are using on how abort messages are packed, so that they can unpack them after they are queried.

Valid Usage (Implicit)

VUID-VkDeviceFaultShaderAbortMessageInfoKHR-sType-sType

sType must be VK_STRUCTURE_TYPE_DEVICE_FAULT_SHADER_ABORT_MESSAGE_INFO_KHR