[Mesa-dev] [PATCH v2 18/23] i965: Implement GL_PRIMITIVES_GENERATED with non-zero streams.

Kenneth Graunke kenneth at whitecape.org
Tue Jun 24 07:17:55 PDT 2014


On Tuesday, June 24, 2014 09:53:02 PM Chris Forbes wrote:
> It looks like you can have the SOL stage increment that counter even
> when not doing any actual streamout, which should give you the correct
> semantics.
> 
> See the definition of 3DSTATE_STREAMOUT in the Haswell PRM, Volume 2b. You 
want:
> 
> - dw1.31 SO Function Enable = 1
> - dw1.25 SO Statistics Enable = 1
> - dw1.8-11 SO Buffer Enable [n] = 0
> 
> This should behave just like having the unit disabled, except the
> SO_PRIMITIVE_STORAGE_NEEDED registers will increment.
> 
> -- Chris

Oh cool!  I hadn't thought to enable the SOL unit but turn off all output from 
it.  If that works, that would be fantastic.  We could use that approach for 
all streams, and go back to handling RasterDiscard in the SOL unit, rather 
than the clipper (i.e. revert the gen7_sol_state.c hunk of 
d1e4e9960cbdfce6078cdc377809ea76c2eb7078).  It would be much nicer.

We'd probably need to keep the clipper RasterDiscard handling for Sandybridge, 
but it'd never be hit on Gen7+.

--Ken
-------------- 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/20140624/ad539462/attachment.sig>


More information about the mesa-dev mailing list