You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The scenario is almost identical to #7904 but waiting on a single queue instead of vkDeviceWaitIdle.
This use case looks more tricky comparing to a deadlock with vkDeviceWaitIdle. In the latter case it was enough to Notify() all the queues. In the above test it's not enough to notify m_default_queue, because it depends on m_second_queue, and somehow we need to initiate forward progress on the second queue too. But it's also incorrect to initiate forward progress on all the queues. In the general case this can retire the queues that are not in the dependency chain and can legally be pending after the wait.
The text was updated successfully, but these errors were encountered:
TODO: add a negative test that adds the third queue that does not interact with the above two queues and is still pending after the Wait(). We get an error when trying to delete a resource used by the third queue after the Wait().
This test reproduces the issue:
The scenario is almost identical to #7904 but waiting on a single queue instead of
vkDeviceWaitIdle
.This use case looks more tricky comparing to a deadlock with
vkDeviceWaitIdle
. In the latter case it was enough toNotify()
all the queues. In the above test it's not enough to notifym_default_queue
, because it depends onm_second_queue
, and somehow we need to initiate forward progress on the second queue too. But it's also incorrect to initiate forward progress on all the queues. In the general case this can retire the queues that are not in the dependency chain and can legally be pending after the wait.The text was updated successfully, but these errors were encountered: