From 7efcafce7c6dd3dc9e71c7d35d6f7ebfd88f106b Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 10 Jan 2018 02:56:15 +0000 Subject: r600/shader: only emit add instruction if param has a value. Just saves a pointless a = a + 0; Reviewed-by: Roland Scheidegger Signed-off-by: Dave Airlie --- src/gallium/drivers/r600/r600_shader.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src/gallium/drivers/r600') diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c index 623e6f7f704..cfc3400f925 100644 --- a/src/gallium/drivers/r600/r600_shader.c +++ b/src/gallium/drivers/r600/r600_shader.c @@ -2864,12 +2864,14 @@ static int r600_tess_factor_read(struct r600_shader_ctx *ctx, if (r) return r; - r = single_alu_op2(ctx, ALU_OP2_ADD_INT, - temp_reg, 0, - temp_reg, 0, - V_SQ_ALU_SRC_LITERAL, param * 16); - if (r) - return r; + if (param) { + r = single_alu_op2(ctx, ALU_OP2_ADD_INT, + temp_reg, 0, + temp_reg, 0, + V_SQ_ALU_SRC_LITERAL, param * 16); + if (r) + return r; + } do_lds_fetch_values(ctx, temp_reg, dreg, ((1u << nc) - 1)); return 0; -- cgit v1.2.3