From: Vadim Girlin Date: Wed, 6 Jul 2011 01:29:09 +0000 (+0400) Subject: r600g: RSQ: clear NEG for operand X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b693787fdf82d065c548e80944aad14e9ba64def;p=mesa.git r600g: RSQ: clear NEG for operand Need to clear NEG bit because it applies after ABS, e.g. "RSQ ..., -1" uses -|1| as operand. Signed-off-by: Vadim Girlin --- diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c index f3cbf9807fd..5aad3e359bc 100644 --- a/src/gallium/drivers/r600/r600_shader.c +++ b/src/gallium/drivers/r600/r600_shader.c @@ -1506,6 +1506,7 @@ static int tgsi_rsq(struct r600_shader_ctx *ctx) for (i = 0; i < inst->Instruction.NumSrcRegs; i++) { r600_bc_src(&alu.src[i], &ctx->src[i], 0); alu.src[i].abs = 1; + alu.src[i].neg = 0; } alu.dst.sel = ctx->temp_reg; alu.dst.write = 1;