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
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