nir: Use explicit deref information to provide real UBO ranges.
authorEric Anholt <eric@anholt.net>
Fri, 4 Sep 2020 20:25:05 +0000 (13:25 -0700)
committerMarge Bot <eric+marge@anholt.net>
Tue, 8 Sep 2020 18:20:51 +0000 (18:20 +0000)
commit1ed78bd24796b4c08c8451a9223a161f4787e7cf
tree1fc091da62ad84bad6dedf1b49b5b96ff7300770
parent41b5aafef341f8086be16901c15d4325a3be3359
nir: Use explicit deref information to provide real UBO ranges.

freedreno results (note that cat6 is loads from memory as opposed to
pushed constants from the constant file):

total instructions in shared programs: 8044344 -> 8022085 (-0.28%)
total constlen in shared programs: 1411384 -> 1461964 (3.58%)
total cat6 in shared programs: 89983 -> 87065 (-3.24%)

Over the last 3 commits, we increased Manhattan31 performance by ~10%

Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6359>
src/compiler/nir/nir_lower_io.c