aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLynne <dev@lynne.ee>2025-04-06 03:49:28 +0000
committerLynne <dev@lynne.ee>2025-04-14 06:10:42 +0200
commit694ebe890ce4cda41780006487fd351fbdebdec8 (patch)
tree413274d2bd3ac4515294150840c41b20742988f8
parent6111aef5336fac475963891bcc5afc6ee7a5c908 (diff)
downloadffmpeg-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.c5
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 */