This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit 42ab9010b5e9e98d0ced509dbfc651065cd38700 Author: Niklas Haas <[email protected]> AuthorDate: Tue Oct 20 02:12:31 2026 +0200 Commit: Niklas Haas <[email protected]> CommitDate: Tue Oct 20 19:50:40 2026 +0000 swscale/vulkan/ops: don't reference the input image in passes without reads The input image variable was only defined when the pass contains a read, but was unconditionally decorated and listed in the entrypoint interface, referencing an undefined ID and producing invalid SPIR-V. Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: Niklas Haas <[email protected]> --- libswscale/vulkan/ops.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/libswscale/vulkan/ops.c b/libswscale/vulkan/ops.c index 63acf0a5ce..6f9f96698c 100644 --- a/libswscale/vulkan/ops.c +++ b/libswscale/vulkan/ops.c @@ -415,9 +415,11 @@ static void define_shader_header(SwsContext *sws, FFVulkanShader *shd, SpvBuiltInGlobalInvocationId); /* Input image descriptor decorations */ - spi_OpDecorate(spi, id->in_img_var, SpvDecorationNonWritable); - spi_OpDecorate(spi, id->in_img_var, SpvDecorationDescriptorSet, 0); - spi_OpDecorate(spi, id->in_img_var, SpvDecorationBinding, 0); + if (id->in_img_var) { + spi_OpDecorate(spi, id->in_img_var, SpvDecorationNonWritable); + spi_OpDecorate(spi, id->in_img_var, SpvDecorationDescriptorSet, 0); + spi_OpDecorate(spi, id->in_img_var, SpvDecorationBinding, 0); + } /* Output image descriptor decorations */ spi_OpDecorate(spi, id->out_img_var, SpvDecorationNonReadable); @@ -1002,7 +1004,8 @@ static int add_ops_spirv(SwsContext *sws, VulkanPriv *p, FFVulkanOpsCtx *s, /* Entrypoint inputs; gl_GlobalInvocationID, input and output images, dither */ id->gid_var = id->iface[id->nb_iface++] = spi_get_id(spi); - id->in_img_var = id->iface[id->nb_iface++] = spi_get_id(spi); + if (op_r) + id->in_img_var = id->iface[id->nb_iface++] = spi_get_id(spi); id->out_img_var = id->iface[id->nb_iface++] = spi_get_id(spi); /* Create dither and filter buffer descriptor set. Both are collected in -- To stop receiving notification emails like this one, please contact [email protected]. _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
