getDeviceFaultInfoEXT :: MonadIO io=> Devicedeviceis the logical device from which to query the diagnostic fault information.-> io (Result, DeviceFaultCountsEXT, DeviceFaultInfoEXT)
vkGetDeviceFaultInfoEXT - Reports fault information for the specified device
Description
If pFaultInfo is NULL, then the counts of corresponding additional
fault information structures available are returned in the
addressInfoCount and vendorInfoCount members of pFaultCounts.
Additionally, the size of any vendor-specific binary crash dump is
returned in the vendorBinarySize member of pFaultCounts.
If pFaultInfo is not NULL, pFaultCounts must point to a
DeviceFaultCountsEXT structure with each structure count or size
member (addressInfoCount, vendorInfoCount, vendorBinarySize) set
by the application to the number of elements in the corresponding output
array member of pFaultInfo (pAddressInfos and pVendorInfos), or to
the size of the output buffer in bytes (pVendorBinaryData). On return,
each structure count member is overwritten with the number of structures
actually written to the corresponding output array member of
pFaultInfo. Similarly, vendorBinarySize is overwritten with the
number of bytes actually written to the pVendorBinaryData member of
pFaultInfo.
If the
vendor-specific crash dumps
feature is not enabled, then implementations must set
pFaultCounts->vendorBinarySize to zero and must not modify
pFaultInfo->pVendorBinaryData.
If any pFaultCounts structure count member is less than the number of
corresponding fault properties available, at most structure count
(addressInfoCount, vendorInfoCount) elements will be written to the
associated pFaultInfo output array. Similarly, if vendorBinarySize
is less than the size in bytes of the available crash dump data, at most
vendorBinarySize elements will be written to pVendorBinaryData.
If pFaultInfo is NULL, then subsequent calls to
getDeviceFaultInfoEXT for the same device must return identical
values in the addressInfoCount, vendorInfoCount and
vendorBinarySize members of pFaultCounts.
If pFaultInfo is not NULL, then subsequent calls to
getDeviceFaultInfoEXT for the same device must return identical
values in the output members of pFaultInfo (pAddressInfos,
pVendorInfos, pVendorBinaryData), up to the limits described by the
structure count and buffer size members of pFaultCounts
(addressInfoCount, vendorInfoCount, vendorBinarySize). If the
sizes of the output members of pFaultInfo increase for a subsequent
call to getDeviceFaultInfoEXT, then supplementary information may be
returned in the additional available space.
If any pFaultCounts structure count member is smaller than the number
of corresponding fault properties available, or if
pFaultCounts->vendorBinarySize is smaller than the size in bytes of
the generated binary crash dump data,
INCOMPLETE will be returned instead of
SUCCESS, to indicate that not all the
available properties were returned.
If pFaultCounts->vendorBinarySize is less than what is necessary to
store the
binary crash dump header,
nothing will be written to pFaultInfo->pVendorBinaryData and zero will
be written to pFaultCounts->vendorBinarySize.
Valid Usage
devicemust be in the lost state
If the value referenced by
pFaultCounts->addressInfoCountis not0, andpFaultInfo->pAddressInfosis notNULL,pFaultInfo->pAddressInfosmust be a valid pointer to an array ofpFaultCounts->addressInfoCountDeviceFaultAddressInfoEXT structuresIf the value referenced by
pFaultCounts->vendorInfoCountis not0, andpFaultInfo->pVendorInfosis notNULL,pFaultInfo->pVendorInfosmust be a valid pointer to an array ofpFaultCounts->vendorInfoCountDeviceFaultVendorInfoEXT structuresIf the value referenced by
pFaultCounts->vendorBinarySizeis not0, andpFaultInfo->pVendorBinaryDatais notNULL,pFaultInfo->pVendorBinaryDatamust be a valid pointer to an array ofpFaultCounts->vendorBinarySizebytes
Valid Usage (Implicit)
devicemust be a valid Device handle
pFaultCountsmust be a valid pointer to a DeviceFaultCountsEXT structureIf
pFaultInfois notNULL,pFaultInfomust be a valid pointer to a DeviceFaultInfoEXT structure
Return Codes
See Also
VK_EXT_device_fault, Device, DeviceFaultCountsEXT, DeviceFaultInfoEXT