diff options
author | Lynne <dev@lynne.ee> | 2025-04-06 03:49:28 +0000 |
---|---|---|
committer | Lynne <dev@lynne.ee> | 2025-04-14 06:10:42 +0200 |
commit | 694ebe890ce4cda41780006487fd351fbdebdec8 (patch) | |
tree | 413274d2bd3ac4515294150840c41b20742988f8 | |
parent | 6111aef5336fac475963891bcc5afc6ee7a5c908 (diff) | |
download | ffmpeg-694ebe890ce4cda41780006487fd351fbdebdec8.tar.gz |
vulkan_ffv1: improve buffer barrier correctness for slice state
This is likely a nanooptimization, but its more correct.
-rw-r--r-- | libavcodec/vulkan_ffv1.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/libavcodec/vulkan_ffv1.c b/libavcodec/vulkan_ffv1.c index d90db291aa..e511840a01 100644 --- a/libavcodec/vulkan_ffv1.c +++ b/libavcodec/vulkan_ffv1.c @@ -484,8 +484,7 @@ static int vk_ffv1_end_frame(AVCodecContext *avctx) .srcStageMask = slice_state->stage, .dstStageMask = VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, .srcAccessMask = slice_state->access, - .dstAccessMask = VK_ACCESS_2_SHADER_STORAGE_READ_BIT | - VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT, + .dstAccessMask = VK_ACCESS_2_SHADER_STORAGE_READ_BIT, .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, .buffer = slice_state->buf, @@ -534,7 +533,7 @@ static int vk_ffv1_end_frame(AVCodecContext *avctx) .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, .buffer = slice_state->buf, .offset = fp->slice_data_size*f->slice_count, - .size = slice_state->size - fp->slice_data_size*f->slice_count, + .size = f->slice_count*(fp->slice_state_size - fp->slice_data_size), }; /* Input frame barrier */ |