r600: handle indirect access to kcache 14 and 15

r600 can't handle indirect access to kcache 14 and 15, so
if the shader has more than 14 UBOs and there is indirect UBO
access load the values from kcache 14 (and 15) directly and do
a bcsel based on the buffer id to return the right value.

v2: - replace superfluous check with an assert (Triang3l)
    - change the lowering pass to work on load_ubo

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10112

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27372>
3 files changed