C Specification

The VkDeviceFaultAddressInfoKHR structure is defined as:

// Provided by VK_KHR_device_fault
typedef struct VkDeviceFaultAddressInfoKHR {
    VkDeviceFaultAddressTypeKHR    addressType;
    VkDeviceAddress                reportedAddress;
    VkDeviceSize                   addressPrecision;
} VkDeviceFaultAddressInfoKHR;
// Provided by VK_EXT_device_fault
// Equivalent to VkDeviceFaultAddressInfoKHR
typedef VkDeviceFaultAddressInfoKHR VkDeviceFaultAddressInfoEXT;

Members

  • addressType is either the type of memory operation that triggered a page fault, or the type of association between an instruction pointer and a fault.

  • reportedAddress is the GPU virtual address recorded by the device.

  • addressPrecision is a power of two value that specifies how precisely the device can report the address.

Description

The combination of reportedAddress and addressPrecision allow the possible range of addresses to be calculated, such that:

lower_address = (pInfo->reportedAddress & ~(pInfo->addressPrecision-1))
upper_address = (pInfo->reportedAddress |  (pInfo->addressPrecision-1))
Note

It is valid for the reportedAddress to contain a more precise address than indicated by addressPrecision. In this case, the value of reportedAddress should be treated as an additional hint as to the value of the address that triggered the page fault, or to the value of an instruction pointer.

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