Mesa (master): nv50/ir: handle NEG, ABS modifiers for short RCP encoding

Christoph Bumiller chrisbmr at kemper.freedesktop.org
Thu Jun 14 21:32:03 UTC 2012


Module: Mesa
Branch: master
Commit: ef51ce522bbb0a9bb3e6faa4890049b21f533aed
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ef51ce522bbb0a9bb3e6faa4890049b21f533aed

Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Thu Jun 14 23:24:36 2012 +0200

nv50/ir: handle NEG,ABS modifiers for short RCP encoding

---

 .../drivers/nv50/codegen/nv50_ir_emit_nv50.cpp     |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/nv50/codegen/nv50_ir_emit_nv50.cpp b/src/gallium/drivers/nv50/codegen/nv50_ir_emit_nv50.cpp
index 7542b84..3ea89ae 100644
--- a/src/gallium/drivers/nv50/codegen/nv50_ir_emit_nv50.cpp
+++ b/src/gallium/drivers/nv50/codegen/nv50_ir_emit_nv50.cpp
@@ -1239,6 +1239,8 @@ CodeEmitterNV50::emitSFnOp(const Instruction *i, uint8_t subOp)
 
    if (i->encSize == 4) {
       assert(i->op == OP_RCP);
+      code[0] |= i->src(0).mod.abs() << 15;
+      code[0] |= i->src(0).mod.neg() << 22;
       emitForm_MUL(i);
    } else {
       code[1] = subOp << 29;




More information about the mesa-commit mailing list