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

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