nir/lower_int_to_float: Add support for shifts.

With the prog-to-nir conversion of mesa/st, non-NIR drivers now have their
ARB programs go through nir_to_tgsi.  The ARB program state vars go
through lower_uniforms_to_ubo, and on non-PIPE_CAP_LOAD_CONSTBUF drivers
we then go through nir_lower_ubo_vec4 to get TGSI-appropriate addressing.
Those two passes multiply uniform array indexes by 16 (vec4 -> byte) and
shift back down (byte -> vec4).  On non-PIPE_SHADER_CAP_INTEGERS drivers,
if NIR didn't optimize out those shifts (because the double-shift might to
mask off the top bits) then the lower-to-float path would have shl and shr
operations left.  This caused assertion failures on indirect addressing on
these drivers.
110 jobs for !9484 with ntt-float-shr in 8 seconds (queued for 5 seconds)
latest detached
Status Job ID Name Coverage
  Sanity
passed #7880985
sanity

00:00:08

 
  Container
manual #7880990
aarch64 manual
arm_build
manual #7880992
manual
arm_test-base
manual #7880993
windows shell 1809 mesa manual
windows_build_vs2019
manual #7880987
manual
x86_build-base
manual #7880989
manual
x86_test-base
 
  Container 2
created #7881017
android_build
created #7881025
arm64_test
created #7881027
armhf_test
created #7881006
i386_build
created #7880996
kernel+rootfs_amd64
created #7880997
aarch64
kernel+rootfs_arm64
created #7880999
aarch64
kernel+rootfs_armhf
created #7881010
ppc64el_build
created #7881013
s390x_build
created #7881002
x86_build
created #7881020
x86_test-gl
created #7881023
x86_test-vk
 
  Meson X86 64
created #7881038
meson-clang
created #7881040
meson-clover
created #7881033
meson-clover-testing
created #7881034
gstreamer
meson-gallium
created #7881036
meson-release
created #7881029
meson-testing
created #7881031
meson-testing-asan
created #7881042
meson-vulkan
 
  Build Misc
created #7881044
meson-android
created #7881048
aarch64
meson-arm64
created #7881050
aarch64
meson-arm64-asan
created #7881052
aarch64
meson-arm64-build-test
created #7881046
aarch64
meson-armhf
created #7881056
meson-i386
created #7881060
meson-mingw32-x86_64
created #7881058
kvm
meson-ppc64el
created #7881057
kvm
meson-s390x
created #7881054
windows docker 1809 mesa
meson-windows-vs2019
 
  Amd
created #7881065
mesa-ci-aarch64-lava-collabora
radeonsi-stoney-gles31:amd64
created #7881067
mesa-ci-aarch64-lava-collabora
radeonsi-stoney-traces:amd64
created #7881063
radv-fossils
 
  Arm
created #7881083
mesa-ci-aarch64-lava-collabora
panfrost-g52-gles2:arm64
created #7881086
mesa-ci-aarch64-lava-collabora
panfrost-g52-gles3:arm64
created #7881073
mesa-ci-aarch64-lava-collabora
panfrost-t720-gles2:arm64
created #7881075
mesa-ci-aarch64-lava-collabora
panfrost-t860-gles2:arm64
created #7881078
mesa-ci-aarch64-lava-collabora
panfrost-t860-gles3:arm64 1/2
created #7881079
mesa-ci-aarch64-lava-collabora
panfrost-t860-gles3:arm64 2/2
created #7881081
mesa-ci-aarch64-lava-collabora
panfrost-t860-traces:arm64
 
  Broadcom
