VkDeviceFaultVendorBinaryHeaderVersionOneEXT
Version one of the crash dump header is defined as:
typedef struct VkDeviceFaultVendorBinaryHeaderVersionOneEXT {
// The fields in this structure are non-normative since structure packing is implementation-defined in C. The specification defines the normative layout.;
uint32_t headerSize;
VkDeviceFaultVendorBinaryHeaderVersionEXT headerVersion;
uint32_t vendorID;
uint32_t deviceID;
uint32_t driverVersion;
uint8_t pipelineCacheUUID[VK_UUID_SIZE];
uint32_t applicationNameOffset;
uint32_t applicationVersion;
uint32_t engineNameOffset;
uint32_t engineVersion;
uint32_t apiVersion;
} VkDeviceFaultVendorBinaryHeaderVersionOneEXT;
headerSize
is the length in bytes of the crash dump header.headerVersion
is a VkDeviceFaultVendorBinaryHeaderVersionEXT enum value specifying the version of the header. A consumer of the crash dump should use the header version to interpret the remainder of the header.vendorID
is theVkPhysicalDeviceProperties
::vendorID
of the implementation.deviceID
is theVkPhysicalDeviceProperties
::deviceID
of the implementation.driverVersion
is theVkPhysicalDeviceProperties
::driverVersion
of the implementation.pipelineCacheUUID
is an array ofVK_UUID_SIZE
uint8_t
values matching theVkPhysicalDeviceProperties
::pipelineCacheUUID
property of the implementation.applicationNameOffset
is zero, or an offset from the base address of the crash dump header to a null-terminated UTF-8 string containing the name of the application. IfapplicationNameOffset
is non-zero, this string must match the application name specified via VkApplicationInfo::pApplicationName
during instance creation.applicationVersion
must be zero or the value specified by VkApplicationInfo::applicationVersion
during instance creation.engineNameOffset
is zero, or an offset from the base address of the crash dump header to a null-terminated UTF-8 string containing the name of the engine (if any) used to create the application. IfengineNameOffset
is non-zero, this string must match the engine name specified via VkApplicationInfo::pEngineName
during instance creation.engineVersion
must be zero or the value specified by VkApplicationInfo::engineVersion
during instance creation.apiVersion
must be zero or the value specified by VkApplicationInfo::apiVersion
during instance creation.
Unlike most structures declared by the Vulkan API, all fields of this structure are written with the least significant byte first, regardless of host byte-order.
The C language specification does not define the packing of structure members. This layout assumes tight structure member packing, with members laid out in the order listed in the structure, and the intended size of the structure is 56 bytes. If a compiler produces code that diverges from that pattern, applications must employ another method to set values at the correct offsets.
Valid Usage
VUID-VkDeviceFaultVendorBinaryHeaderVersionOneEXT-headerSize-07340
headerSize
must be 56
VUID-VkDeviceFaultVendorBinaryHeaderVersionOneEXT-headerVersion-07341
headerVersion
must be
VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT
Valid Usage (Implicit)
VUID-VkDeviceFaultVendorBinaryHeaderVersionOneEXT-headerVersion-parameter
headerVersion
must be a valid VkDeviceFaultVendorBinaryHeaderVersionEXT value