glsl: disable varying packing for varying used by interpolateAt*
authorTimothy Arceri <tarceri@itsqueeze.com>
Fri, 14 Apr 2017 06:25:58 +0000 (16:25 +1000)
committerTimothy Arceri <tarceri@itsqueeze.com>
Mon, 24 Apr 2017 02:08:14 +0000 (12:08 +1000)
commiteb8aa93c03ee89ffd3041d41b6293e4b282b6ce6
treee2ac2c3d8c104d67be6384b38c66c33ef1bb7c6c
parentaa021d50c0a81b2d067a3c3aa7eb9789b91caa4b
glsl: disable varying packing for varying used by interpolateAt*

Currently the NIR backends depend on GLSL IR copy propagation to
fix up the interpolateAt* function params after varying packing
changes the shader input to a global. It's possible copy propagation
might not always do what we need it too, and we also shouldn't
depend on optimisations to do this type of thing for us.

I'm not sure if the same is true for TGSI, but the following
commit should re-enable packing for most cases in a safer way,
so we just disable it everywhere.

No change in shader-db for i965 (BDW)

Acked-by: Elie Tournier <elie.tournier@collabora.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/compiler/glsl/ast_function.cpp
src/compiler/glsl/link_varyings.cpp
src/compiler/glsl/lower_packed_varyings.cpp