This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit c3e117670dfa65701552207f74ea4329f3ee173d Author: Lynne <[email protected]> AuthorDate: Wed Dec 24 01:27:59 2025 +0100 Commit: Lynne <[email protected]> CommitDate: Wed Dec 31 15:00:47 2025 +0100 vulkan_prores: use ff_vk_buf_barrier() --- libavcodec/vulkan_prores.c | 44 ++++++++++++-------------------------------- 1 file changed, 12 insertions(+), 32 deletions(-) diff --git a/libavcodec/vulkan_prores.c b/libavcodec/vulkan_prores.c index afea8857e8..7e7c2ace9c 100644 --- a/libavcodec/vulkan_prores.c +++ b/libavcodec/vulkan_prores.c @@ -250,27 +250,17 @@ static int vk_prores_end_frame(AVCodecContext *avctx) /* Input barrier, or synchronization between clear and vld shader */ ff_vk_frame_barrier(&ctx->s, exec, f, img_bar, &nb_img_bar, - pr->first_field ? VK_PIPELINE_STAGE_2_CLEAR_BIT : VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT, + pr->first_field ? VK_PIPELINE_STAGE_2_CLEAR_BIT : + VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT, VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT, VK_IMAGE_LAYOUT_GENERAL, VK_QUEUE_FAMILY_IGNORED); - buf_bar[nb_buf_bar++] = (VkBufferMemoryBarrier2) { - .sType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2, - .srcStageMask = metadata->stage, - .dstStageMask = VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, - .srcAccessMask = metadata->access, - .dstAccessMask = VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT, - .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, - .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, - .buffer = metadata->buf, - .offset = pp->slice_offsets_sz, - .size = pp->mb_params_sz, - }; - metadata->stage = buf_bar[0].dstStageMask; - metadata->access = buf_bar[0].dstAccessMask; - + ff_vk_buf_barrier(buf_bar[nb_buf_bar++], metadata, + ALL_COMMANDS_BIT, NONE_KHR, NONE_KHR, + COMPUTE_SHADER_BIT, SHADER_WRITE_BIT, NONE_KHR, + pp->slice_offsets_sz, pp->mb_params_sz); vk->CmdPipelineBarrier2(exec->buf, &(VkDependencyInfo) { .sType = VK_STRUCTURE_TYPE_DEPENDENCY_INFO, .pBufferMemoryBarriers = buf_bar, @@ -302,7 +292,8 @@ static int vk_prores_end_frame(AVCodecContext *avctx) VK_SHADER_STAGE_COMPUTE_BIT, 0, sizeof(pd), &pd); - vk->CmdDispatch(exec->buf, AV_CEIL_RSHIFT(pr->slice_count / pr->mb_height, 3), AV_CEIL_RSHIFT(pr->mb_height, 3), + vk->CmdDispatch(exec->buf, AV_CEIL_RSHIFT(pr->slice_count / pr->mb_height, 3), + AV_CEIL_RSHIFT(pr->mb_height, 3), 3 + !!pr->alpha_info); /* Synchronize vld and idct shaders */ @@ -313,21 +304,10 @@ static int vk_prores_end_frame(AVCodecContext *avctx) VK_IMAGE_LAYOUT_GENERAL, VK_QUEUE_FAMILY_IGNORED); - buf_bar[nb_buf_bar++] = (VkBufferMemoryBarrier2) { - .sType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2, - .srcStageMask = metadata->stage, - .dstStageMask = VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, - .srcAccessMask = metadata->access, - .dstAccessMask = VK_ACCESS_2_SHADER_STORAGE_READ_BIT, - .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, - .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, - .buffer = metadata->buf, - .offset = pp->slice_offsets_sz, - .size = pp->mb_params_sz, - }; - metadata->stage = buf_bar[0].dstStageMask; - metadata->access = buf_bar[0].dstAccessMask; - + ff_vk_buf_barrier(buf_bar[nb_buf_bar++], metadata, + COMPUTE_SHADER_BIT, SHADER_WRITE_BIT, NONE_KHR, + COMPUTE_SHADER_BIT, SHADER_READ_BIT, NONE_KHR, + pp->slice_offsets_sz, pp->mb_params_sz); vk->CmdPipelineBarrier2(exec->buf, &(VkDependencyInfo) { .sType = VK_STRUCTURE_TYPE_DEPENDENCY_INFO, .pBufferMemoryBarriers = buf_bar, _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
