summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nouveau/codegen
diff options
context:
space:
mode:
authorIlia Mirkin <imirkin@alum.mit.edu>2014-05-06 19:54:59 -0400
committerIan Romanick <ian.d.romanick@intel.com>2014-05-08 14:50:33 -0700
commitfac042fa05c25f7e61e0d993367f2b1e65f6e4e3 (patch)
treeb8ddd78a0cbfa4ec8bfcbecc342f9b8104d62b29 /src/gallium/drivers/nouveau/codegen
parentd26b59ec27ed7c85f3af17397a9e8325cf854420 (diff)
nv50/ir/gk110: fix set with f32 dest
Should fix comparison opcodes like SGE/SLT/etc which expected a float to be returned. These were previously getting integer 0/-1 values. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Ben Skeggs <bskeggs@redhat.com> Cc: 10.2 <mesa-stable@lists.freedesktop.org> (cherry picked from commit e7047f2917c6bcc714fc6a350ea74e45b0760a77)
Diffstat (limited to 'src/gallium/drivers/nouveau/codegen')
-rw-r--r--src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
index 5992c543d69..b8d0d3ed1ae 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
@@ -915,6 +915,9 @@ CodeEmitterGK110::emitSET(const CmpInstruction *i)
modNegAbsF32_3b(i, 1);
}
FTZ_(3a);
+
+ if (i->dType == TYPE_F32)
+ code[1] |= 1 << 23;
}
if (i->sType == TYPE_S32)
code[1] |= 1 << 19;