[vulkan] Avoid dropping work in serializing command queue (#2378)
[vulkan] Avoid dropping work in serializing command queue (#2378)

We inspect all deferred submission one by one in ProcessDeferredSubmissions()
and put them in remaining_submissions if they are not ready. These work should
be returned to deferred_submissions_ when we cannot prepare VkSubmitInfo for
any of them. Previously we will just silently dropping them.

Also we cannot std::move the fence from FencedSubmission until it's clear that
we can prepare VkSubmitInfo with it. Otherwise the remaining_submissions will
see a nullptr fence.

Co-authored-by: Scott Todd <e2cb371d8f2c5ce088199d0b0ff1fa7b7a670980@google.com>
google/iree,iree-org/iree,iree-org/iree,google/iree,iree-org/iree,iree-org/iree,google/iree,google/iree,iree-org/iree,google/iree,google/iree,google/iree,iree-org/iree,iree-org/iree