OSDN Git Service

i965: Don't do 1/w multiplication in new FS for gen6
authorEric Anholt <eric@anholt.net>
Wed, 6 Oct 2010 18:00:31 +0000 (11:00 -0700)
committerEric Anholt <eric@anholt.net>
Wed, 6 Oct 2010 19:13:08 +0000 (12:13 -0700)
Not needed now that we're doing barycentric.

src/mesa/drivers/dri/i965/brw_fs.cpp

index 6e5ea07..7327c3a 100644 (file)
@@ -810,12 +810,14 @@ fs_visitor::emit_general_interpolation(ir_variable *ir)
         }
         attr.reg_offset -= type->vector_elements;
 
-        for (unsigned int c = 0; c < type->vector_elements; c++) {
-           emit(fs_inst(BRW_OPCODE_MUL,
-                        attr,
-                        attr,
-                        this->pixel_w));
-           attr.reg_offset++;
+        if (intel->gen < 6) {
+           for (unsigned int c = 0; c < type->vector_elements; c++) {
+              emit(fs_inst(BRW_OPCODE_MUL,
+                           attr,
+                           attr,
+                           this->pixel_w));
+              attr.reg_offset++;
+           }
         }
         location++;
       }