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

Kenneth Graunke kenneth at whitecape.org
Tue Jul 22 19:40:41 PDT 2014


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.
-------------- 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/20140722/10233473/attachment.sig>


More information about the mesa-dev mailing list