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

  • 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.

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.

Valid Usage (Implicit)

See Also

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.

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0