venus: let vn_instance_submit_command track ring seqno

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21716>
This commit is contained in:
Yiwei Zhang
2023-03-02 17:13:55 -08:00
committed by Marge Bot
parent 1cb42a629f
commit 0a3f612ab3
3 changed files with 24 additions and 12 deletions
+10 -6
View File
@@ -599,16 +599,20 @@ vn_instance_submit_command(struct vn_instance *instance,
goto fail;
}
uint32_t ring_seqno;
VkResult result = vn_instance_ring_submit_locked(
instance, &submit->command, submit->reply_shmem, &ring_seqno);
submit->ring_seqno_valid =
VK_SUCCESS == vn_instance_ring_submit_locked(instance, &submit->command,
submit->reply_shmem,
&submit->ring_seqno);
mtx_unlock(&instance->ring.mutex);
submit->reply = VN_CS_DECODER_INITIALIZER(reply_ptr, submit->reply_size);
if (submit->reply_size) {
submit->reply =
VN_CS_DECODER_INITIALIZER(reply_ptr, submit->reply_size);
if (submit->reply_size && result == VK_SUCCESS)
vn_ring_wait(&instance->ring.ring, ring_seqno);
if (submit->ring_seqno_valid)
vn_ring_wait(&instance->ring.ring, submit->ring_seqno);
}
return;