i965: Reduce the number of fs_reg(brw_reg) calls in LINTERP handling.
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 12 Jul 2016 00:14:50 +0000 (17:14 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Sat, 16 Jul 2016 00:16:54 +0000 (17:16 -0700)
A bit tidier.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/mesa/drivers/dri/i965/brw_fs.cpp

index c6f193a4a393368c3ad528f85225d20a4c4e9e69..1f6ff59d13b36ce95e16b078ece46ddc525083f3 100644 (file)
@@ -1180,7 +1180,7 @@ fs_visitor::emit_general_interpolation(fs_reg *attr, const char *name,
       } else {
          /* Smooth/noperspective interpolation case. */
          for (unsigned int i = 0; i < type->vector_elements; i++) {
-            struct brw_reg interp = interp_reg(*location, i);
+            fs_reg interp(interp_reg(*location, i));
             if (devinfo->needs_unlit_centroid_workaround && mod_centroid) {
                /* Get the pixel/sample mask into f0 so that we know
                 * which pixels are lit.  Then, for each channel that is
@@ -1190,14 +1190,14 @@ fs_visitor::emit_general_interpolation(fs_reg *attr, const char *name,
                bld.emit(FS_OPCODE_MOV_DISPATCH_TO_FLAGS);
 
                fs_inst *inst;
-               inst = emit_linterp(*attr, fs_reg(interp), interpolation_mode,
+               inst = emit_linterp(*attr, interp, interpolation_mode,
                                    false, false);
                inst->predicate = BRW_PREDICATE_NORMAL;
                inst->predicate_inverse = true;
                if (devinfo->has_pln)
                   inst->no_dd_clear = true;
 
-               inst = emit_linterp(*attr, fs_reg(interp), interpolation_mode,
+               inst = emit_linterp(*attr, interp, interpolation_mode,
                                    mod_centroid, mod_sample);
                inst->predicate = BRW_PREDICATE_NORMAL;
                inst->predicate_inverse = false;
@@ -1205,7 +1205,7 @@ fs_visitor::emit_general_interpolation(fs_reg *attr, const char *name,
                   inst->no_dd_check = true;
 
             } else {
-               emit_linterp(*attr, fs_reg(interp), interpolation_mode,
+               emit_linterp(*attr, interp, interpolation_mode,
                             mod_centroid, mod_sample);
             }
             if (devinfo->gen < 6 && interpolation_mode == INTERP_QUALIFIER_SMOOTH) {