Enum
VkDeviceFaultAddressTypeKHR
Page fault access types
Possible values of VkDeviceFaultAddressInfoKHR::addressType are:
typedef enum VkDeviceFaultAddressTypeKHR {
VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_KHR = 0,
VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_KHR = 1,
VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_KHR = 2,
VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_KHR = 3,
VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_KHR = 4,
VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_KHR = 5,
VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_KHR = 6,
// Provided by extensions
VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT = VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_KHR,
VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT = VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_KHR,
VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT = VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_KHR,
VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT = VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_KHR,
VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT = VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_KHR,
VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT = VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_KHR,
VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT = VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_KHR,
} VkDeviceFaultAddressTypeKHR;
pub struct DeviceFaultAddressTypeKHR(u32);
impl DeviceFaultAddressTypeKHR {
pub const NONE: Self = 0;
pub const READ_INVALID: Self = 1;
pub const WRITE_INVALID: Self = 2;
pub const EXECUTE_INVALID: Self = 3;
pub const INSTRUCTION_POINTER_UNKNOWN: Self = 4;
pub const INSTRUCTION_POINTER_INVALID: Self = 5;
pub const INSTRUCTION_POINTER_FAULT: Self = 6;
pub const NONE_EXT: Self = Self::NONE;
pub const READ_INVALID_EXT: Self = Self::READ_INVALID;
pub const WRITE_INVALID_EXT: Self = Self::WRITE_INVALID;
pub const EXECUTE_INVALID_EXT: Self = Self::EXECUTE_INVALID;
pub const INSTRUCTION_POINTER_UNKNOWN_EXT: Self = Self::INSTRUCTION_POINTER_UNKNOWN;
pub const INSTRUCTION_POINTER_INVALID_EXT: Self = Self::INSTRUCTION_POINTER_INVALID;
pub const INSTRUCTION_POINTER_FAULT_EXT: Self = Self::INSTRUCTION_POINTER_FAULT;
}
#define VkDeviceFaultAddressTypeEXT VkDeviceFaultAddressTypeKHR
const DeviceFaultAddressTypeEXT: _ = vk::DeviceFaultAddressTypeKHR;
VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_KHRspecifies that VkDeviceFaultAddressInfoKHR does not describe a page fault, or an instruction address.VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_KHRspecifies that VkDeviceFaultAddressInfoKHR describes a page fault triggered by an invalid read operation.VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_KHRspecifies that VkDeviceFaultAddressInfoKHR describes a page fault triggered by an invalid write operation.VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_KHRspecifies that VkDeviceFaultAddressInfoKHR describes a page fault triggered by an attempt to execute non-executable memory.VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_KHRspecifies an instruction pointer value at the time the fault occurred. This may or may not be related to a fault.VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_KHRspecifies an instruction pointer value associated with an invalid instruction fault.VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_KHRspecifies an instruction pointer value associated with a fault.
The instruction pointer values recorded may not identify the specific
instruction(s) that triggered the fault.
The relationship between the instruction pointer reported and triggering
instruction will be vendor-specific.
Parent
VK_KHR_device_faultType
Enum