created #7881110
igalia-rpi4
v3d-rpi4-gles2:armhf
created #7881099
igalia-rpi4
v3d-rpi4-gles31:armhf 1/2
created #7881101
igalia-rpi4
v3d-rpi4-gles31:armhf 2/2
created #7881104
igalia-rpi4
v3d-rpi4-gles3:armhf 1/4
created #7881107
igalia-rpi4
v3d-rpi4-gles3:armhf 2/4
created #7881108
igalia-rpi4
v3d-rpi4-gles3:armhf 3/4
created #7881109
igalia-rpi4
v3d-rpi4-gles3:armhf 4/4
created #7881111
igalia-rpi4
v3dv-rpi4-vk:armhf 1/6
created #7881112
igalia-rpi4
v3dv-rpi4-vk:armhf 2/6
created #7881113
igalia-rpi4
v3dv-rpi4-vk:armhf 3/6
created #7881114
igalia-rpi4
v3dv-rpi4-vk:armhf 4/6
created #7881115
igalia-rpi4
v3dv-rpi4-vk:armhf 5/6
created #7881116
igalia-rpi4
v3dv-rpi4-vk:armhf 6/6
created #7881090
igalia-rpi3
vc4-rpi3-gles2:armhf 1/4
created #7881092
igalia-rpi3
vc4-rpi3-gles2:armhf 2/4
created #7881094
igalia-rpi3
vc4-rpi3-gles2:armhf 3/4
created #7881096
igalia-rpi3
vc4-rpi3-gles2:armhf 4/4
 
  Freedreno
created #7881117
google-freedreno-db410c
a306_gles2
created #7881118
google-freedreno-db410c
a306_gles3 1/3
created #7881119
google-freedreno-db410c
a306_gles3 2/3
created #7881120
google-freedreno-db410c
a306_gles3 3/3
created #7881121
google-freedreno-db410c
a306_gles3_options
created #7881122
google-freedreno-db820c
a530_gles2
created #7881125
google-freedreno-db820c
a530_gles31 1/2
created #7881123
google-freedreno-db820c
a530_gles3 1/2
created #7881126
google-freedreno-db820c
a530_gles31 2/2
created #7881124
google-freedreno-db820c
a530_gles3 2/2
created #7881130
google-freedreno-cheza
a630_gl
created #7881127
google-freedreno-cheza
a630_gles2
created #7881129
google-freedreno-cheza
a630_gles3
created #7881128
google-freedreno-cheza
a630_gles31
created #7881132
google-freedreno-cheza
a630_gles_asan
created #7881131
google-freedreno-cheza
a630_gles_others
created #7881136
google-freedreno-cheza
a630-traces
created #7881133
google-freedreno-cheza
a630_vk 1/2
created #7881134
google-freedreno-cheza
a630_vk 2/2
created #7881135
google-freedreno-cheza
a630_vk_sysmem
 
  Software Renderer
created #7881143
lavapipe-vk
created #7881142
llvmpipe-gles2
created #7881137
llvmpipe-piglit-cl
created #7881139
llvmpipe-piglit-glslparser
created #7881138
llvmpipe-piglit-quick_gl
created #7881140
llvmpipe-piglit-quick_shader
created #7881141
llvmpipe-traces
created #7881148
softpipe-asan-gles31
created #7881150
softpipe-gl
created #7881144
softpipe-gles2
created #7881145
softpipe-gles3
created #7881146
softpipe-gles31 1/2
created #7881147
softpipe-gles31 2/2
created #7881149
softpipe-piglit-quick
 
  Layered Backends
created #7881163
windows docker 1809 mesa
test-d3d12-windows
created #7881155
virgl-gl30-on-gl
created #7881156
virgl-gl31-on-gl
created #7881157
virgl-gl32-on-gl
created #7881151
virgl-gles2-on-gl
created #7881153
virgl-gles31-on-gl 1/2
created #7881154
virgl-gles31-on-gl 2/2
created #7881152
virgl-gles3-on-gl
created #7881158
virgl-traces
created #7881162
zink-lvp-gl
created #7881160
zink-lvp-gles2
created #7881161
zink-lvp-gles3
created #7881159
zink-piglit-quick_gl