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:

  • deviceFault indicates that the implementation supports the reporting of device fault information.

  • deviceFaultVendorBinary indicates that the implementation supports the generation of vendor-specific binary crash dumps. These may provide additional information when imported into vendor-specific external tools.

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

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

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