vkQueueSubmit fence order guarantees

Greetings, short question:

I have two command buffers, A and B. A is submitted first. The vkQueueSubmit call for B has a fence in its last parameter, the vkQueueSubmit for A hasn’t. Question: If I wait for the fence of B via vkWaitForFences can I guarantee A is finished too?

If no, what if A only has a copy operation and B has a render pass with a barrier against copy?


From the standard on fences:

The first synchronization scope includes every batch submitted in the same queue submission command. Fence signal operations that are defined by vkQueueSubmit or vkQueueSubmit2 additionally include in the first synchronization scope all commands that occur earlier in
submission order.

1 Like