[Mesa-dev] [RFC PATCH 1/2] r600/sb: Set flags for GROUP_BARRIER instruction and force it into slot X

Gert Wollny gw.fossdev at gmail.com
Thu Jan 11 08:45:11 UTC 2018


Am Donnerstag, den 11.01.2018, 08:18 +1000 schrieb Dave Airlie:
> 
> > The number of writes is the same though, and as far as I can tell
> > from the TGSI, the values written to LDS before the barrier are not
> > read back within the shader - which makes me wonder whether the
> > barrier is actually necessary.

It is as I suspected, if sb is not run, removing the barrier by just
not emitting it in the "from_tgsi" stage doesn't have a visual impact
on the built-in Tomb  Raider 2013 benchmark, but enabling sb creates a
lot of artefacts. (The performance did not really improve, btw).

In fact, removing the barrier like this doesn't have an impact on any
of the tessellation/barrier piglits, they all still pass. 

On the other hand, if I allow the barrier to be scheduled in any slot 
it breaks all of these piglits, probably because I get some scheduling
like: 

000fa07c 00002284    34 M    x: PRED_SETNE_INT     __.x,  T0.x, T1.x
80000000 20002a00            y: GROUP_BARRIER      __.y

(That's why I thought forcing it into slot X is required). 

> probably needs a dep on the LDS_RW stuff.
This is what I also expected and I was surprised that the piglits
actually passed with my simple fix, now I gather that Ilia is right,
and the barrier can be dropped altogether - at least for TCS.

Best, 
Gert



More information about the mesa-dev mailing list