From 0777775274489ee0e9d36c7c3345674e72414045 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Wed, 12 Nov 2014 11:07:01 -0800 Subject: [PATCH] i965/fs: Remove is_valid_3src() checks from emit_lrp. 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 --- src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp index 21334a25599..578e938c6cd 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp @@ -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);