vkGetDeviceFaultReportsKHR
To retrieve diagnostic information about faults call:
VkResult vkGetDeviceFaultReportsKHR(
VkDevice device,
uint64_t timeout,
uint32_t* pFaultCounts,
VkDeviceFaultInfoKHR* pFaultInfo);
pub fn get_device_fault_reports_khr(
device: vk::Device,
timeout: u64,
p_fault_counts: *mut u32,
p_fault_info: *mut vk::DeviceFaultInfoKHR,
) -> vk::Result;
deviceis the logical device from which to query the diagnostic fault information.timeoutis the timeout period in units of nanoseconds.timeoutis adjusted to the closest value allowed by the implementation-dependent timeout accuracy, which may be substantially longer than one nanosecond, and may be longer than the requested period.pFaultCountis a pointer to an integer related to the number of fault reports available or queried, as described below.pFaultInfoisNULLor a pointer to an array of VkDeviceFaultInfoKHR structures in which fault information is returned.
If at least one fault report is available when
vkGetDeviceFaultReportsKHR is called, then
vkGetDeviceFaultReportsKHR returns immediately.
If no faults have occurred at the time vkGetDeviceFaultReportsKHR is
called, then vkGetDeviceFaultReportsKHR will block and wait until a
fault occurs and a report becomes available or until the timeout has
expired, whichever is sooner.
If timeout is zero, then vkGetDeviceFaultReportsKHR does not
wait, but simply returns the current fault count and reports.
VK_TIMEOUT will be returned in this case if no faults have occurred,
even though no actual wait was performed.
If a fault has occurred before the timeout has expired,
vkGetDeviceFaultReportsKHR returns VK_SUCCESS.
Otherwise, vkGetDeviceFaultReportsKHR returns VK_TIMEOUT after
the timeout has expired.
If pFaultInfo is NULL, then the number of fault reports available is
returned in pFaultCount.
Otherwise, pFaultCount must point to a variable set by the
application to the number of elements in the pFaultInfo array, and on
return the variable is overwritten with the number of handles actually
written to pFaultInfo.
If pFaultCount is less than the number of fault reports available, at
most pFaultCount structures will be written, and VK_INCOMPLETE
will be returned instead of VK_SUCCESS, to indicate that not all the
available fault reports were returned.
If more than one fault report is available, they will be returned in order
of occurrence via pFaultInfo.
Each individual fault report is returned exactly once.
vkGetDeviceFaultReportsKHR() may be invoked in parallel on different
threads, in which case each invocation for a given device will return
a unique set of reports.
No fault report being returned to more than one invocation.
Valid Usage (Implicit)
VUID-vkGetDeviceFaultReportsKHR-device-parameter
device must be a valid VkDevice handle
VUID-vkGetDeviceFaultReportsKHR-pFaultCounts-parameter
pFaultCounts must be a valid pointer to a uint32_t value
VUID-vkGetDeviceFaultReportsKHR-pFaultInfo-parameter
If pFaultInfo is not NULL, pFaultInfo must be a valid pointer to an array of pFaultCounts VkDeviceFaultInfoKHR structures
VUID-vkGetDeviceFaultReportsKHR-pFaultCounts-arraylength
If pFaultInfo is not NULL, the value referenced by pFaultCounts must be greater than 0