[Mesa-dev] [PATCH 0/5] Volatile and invariant LDS memory ops

Marek Olšák maraeo at gmail.com
Fri Nov 10 00:17:43 UTC 2017


On Fri, Nov 10, 2017 at 12:40 AM, Matt Arsenault <arsenm2 at gmail.com> wrote:
>
>> On Nov 10, 2017, at 07:41, Marek Olšák <maraeo at gmail.com> wrote:
>>
>> Hi,
>>
>> This fixes the TCS gl_ClipDistance piglit failure that was uncovered
>> by a recent LLVM change. The solution is to set volatile on loads
>> and stores to enforce proper ordering.
>>
>> Please review.
>>
>
>
> Every LDS access certainly should not be volatile. This kills all optimizations, like formation of ds_read2_b32. What ordering issue are you having?

It might be caused by inttoptr(NULL) that we do to declare LDS. There
is simply no ordering enforced, which is weird.

This series only sets volatile on HS output loads and stores. Compute
shaders and other uses don't set volatile.

Marek


More information about the mesa-dev mailing list