This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit 2a072b4961ac36fae1d4a62432d154f6616add68 Author: Lynne <[email protected]> AuthorDate: Sun Aug 9 20:23:58 2026 +0900 Commit: Lynne <[email protected]> CommitDate: Sat Aug 15 18:02:17 2026 +0900 vulkan_encode: do not carry source picture access flags into the barrier The source picture is written on other queues, whose access flags are meaningless on the encode queue: ALL_COMMANDS expands to only the stages the queue supports, none of which support e.g. TRANSFER_WRITE, making the barrier invalid (VUID 03915). The semaphore wait already made those writes available; use no source access, as decoding does. --- libavcodec/vulkan_encode.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libavcodec/vulkan_encode.c b/libavcodec/vulkan_encode.c index 3a2cf101f4..7dd690ca68 100644 --- a/libavcodec/vulkan_encode.c +++ b/libavcodec/vulkan_encode.c @@ -367,12 +367,15 @@ static int vulkan_encode_issue(AVCodecContext *avctx, if (err < 0) goto fail; - /* Source image layout conversion */ + /* Source image layout conversion. Writes to it happened on other + * queues, and were made available by the semaphore wait: their access + * flags are not to be carried over, and may not even be valid on this + * queue. */ img_bar[nb_img_bar] = (VkImageMemoryBarrier2) { .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2, .pNext = NULL, .srcStageMask = VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT, - .srcAccessMask = vkf->access[0], + .srcAccessMask = VK_ACCESS_2_NONE, .dstStageMask = VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR, .dstAccessMask = VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR, .oldLayout = vkf->layout[0], _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
