summaryrefslogtreecommitdiff
path: root/libavutil/vulkan.c
diff options
context:
space:
mode:
authorLynne <dev@lynne.ee>2022-11-23 14:04:28 +0100
committerLynne <dev@lynne.ee>2023-05-29 00:41:42 +0200
commit92ddd415bc774e50cbf1ffef89e25f445514c511 (patch)
tree5a621efc9c5b59a4d9a4e07787ec8936af496b80 /libavutil/vulkan.c
parent9b385b480f5aad0d628424841dbc9e5dca106738 (diff)
vulkan: lock queues before submitting operations
Diffstat (limited to 'libavutil/vulkan.c')
-rw-r--r--libavutil/vulkan.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libavutil/vulkan.c b/libavutil/vulkan.c
index 6bf2c214b7..ad13b8f3cb 100644
--- a/libavutil/vulkan.c
+++ b/libavutil/vulkan.c
@@ -625,7 +625,14 @@ int ff_vk_submit_exec_queue(FFVulkanContext *s, FFVkExecContext *e)
return AVERROR_EXTERNAL;
}
+ s->hwctx->lock_queue((AVHWDeviceContext *)s->device_ref->data,
+ e->qf->queue_family, e->qf->cur_queue % e->qf->actual_queues);
+
ret = vk->QueueSubmit(q->queue, 1, &s_info, q->fence);
+
+ s->hwctx->unlock_queue((AVHWDeviceContext *)s->device_ref->data,
+ e->qf->queue_family, e->qf->cur_queue % e->qf->actual_queues);
+
if (ret != VK_SUCCESS) {
av_log(s, AV_LOG_ERROR, "Unable to submit command buffer: %s\n",
ff_vk_ret2str(ret));