summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Girlin <[email protected]>2011-07-06 05:29:09 +0400
committerAlex Deucher <[email protected]>2011-07-08 17:21:32 -0400
commitb693787fdf82d065c548e80944aad14e9ba64def (patch)
tree83a9ddb25c1c71e1ba0870843a1b457eeffcf64d
parent86f8b4117f35c788c8a043c2e241eb19eaacae8c (diff)
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 <[email protected]>
-rw-r--r--src/gallium/drivers/r600/r600_shader.c1
1 files changed, 1 insertions, 0 deletions
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;