This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit 40fced84ab7923cceecd8147ac9a315588ea4bfa Author: Niklas Haas <[email protected]> AuthorDate: Wed Oct 21 02:40:22 2026 +0200 Commit: Niklas Haas <[email protected]> CommitDate: Sat Oct 24 19:10:48 2026 +0000 swscale/vulkan/ops: define shift constants at the point of use Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: Niklas Haas <[email protected]> --- libswscale/vulkan/ops.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/libswscale/vulkan/ops.c b/libswscale/vulkan/ops.c index ee6be4e3b5..16c87e60fb 100644 --- a/libswscale/vulkan/ops.c +++ b/libswscale/vulkan/ops.c @@ -438,6 +438,13 @@ static int const_pixel(SPICtx *spi, const SPIRVIDs *id, SwsPixelType type, return spi_OpConstantUInt(spi, id->u32_type, val.num); } +static int const_splat(SPICtx *spi, const SPIRVIDs *id, SwsPixelType type, + AVRational64 val) +{ + const int c = const_pixel(spi, id, type, val); + return spi_OpConstantComposite(spi, type_vec4(id, type), c, c, c, c); +} + /* Shift and mask vectors for (un)packing each component */ static void define_pack_consts(SPICtx *spi, const SPIRVIDs *id, const SwsOp *op, int *shift_id, int *mask_id) @@ -566,13 +573,6 @@ static void define_shader_consts(SwsContext *sws, const SwsOpList *ops, OpIDs *oid = &id->op[n]; SwsPixelType type_in = ff_sws_op_input_type(op); switch (op->op) { - case SWS_OP_LSHIFT: - case SWS_OP_RSHIFT: { - int tmp = spi_OpConstantUInt(spi, u32_type, op->shift.amount); - oid->vec = spi_OpConstantComposite(spi, id->u32vec4_type, - tmp, tmp, tmp, tmp); - break; - } case SWS_OP_SCALE: { int tmp; if (type_in == SWS_PIXEL_F32) { @@ -1206,10 +1206,14 @@ static int emit_shader(SwsContext *sws, VulkanPriv *p, FFVulkanOpsCtx *s, data = emit_convert(spi, type_in, type_out, type_v, data); break; case SWS_OP_LSHIFT: - data = spi_OpShiftLeftLogical(spi, type_v, data, oid->vec); + data = spi_OpShiftLeftLogical(spi, type_v, data, + const_splat(spi, id, SWS_PIXEL_U32, + Q(op->shift.amount))); break; case SWS_OP_RSHIFT: - data = spi_OpShiftRightLogical(spi, type_v, data, oid->vec); + data = spi_OpShiftRightLogical(spi, type_v, data, + const_splat(spi, id, SWS_PIXEL_U32, + Q(op->shift.amount))); break; case SWS_OP_SCALE: data = emit_mul(spi, type_in, type_v, data, oid->vec); -- 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]
