On 02/10/2015 03:36 AM, Kenneth Graunke wrote: > Matt Turner noticed that the hardware has always had a MIN > instruction, but the driver always used MAX+MOV for no > apparent reason.
And it has been right there in the docs the whole time too. WTF? > This should cut an instruction, and a temporary, allowing > more programs to run in hardware. > > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> Reviewed-by: Ian Romanick <ian.d.roman...@intel.com> > --- > src/mesa/drivers/dri/i915/i915_fragprog.c | 16 +--------------- > 1 file changed, 1 insertion(+), 15 deletions(-) > > diff --git a/src/mesa/drivers/dri/i915/i915_fragprog.c > b/src/mesa/drivers/dri/i915/i915_fragprog.c > index 96fdd3c..d42da5a 100644 > --- a/src/mesa/drivers/dri/i915/i915_fragprog.c > +++ b/src/mesa/drivers/dri/i915/i915_fragprog.c > @@ -671,21 +671,7 @@ upload_program(struct i915_fragment_program *p) > break; > > case OPCODE_MIN: > - src0 = src_vector(p, &inst->SrcReg[0], program); > - src1 = src_vector(p, &inst->SrcReg[1], program); > - tmp = i915_get_utemp(p); > - flags = get_result_flags(inst); > - > - i915_emit_arith(p, > - A0_MAX, > - tmp, flags & A0_DEST_CHANNEL_ALL, 0, > - negate(src0, 1, 1, 1, 1), > - negate(src1, 1, 1, 1, 1), 0); > - > - i915_emit_arith(p, > - A0_MOV, > - get_result_vector(p, inst), > - flags, 0, negate(tmp, 1, 1, 1, 1), 0, 0); > + EMIT_2ARG_ARITH(A0_MIN); > break; > > case OPCODE_MOV: > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev