C Specification
The VkDeviceFaultInfoKHR structure is defined as:
// Provided by VK_KHR_device_fault
typedef struct VkDeviceFaultInfoKHR {
VkStructureType sType;
void* pNext;
VkDeviceFaultFlagsKHR flags;
uint64_t groupId;
char description[VK_MAX_DESCRIPTION_SIZE];
VkDeviceFaultAddressInfoKHR faultAddressInfo;
VkDeviceFaultAddressInfoKHR instructionAddressInfo;
VkDeviceFaultVendorInfoKHR vendorInfo;
} VkDeviceFaultInfoKHR;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
flagsis a bitmask of VkDeviceFaultFlagBitsKHR values giving information as to the type of fault and which additional fields have been populated by the driver provide further information. -
groupIDis a monotonically increasing value for associating multiple entries with a single fault. -
descriptionis an array of VK_MAX_DESCRIPTION_SIZEcharcontaining a null-terminated UTF-8 string which is a human readable description of the fault. -
faultAddressInfois a VkDeviceFaultAddressInfoKHR structure providing details of the memory access which caused a fault. -
instructionAddressInfois a VkDeviceFaultAddressInfoKHR structure providing details of the GPU instruction which cause a fault. -
vendorInfois a VkDeviceFaultVendorInfoKHR structure providing vendor specific fault information.
Description
An implementation should populate as many members of VkDeviceFaultInfoKHR as possible, given the information available at the time of the fault and the constraints of the implementation itself.
A single error may generate multiple instances of
VkDeviceFaultInfoKHR.
For example, multiple page faults may be generated, with the
faultAddress member of each instance identifying a different memory
address.
In this case, all instances of VkDeviceFaultInfoKHR should share the
same groupID where the implementation can reasonably ascertain this
association.
Due to hardware limitations, faultAddressInfo and
instructionAddressInfo describe ranges of GPU virtual address space,
rather than precise addresses.
The precise memory address accessed or the precise value of the instruction
pointer must lie within the region described.
|
Note
|
Each
Comparison of the GPU virtual addresses described by |
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.