On Saturday, May 30, 2015 08:11:40 AM Jason Ekstrand wrote:
> On Sat, May 30, 2015 at 12:34 AM, Kenneth Graunke <kenn...@whitecape.org> 
> wrote:
> > Now that Jason's LOAD_PAYLOAD improvements have landed, we don't need
> > this.  Passing 1 for the number of header registers already takes care
> > of setting force_writemask_all on the header copy.
> >
> > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org>
> > ---
> >  src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 16 ++++------------
> >  1 file changed, 4 insertions(+), 12 deletions(-)
> >
> > diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp 
> > b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
> > index e336b73..c9a2644 100644
> > --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
> > +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
> > @@ -1980,20 +1980,12 @@ fs_visitor::emit_urb_writes()
> >           fs_reg *payload_sources = ralloc_array(mem_ctx, fs_reg, length + 
> > 1);
> >           fs_reg payload = fs_reg(GRF, alloc.allocate(length + 1),
> >                                   BRW_REGISTER_TYPE_F, dispatch_width);
> > -
> > -         /* We need WE_all on the MOV for the message header (the URB 
> > handles)
> > -          * so do a MOV to a dummy register and set force_writemask_all on 
> > the
> > -          * MOV.  LOAD_PAYLOAD will preserve that.
> > -          */
> 
> Yeah, that's terrible.  Thanks for cleaning this up.

Sure.  I was in the area (making things more terrible) :D

> > -         fs_reg dummy = fs_reg(GRF, alloc.allocate(1),
> > -                               BRW_REGISTER_TYPE_UD);
> > -         fs_inst *inst = emit(MOV(dummy, fs_reg(retype(brw_vec8_grf(1, 0),
> > -                                                       
> > BRW_REGISTER_TYPE_UD))));
> > -         inst->force_writemask_all = true;
> > -         payload_sources[0] = dummy;
> > +         payload_sources[0] =
> > +            fs_reg(retype(brw_vec8_grf(1, 0), BRW_REGISTER_TYPE_UD));
> >
> >           memcpy(&payload_sources[1], sources, length * sizeof sources[0]);
> > -         emit(LOAD_PAYLOAD(payload, payload_sources, length + 1, 1));
> > +         fs_inst *inst =
> > +            emit(LOAD_PAYLOAD(payload, payload_sources, length + 1, 1));
> 
> There's no need to save the return value here.  We just throw it away
> one line later.  Let's move the fs_inst * declaration to the URB_WRITE
> below.  With that,
> 
> Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net>

Oops.  Yeah, I originally deleted the declaration, then went "it doesn't
compile!" and put it back on some random instruction.  Putting it on the
URB_WRITE is clearly best :)

Thanks!

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to