[Mesa-dev] [PATCH] radeonsi: fix the Witcher 2 black transitions

Marek Olšák maraeo at gmail.com
Mon Jan 9 11:28:08 UTC 2017


On Mon, Jan 9, 2017 at 12:09 PM, Nicolai Hähnle <nhaehnle at gmail.com> wrote:
> On 09.01.2017 11:40, Marek Olšák wrote:
>>
>> On Mon, Jan 9, 2017 at 9:40 AM, Nicolai Hähnle <nhaehnle at gmail.com> wrote:
>>>
>>> Interesting, this suggests a bug in the LLVM WQM stuff. Anyway, it makes
>>> sense for now.
>>
>>
>> Or more likely: v_interp is executed after KILL, which breaks WQM.
>
>
> That's only relevant for derivative calculations, though, and I thought
> those were undefined in GLSL after (non-uniform) KILL? Or is something
> (LLVM? GLSL compiler copy-propagation?) too eager in sinking the place where
> inputs are loaded?

Inputs are not "loadable" in GLSL. They are preloaded from the
beginning. radeonsi has the option to load them lazily. If that
happens after KILL, the loads are no longer in WQM. The only thing
that can break non-lazy preloading is when input loads are moved
across the KILL intrinsic by LLVM.

Marek


More information about the mesa-dev mailing list