glsl: when NIR linker enable use it to resize uniform arrays
authorTimothy Arceri <tarceri@itsqueeze.com>
Tue, 5 May 2020 04:24:46 +0000 (14:24 +1000)
committerMarge Bot <eric+marge@anholt.net>
Wed, 3 Jun 2020 10:34:22 +0000 (10:34 +0000)
commita34cc97ca3e19fb36045bf361b3a6bd865f71c7b
treeb32c57ecd0e1011608ea438024266c5b99994f58
parent7d1eadb7906628af800ab797a7423f79bbcba56c
glsl: when NIR linker enable use it to resize uniform arrays

Here we turn on uniform array resizing in the NIR linker and disable
the GLSL IR resizing pass when the NIR linker is enabled.

This will potentially make uniform arrays smaller due to NIR
optimising away more uniform uses.

Shader-db results (SKL):

total instructions in shared programs: 14947192 -> 14944093 (-0.02%)
instructions in affected programs: 138088 -> 134989 (-2.24%)
helped: 822
HURT: 4

total cycles in shared programs: 324868402 -> 324794597 (-0.02%)
cycles in affected programs: 3904170 -> 3830365 (-1.89%)
helped: 2333
HURT: 1485

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4910>
src/compiler/glsl/gl_nir_link_uniforms.c
src/compiler/glsl/linker.cpp