C Specification
The VkPhysicalDeviceFaultFeaturesKHR structure is defined as:
// Provided by VK_KHR_device_fault
typedef struct VkPhysicalDeviceFaultFeaturesKHR {
VkStructureType sType;
void* pNext;
VkBool32 deviceFault;
VkBool32 deviceFaultVendorBinary;
VkBool32 deviceFaultReportMasked;
VkBool32 deviceFaultDeviceLostOnMasked;
} VkPhysicalDeviceFaultFeaturesKHR;
Members
This structure describes the following features:
-
deviceFaultindicates that the implementation supports the reporting of device fault information. -
deviceFaultVendorBinaryindicates that the implementation supports the generation of vendor-specific binary crash dumps. These may provide additional information when imported into vendor-specific external tools. -
deviceFaultReportMaskedindicates that the implementation supports masked faults in normal operation (ie. automatically recovered by the driver internally without the application receiving a VK_ERROR_DEVICE_LOST error) which may be reported via this extension even if they did not result in a VK_ERROR_DEVICE_LOST condition being returned to the application. -
deviceFaultDeviceLostOnMaskedindicates that the implementation supports returning VK_ERROR_DEVICE_LOST for faults that would be normally be masked.
Description
In exceptional circumstances, some implementations may mask faults and attempt to recover from an error. In such circumstances, the device is not lost and further work can be submitted to the device. When such faults occur, the contents of all resources being written to at the time of the fault are undefined.
If the VkPhysicalDeviceFaultFeaturesKHR structure is included in the pNext chain of the
VkPhysicalDeviceFeatures2 structure passed to
vkGetPhysicalDeviceFeatures2, it is filled in to indicate whether each
corresponding feature is supported.
If the application wishes to use a VkDevice with any features
described by VkPhysicalDeviceFaultFeaturesKHR, it must add an instance of the structure,
with the desired feature members set to VK_TRUE, to the pNext
chain of VkDeviceCreateInfo when creating the VkDevice.
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.