[Mesa-dev] [PATCH 12/23] i965: Introduce new SHADER_OPCODE_URB_WRITE_SIMD8_MASKED/PER_SLOT opcodes.

Kenneth Graunke kenneth at whitecape.org
Wed Sep 30 11:28:44 PDT 2015


On Wednesday, September 30, 2015 11:23:48 AM Matt Turner wrote:
> On Wed, Sep 30, 2015 at 12:58 AM, Kenneth Graunke <kenneth at whitecape.org> wrote:
> > diff --git a/src/mesa/drivers/dri/i965/brw_inst.h b/src/mesa/drivers/dri/i965/brw_inst.h
> > index c5132ba..b551334 100644
> > --- a/src/mesa/drivers/dri/i965/brw_inst.h
> > +++ b/src/mesa/drivers/dri/i965/brw_inst.h
> > @@ -386,6 +386,7 @@ FF(urb_per_slot_offset,
> >     /* 4-6: */ -1, -1, -1, -1, -1, -1, -1, -1,
> >     /* 7:   */ MD(16), MD(16),
> >     /* 8:   */ MD(17), MD(17))
> > +FC(urb_channel_mask_present, MD(15), MD(15), devinfo->gen >= 8)
> >  FC(urb_complete, MD(15), MD(15), devinfo->gen < 8)
> >  FC(urb_used, MD(14), MD(14), devinfo->gen < 7)
> >  FC(urb_allocate, MD(13), MD(13), devinfo->gen < 7)
> 
> Not related to your patch per se, but the write-complete bit is
> totally gone from BDW+? Not necessary anymore?

Right.  I forget the details...

> What's going on in vec4_vs_visitor::emit_urb_write_opcode() then? I
> couldn't convince myself that we wouldn't ever set the write-complete
> bit on Gen8+ in that function...

Good question - it's not terribly clear, but it is correct.  We do set
the BRW_URB_FLAG_COMPLETE flag, and pass it all the way through to
brw_eu_emit.c's brw_set_urb_message() function, which does:

   if (devinfo->gen < 8) {
      brw_inst_set_urb_complete(devinfo, insn, !!(flags & BRW_URB_WRITE_COMPLETE));
   }

So we're still flagging "complete", but we don't actually set it on Gen8+.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150930/60b8292b/attachment.sig>


More information about the mesa-dev mailing list