etnaviv: let st lower rect tex
Before this change we used a dummy load_uniform to represent texcoord
scale. That dummy load was converted to a load_const where we are using
the upper 32 bits to store the uniform content type and that breaks nir's
validation. With the new nir_intrinsic_load_texture_scaling we know the
uniform type and do not need to go from load_ubo->load_const (with type
information).
shader-db for GC3000:
instructions helped: shaders/tesseract/491.shader_test FRAG: 260 -> 248 (-4.62%)
instructions helped: shaders/tesseract/494.shader_test FRAG: 256 -> 244 (-4.69%)
instructions helped: shaders/tesseract/238.shader_test FRAG: 244 -> 232 (-4.92%)
instructions helped: shaders/tesseract/241.shader_test FRAG: 244 -> 232 (-4.92%)
instructions helped: shaders/tesseract/127.shader_test FRAG: 80 -> 76 (-5.00%)
instructions helped: shaders/tesseract/130.shader_test FRAG: 156 -> 148 (-5.13%)
instructions helped: shaders/tesseract/226.shader_test FRAG: 204 -> 192 (-5.88%)
instructions helped: shaders/tesseract/229.shader_test FRAG: 204 -> 192 (-5.88%)
instructions helped: shaders/tesseract/217.shader_test FRAG: 164 -> 152 (-7.32%)
instructions helped: shaders/tesseract/214.shader_test FRAG: 164 -> 152 (-7.32%)
instructions helped: shaders/tesseract/205.shader_test FRAG: 124 -> 112 (-9.68%)
instructions helped: shaders/tesseract/202.shader_test FRAG: 124 -> 112 (-9.68%)
instructions helped: shaders/tesseract/169.shader_test FRAG: 36 -> 32 (-11.11%)
instructions helped: shaders/tesseract/166.shader_test FRAG: 36 -> 32 (-11.11%)
instructions helped: shaders/tesseract/118.shader_test FRAG: 32 -> 28 (-12.50%)
instructions helped: shaders/tesseract/181.shader_test FRAG: 60 -> 52 (-13.33%)
instructions helped: shaders/tesseract/178.shader_test FRAG: 60 -> 52 (-13.33%)
instructions helped: shaders/tesseract/121.shader_test FRAG: 60 -> 52 (-13.33%)
instructions helped: shaders/tesseract/193.shader_test FRAG: 84 -> 72 (-14.29%)
instructions helped: shaders/tesseract/190.shader_test FRAG: 84 -> 72 (-14.29%)
temps HURT: shaders/tesseract/494.shader_test FRAG: 6 -> 7 (16.67%)
temps HURT: shaders/tesseract/491.shader_test FRAG: 6 -> 7 (16.67%)
total instructions in shared programs: 1122112 -> 1121920 (-0.02%)
instructions in affected programs: 2676 -> 2484 (-7.17%)
helped: 20
HURT: 0
helped stats (abs) min: 4 max: 12 x̄: 9.60 x̃: 12
helped stats (rel) min: 4.62% max: 14.29% x̄: 8.92% x̃: 8.50%
95% mean confidence interval for instructions value: -11.14 -8.06
95% mean confidence interval for instructions %-change: -10.65% -7.18%
Instructions are helped.
total temps in shared programs: 86942 -> 86944 (<.01%)
temps in affected programs: 12 -> 14 (16.67%)
helped: 0
HURT: 2
total immediates in shared programs: 141216 -> 141216 (0.00%)
immediates in affected programs: 0 -> 0
helped: 0
HURT: 0
total loops in shared programs: 0 -> 0
loops in affected programs: 0 -> 0
helped: 0
HURT: 0
LOST: 0
GAINED: 0
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8898>
3 files changed