From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 307A84E205 for ; Mon, 10 Mar 2025 03:11:20 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 58A5568E83C; Mon, 10 Mar 2025 05:09:17 +0200 (EET) Received: from vidala.pars.ee (vidala.pars.ee [116.203.72.101]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 30AD868E821 for ; Mon, 10 Mar 2025 05:09:15 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; s=202405r; d=lynne.ee; c=relaxed/relaxed; h=Message-ID:Date:Subject:To:From; t=1741576154; bh=i9oW1939AGSAR7zy76Fhshf ixdSvVesFIfkjRb+FwBU=; b=CK8G6MUeYp/WyK2il0Q3/C26hS+aVlbKWYPnJyIjmXrvHT4D1c 9zBcw7C8W7K6FwmzEJqdBszjpj7pj9dbdCMZW/pFEww33mZ1Z6suKg4cU7FEck9XlzCP0qnWLFo PpPd31g/Vd9gB2QHPF35QsqXxEUDldlz9vJDgBvIRa0IVK3v6XhZp4NHgFWeQF8yLNz4miPxNcr 9kveZUQi3NbRWRLvryHz3cnor2t4zKJwmed5k41qTMSvZgUqEXJphGABmCfI49WoJ/soBNiGkSN 7IeR/LX80Es/qOEU3kscx6XOzys8R3+R9qsaEUoSPczixFzTTsmjmDTa7kTl3QxyKSA==; DKIM-Signature: v=1; a=ed25519-sha256; s=202405e; d=lynne.ee; c=relaxed/relaxed; h=Message-ID:Date:Subject:To:From; t=1741576154; bh=i9oW1939AGSAR7zy76Fhshf ixdSvVesFIfkjRb+FwBU=; b=VmkJEroCeW1V77/qLJvePQPf2IPaD9uPy59Va6fFfUdlyOH5tD LPZ4AXCJFdihrMtQLMaS5BG+wXaT2KL26vAQ==; From: Lynne To: ffmpeg-devel@ffmpeg.org Date: Mon, 10 Mar 2025 04:08:58 +0100 Message-ID: <20250310030912.60902-2-dev@lynne.ee> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250310030912.60902-1-dev@lynne.ee> References: <20250310030837.60814-1-dev@lynne.ee> <20250310030912.60902-1-dev@lynne.ee> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 12/13] vulkan: add ff_vk_exec_add_dep_wait_sem() X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Lynne Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: This adds a function which adds a regular timeline semaphore as a wait-only dependency. --- libavutil/vulkan.c | 28 ++++++++++++++++++++-------- libavutil/vulkan.h | 3 +++ 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/libavutil/vulkan.c b/libavutil/vulkan.c index 24af8d5753..085c8b6d4d 100644 --- a/libavutil/vulkan.c +++ b/libavutil/vulkan.c @@ -620,6 +620,23 @@ static void destroy_tmp_semaphores(void *opaque, uint8_t *data) av_free(ts); } +int ff_vk_exec_add_dep_wait_sem(FFVulkanContext *s, FFVkExecContext *e, + VkSemaphore sem, uint64_t val, + VkPipelineStageFlagBits2 stage) +{ + VkSemaphoreSubmitInfo *sem_wait; + ARR_REALLOC(e, sem_wait, &e->sem_wait_alloc, e->sem_wait_cnt); + + e->sem_wait[e->sem_wait_cnt++] = (VkSemaphoreSubmitInfo) { + .sType = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO, + .semaphore = sem, + .value = val, + .stageMask = stage, + }; + + return 0; +} + int ff_vk_exec_add_dep_bool_sem(FFVulkanContext *s, FFVkExecContext *e, VkSemaphore *sem, int nb, VkPipelineStageFlagBits2 stage, @@ -672,14 +689,9 @@ int ff_vk_exec_add_dep_bool_sem(FFVulkanContext *s, FFVkExecContext *e, } for (int i = 0; i < nb; i++) { - VkSemaphoreSubmitInfo *sem_wait; - ARR_REALLOC(e, sem_wait, &e->sem_wait_alloc, e->sem_wait_cnt); - - e->sem_wait[e->sem_wait_cnt++] = (VkSemaphoreSubmitInfo) { - .sType = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO, - .semaphore = sem[i], - .stageMask = stage, - }; + err = ff_vk_exec_add_dep_wait_sem(s, e, sem[i], 0, stage); + if (err < 0) + return err; } return 0; diff --git a/libavutil/vulkan.h b/libavutil/vulkan.h index 2a2a5916a5..de84d6e10a 100644 --- a/libavutil/vulkan.h +++ b/libavutil/vulkan.h @@ -456,6 +456,9 @@ void ff_vk_exec_wait(FFVulkanContext *s, FFVkExecContext *e); */ int ff_vk_exec_add_dep_buf(FFVulkanContext *s, FFVkExecContext *e, AVBufferRef **deps, int nb_deps, int ref); +int ff_vk_exec_add_dep_wait_sem(FFVulkanContext *s, FFVkExecContext *e, + VkSemaphore sem, uint64_t val, + VkPipelineStageFlagBits2 stage); int ff_vk_exec_add_dep_bool_sem(FFVulkanContext *s, FFVkExecContext *e, VkSemaphore *sem, int nb, VkPipelineStageFlagBits2 stage, -- 2.47.2 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".