Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Following discussion on kernel mailing list[1], we are not gaining anything from this right now, and it does not handle soft recovery. We will hear about the context loss and rationale when we vkQueueSubmit next. We can come back to this if there is ever a Vulkan extension for figuring out innocent vs guilty like GL_EXT_robustness. This does mean however that we return VK_SUCCESS for cancelled semaphore and fence waits, but this is legal per the Vulkan spec: "Commands that wait indefinitely for device execution (namely vkDeviceWaitIdle, vkQueueWaitIdle, vkWaitForFences with a maximum timeout, and vkGetQueryPoolResults with the VK_QUERY_RESULT_WAIT_BIT bit set in flags) must return in finite time even in the case of a lost device, and return either VK_SUCCESS or VK_ERROR_DEVICE_LOST." "If device loss occurs (see Lost Device) before the timeout has expired, vkWaitSemaphores must return in finite time with either VK_SUCCESS or VK_ERROR_DEVICE_LOST." [1]: https://lists.freedesktop.org/archives/amd-gfx/2024-January/103337.html Signed-off-by: Joshua Ashton <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Friedrich Vock <[email protected]>
- Loading branch information