freedreno/a6xx: Use LDC for UBO loads.
authorEric Anholt <eric@anholt.net>
Mon, 20 Apr 2020 23:39:54 +0000 (16:39 -0700)
committerMarge Bot <eric+marge@anholt.net>
Thu, 14 May 2020 00:10:43 +0000 (00:10 +0000)
commit112c65825fddd00a2136c75e09982e1878c944a4
tree7a2953fc1c0a12eb988f59e967b547ee958ac04f
parentab93a631b4c6c2c8d682d90649df69d3016e4722
freedreno/a6xx: Use LDC for UBO loads.

It saves addressing math, but may cause multiple loads to be done and
bcseled due to NIR not giving us good address alignment information
currently.  I don't have any workloads I know of using non-const-uploaded
UBOs, so I don't have perf numbers for it

This makes us match the GLES blob's behavior, and turnip (other than being
bindful).

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4858>
src/freedreno/ir3/ir3_nir.c
src/freedreno/ir3/ir3_nir.h
src/freedreno/ir3/ir3_nir_lower_io_offsets.c
src/freedreno/ir3/ir3_shader.h
src/gallium/drivers/freedreno/a6xx/fd6_const.c
src/gallium/drivers/freedreno/a6xx/fd6_program.c