VkDeviceFaultAddressTypeKHR(3)

# VkDeviceFaultAddressTypeKHR(3) Manual Page

## Name

VkDeviceFaultAddressTypeKHR - Page fault access types

## C Specification

Possible values of VkDeviceFaultAddressInfoKHR::`addressType` are:

    // Provided by VK_KHR_device_fault
    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 VK_EXT_device_fault
        VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT = VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_KHR,
      // Provided by VK_EXT_device_fault
        VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT = VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_KHR,
      // Provided by VK_EXT_device_fault
        VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT = VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_KHR,
      // Provided by VK_EXT_device_fault
        VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT = VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_KHR,
      // Provided by VK_EXT_device_fault
        VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT = VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_KHR,
      // Provided by VK_EXT_device_fault
        VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT = VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_KHR,
      // Provided by VK_EXT_device_fault
        VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT = VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_KHR,
    } VkDeviceFaultAddressTypeKHR;

    // Provided by VK_EXT_device_fault
    // Equivalent to VkDeviceFaultAddressTypeKHR
    typedef VkDeviceFaultAddressTypeKHR VkDeviceFaultAddressTypeEXT;

## Description

- VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_KHR specifies that VkDeviceFaultAddressInfoKHR does not describe a page fault, or an instruction address.

- VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_KHR specifies that VkDeviceFaultAddressInfoKHR describes a page fault triggered by an invalid read operation.

- VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_KHR specifies that VkDeviceFaultAddressInfoKHR describes a page fault triggered by an invalid write operation.

- VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_KHR specifies that VkDeviceFaultAddressInfoKHR describes a page fault triggered by an attempt to execute non-executable memory.

- VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_KHR specifies 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_KHR specifies an instruction pointer value associated with an invalid instruction fault.

- VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_KHR specifies an instruction pointer value associated with a fault.

Note | 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.

## See Also

VK_EXT_device_fault, VK_KHR_device_fault, VkDeviceFaultAddressInfoKHR

## 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

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0