C Specification
The VkDeviceFaultShaderAbortMessageInfoKHR structure is defined as:
// Provided by VK_KHR_shader_abort
typedef struct VkDeviceFaultShaderAbortMessageInfoKHR {
VkStructureType sType;
void* pNext;
uint64_t messageDataSize;
void* pMessageData;
} VkDeviceFaultShaderAbortMessageInfoKHR;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
messageDataSizeis the size ofpMessageDatain bytes. IfpMessageDataisNULL, this value is populated by the implementation. -
pMessageDataisNULLor a pointer tomessageDataSizebytes of data, which will be populated with data for messages reported viaOpAbortKHR. IfpMessageDataisNULLthenmessageDataSizewill be populated with the required size.
Description
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.
|
Note
|
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. |
Document Notes
For more information, see the Vulkan Specification.
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.