Jun 7, 2023, 23:33 by phil...@overt.org: > On Wed, 7 Jun 2023 01:23:24 +0200 (CEST) > Lynne <d...@lynne.ee> wrote: > >> From eb74297de8662c9fa66cd719c6315567966afe56 Mon Sep 17 00:00:00 2001 >> From: Lynne <d...@lynne.ee> >> Date: Wed, 7 Jun 2023 01:16:29 +0200 >> Subject: [PATCH 2/2] vulkan: discard dependencies when explicitly >> waiting for execution >> >> This reduces memory needed dramatically, as unneeded resources >> can be immediately returned to the pool. >> Although waitforfences is threadsafe, we add a mutex wait around >> it, as the mutex fence in combination with waitforfences assures >> us that no other thread will reset the fence in the meanwhile >> whilst the mutex is locked. This allows is to call >> ff_vk_exec_discard_deps. >> --- >> libavutil/vulkan.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/libavutil/vulkan.c b/libavutil/vulkan.c >> index 4b96c0c200..0cfe334db0 100644 >> --- a/libavutil/vulkan.c >> +++ b/libavutil/vulkan.c >> @@ -480,7 +480,10 @@ FFVkExecContext *ff_vk_exec_get(FFVkExecPool >> *pool) void ff_vk_exec_wait(FFVulkanContext *s, FFVkExecContext *e) >> { >> FFVulkanFunctions *vk = &s->vkfn; >> + pthread_mutex_lock(&e->lock); >> vk->WaitForFences(s->hwctx->act_dev, 1, &e->fence, VK_TRUE, >> UINT64_MAX); >> + ff_vk_exec_discard_deps(s, e); >> + pthread_mutex_unlock(&e->lock); >> } >> >> int ff_vk_exec_start(FFVulkanContext *s, FFVkExecContext *e) >> > > LGTM. >
Thanks, pushed. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".