glsl: use ARB_enhahnced_layouts for packing where possible
authorTimothy Arceri <timothy.arceri@collabora.com>
Sun, 31 Jul 2016 12:39:26 +0000 (22:39 +1000)
committerTimothy Arceri <tarceri@itsqueeze.com>
Mon, 24 Apr 2017 02:08:14 +0000 (12:08 +1000)
commit21173194db12f5eff7361040c038dbfc9cde46e4
tree427c6484432094b9167fd6650b3c15f565a92f34
parenteb8aa93c03ee89ffd3041d41b6293e4b282b6ce6
glsl: use ARB_enhahnced_layouts for packing where possible

If packing doesn't cross locations we can easily make use of
ARB_enhanced_layouts to do packing rather than using the GLSL IR
lowering pass lower_packed_varyings().

Shader-db Broadwell results:

total instructions in shared programs: 12977822 -> 12977819 (-0.00%)
instructions in affected programs: 1871 -> 1868 (-0.16%)
helped: 4
HURT: 3

total cycles in shared programs: 246567288 -> 246567668 (0.00%)
cycles in affected programs: 1370386 -> 1370766 (0.03%)
helped: 592
HURT: 733

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