On Wed, Mar 18, 2015 at 8:43 PM, Kenneth Graunke <kenn...@whitecape.org> wrote: > On Wednesday, March 18, 2015 11:27:19 PM Connor Abbott wrote: >> On Wed, Mar 18, 2015 at 11:24 PM, Kenneth Graunke <kenn...@whitecape.org> >> wrote: >> > On Tuesday, March 17, 2015 07:17:19 PM Jason Ekstrand wrote: >> >> --- >> >> src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 8 +++++++- >> >> 1 file changed, 7 insertions(+), 1 deletion(-) >> >> >> >> diff --git a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp >> >> b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp >> >> index 5da8423..41f9ae2 100644 >> >> --- a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp >> >> +++ b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp >> >> @@ -1234,7 +1234,13 @@ fs_visitor::nir_emit_alu(nir_alu_instr *instr) >> >> break; >> >> >> >> case nir_op_ffma: >> >> - inst = emit(MAD(result, op[2], op[1], op[0])); >> >> + if (brw->gen >= 6) { >> >> + inst = emit(MAD(result, op[2], op[1], op[0])); >> >> + } else { >> >> + fs_reg temp = vgrf(glsl_type::float_type); >> >> + emit(MUL(temp, op[0], op[1])); >> >> + inst = emit(ADD(result, temp, op[2])); >> >> + } >> >> inst->saturate = instr->dest.saturate; >> >> break; >> >> >> >> >> > >> > I think this is a reasonable plan for now - it's simple and works. >> > Connor is probably right that we can do better with nir_opt_algebraic, >> > but I think doing that as a follow-on patch justified by statistics >> > would be wise. >> >> Actually, it seems like we already have a lower_ffma option, so just >> setting that to true on gen < 6 should be even less code than this... > > You make a good point. Let's do that.
Yeah, I'm ok with that. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev