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

Connor Abbott cwabbott0 at gmail.com
Wed Jan 10 20:50:15 UTC 2018


On Wed, Jan 10, 2018 at 3:27 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> On Wed, Jan 10, 2018 at 3:13 PM, Gert Wollny <gw.fossdev at gmail.com> wrote:
>> Am Mittwoch, den 10.01.2018, 16:36 +0100 schrieb Gert Wollny:
>>> This seems to satisfy the sb optimizer, i.e. no regressions in the
>>> piglits compared to disabling sb for tesselation shaders with
>>> barriers but enabling them in general.
>>> ---
>>
>> Actually, it seems this is not enough, at least for Tomb Raider which
>> uses one tessellation control shader with a barrier. The optimizer
>> reorders the LDS instructions around the barrier in a way that in the
>> optimized version there are more reads before it than in the original
>> byte code.
>>
>> 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.
>
> If your hardware executes all the vertices in parallel, then a barrier
> should be unnecessary.

While this is true, you also need to be careful that reads after the
barrier don't get reordered wrt any writes before the barrier --
nouveau might be more conservative, but sb might be more aggressive
here.

>
>   -ilia
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list