i965/fs: Make emit_lrp return an fs_inst
authorJason Ekstrand <jason.ekstrand@intel.com>
Tue, 17 Mar 2015 18:36:10 +0000 (11:36 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Mon, 23 Mar 2015 08:01:14 +0000 (01:01 -0700)
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/mesa/drivers/dri/i965/brw_fs.h
src/mesa/drivers/dri/i965/brw_fs_visitor.cpp

index 608262fd24640c86417e86e0efb8ffe98c241966..278a8eed76ded8706aad21a3f814b13732af8d0a 100644 (file)
@@ -303,8 +303,8 @@ public:
    fs_reg fix_math_operand(fs_reg src);
    fs_inst *emit_math(enum opcode op, fs_reg dst, fs_reg src0);
    fs_inst *emit_math(enum opcode op, fs_reg dst, fs_reg src0, fs_reg src1);
-   void emit_lrp(const fs_reg &dst, const fs_reg &x, const fs_reg &y,
-                 const fs_reg &a);
+   fs_inst *emit_lrp(const fs_reg &dst, const fs_reg &x, const fs_reg &y,
+                     const fs_reg &a);
    void emit_minmax(enum brw_conditional_mod conditionalmod, const fs_reg &dst,
                     const fs_reg &src0, const fs_reg &src1);
    void emit_discard_jump();
index 2920a82abc6e0625cfaf89b942313db1305bc291..e6fb0cbe8465fcc2862420950f3e425d76f9560e 100644 (file)
@@ -288,7 +288,7 @@ fs_visitor::visit(ir_dereference_array *ir)
    this->result = src;
 }
 
-void
+fs_inst *
 fs_visitor::emit_lrp(const fs_reg &dst, const fs_reg &x, const fs_reg &y,
                      const fs_reg &a)
 {
@@ -305,12 +305,12 @@ fs_visitor::emit_lrp(const fs_reg &dst, const fs_reg &x, const fs_reg &y,
       emit(ADD(one_minus_a, negative_a, fs_reg(1.0f)));
       emit(MUL(x_times_one_minus_a, x, one_minus_a));
 
-      emit(ADD(dst, x_times_one_minus_a, y_times_a));
+      return emit(ADD(dst, x_times_one_minus_a, y_times_a));
    } else {
       /* The LRP instruction actually does op1 * op0 + op2 * (1 - op0), so
        * we need to reorder the operands.
        */
-      emit(LRP(dst, a, y, x));
+      return emit(LRP(dst, a, y, x));
    }
 }