i965/fs: Remove is_valid_3src() checks from emit_lrp.
authorMatt Turner <mattst88@gmail.com>
Wed, 12 Nov 2014 19:07:01 +0000 (11:07 -0800)
committerMatt Turner <mattst88@gmail.com>
Fri, 21 Nov 2014 18:26:44 +0000 (10:26 -0800)
The visitor emits MOVs to temporary registers for immediates, so these
never trigger. For further proof, check case ir_triop_fma.

Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
src/mesa/drivers/dri/i965/brw_fs_visitor.cpp

index 21334a25599dc08d5e56aaaaee17df9a3d2712a7..578e938c6cd18c49f43660b4ed069b268a7231c3 100644 (file)
@@ -226,10 +226,7 @@ void
 fs_visitor::emit_lrp(const fs_reg &dst, const fs_reg &x, const fs_reg &y,
                      const fs_reg &a)
 {
-   if (brw->gen < 6 ||
-       !x.is_valid_3src() ||
-       !y.is_valid_3src() ||
-       !a.is_valid_3src()) {
+   if (brw->gen < 6) {
       /* We can't use the LRP instruction.  Emit x*(1-a) + y*a. */
       fs_reg y_times_a           = fs_reg(this, glsl_type::float_type);
       fs_reg one_minus_a         = fs_reg(this, glsl_type::float_type);