On Mon, Jan 9, 2017 at 12:09 PM, Nicolai Hähnle <[email protected]> wrote: > On 09.01.2017 11:40, Marek Olšák wrote: >> >> On Mon, Jan 9, 2017 at 9:40 AM, Nicolai Hähnle <[email protected]> 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 _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
