Structures

VkDeviceFaultAddressInfoEXT

Structure specifying GPU virtual address information

The VkDeviceFaultAddressInfoEXT structure is defined as:

typedef struct VkDeviceFaultAddressInfoEXT {
    VkDeviceFaultAddressTypeEXT addressType;
    VkDeviceAddress reportedAddress;
    VkDeviceSize addressPrecision;
} VkDeviceFaultAddressInfoEXT;
  • 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.

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

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.

Valid Usage (Implicit)