[Mesa-dev] Doubt about Streamed Vertex Buffer Write message descriptor in SandyBridge

Samuel Iglesias Gonsálvez siglesias at igalia.com
Tue Jul 22 23:08:43 PDT 2014


On Tue, 2014-07-22 at 19:40 -0700, Kenneth Graunke wrote:
> On Tuesday, July 22, 2014 11:38:05 AM Ilia Mirkin wrote:
> > On Tue, Jul 22, 2014 at 11:25 AM, Samuel Iglesias Gonsálvez
> > <siglesias at igalia.com> wrote:
> > > Hello,
> > >
> > > I have a doubt related to Streamed Vertex Buffer Write message and its
> > > message descriptor in SandyBridge.
> > >
> > > Reading about Stream Output Primitives Written
> > > (snb_ihd_os_vol2_part1.pdf, pag 175), it says the following:
> > >
> > > "Whenever a GS thread outputs a DataPort Streamed Vertex Buffer Write
> > > (SVBWrite) message with the Increment Num Prims Written bit set, the
> > > SO_NUM_PRIMS_WRITTEN register will be incremented."
> > >
> > > According to SNB's spec [0], all the bits in the SVBWrite message
> > > descriptor are ignored and I have not found the definition of this bit
> > > in the documentation. Maybe I'm running the wrong pdfgrep command :-/
> > >
> > > After doing some Google searches, I found that in other doc [1] it's
> > > mentioned the "Increment Num Prims Written" bit inside the SVBWrite
> > > message descriptor is not ignored for SNB (at least, it doesn't say that
> > > explicitly).
> > >
> > > Do you know where is the "Increment Num Prims Written" bit defined in
> > > SNB's doc?
> > 
> > Not 100% sure if this is what you're looking for, but take a look at
> > 
> > https://01.org/linuxgraphics/sites/default/files/documentation/snb_ihd_os_vol4_part2.pdf
> > 
> > Page 23, 2.4.3.1 - SONumPrimsWritten and/or Page 29 - 2.4.4.1
> > NumGSPrimsGenerated and perhaps some of the other fields in the
> > FF_SYNC message.
> > 
> > Or wait until someone who knows what they're talking about replies :)
> > 
> >   -ilia
> 
> What Ilia said :)
> 
> It looks like SO_PRIM_STORAGE_NEEDED is updated by FF_SYNC messages, and SO_NUM_PRIMS_WRITTEN is incremented by the URB_WRITE message (not SVB writes).
> 
> Every GS thread terminates with a URB write message - apparently, there's a field in the URB write message header (not descriptor) which determines how much the counter should be incremented by.
> 
> It looks like you /used/ to increment both counters via SVBWrite messages on GM45 (SNB PRM, Volume 2, Part 1, Page 57), but that changed.

Thanks for the info :)

Sam
-------------- 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/20140723/67350e34/attachment.sig>


More information about the mesa-dev mailing list