Module: Mesa Branch: master Commit: c83b1a4560284153e78bbd836556340356dc30fb URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c83b1a4560284153e78bbd836556340356dc30fb
Author: Karol Herbst <[email protected]> Date: Wed Dec 11 16:01:15 2019 +0100 nir/serialize: cast swizzle before shifting fixes undefined behaviour with enabled vec16 Signed-off-by: Karol Herbst <[email protected]> Reviewed-by: Dave Airlie <[email protected]> --- src/compiler/nir/nir_serialize.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/nir/nir_serialize.c b/src/compiler/nir/nir_serialize.c index 49a353d4e10..b991b1d02e2 100644 --- a/src/compiler/nir/nir_serialize.c +++ b/src/compiler/nir/nir_serialize.c @@ -879,7 +879,7 @@ write_alu(write_ctx *ctx, const nir_alu_instr *alu) unsigned value = 0; for (unsigned j = 0; j < 8 && o + j < src_channels; j++) { - value |= alu->src[i].swizzle[o + j] << + value |= (uint32_t)alu->src[i].swizzle[o + j] << (4 * j); /* 4 bits per swizzle */ } _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
