gallivm/nir: Lower uniforms to UBOs in llvm draw if the driver didn't request this...
authorGert Wollny <gert.wollny@collabora.com>
Sun, 28 Jun 2020 16:18:19 +0000 (18:18 +0200)
committerGert Wollny <gw.fossdev@gmail.com>
Mon, 3 Aug 2020 04:43:34 +0000 (06:43 +0200)
commit63bff6a9f89d6b8fa3a57253edb2611dd4e226bc
tree9cde48e42f8077e053ef054b0758c1fe571c122a
parentb54afde3ad631b33b42812c9ebf2225d9c53e38e
gallivm/nir: Lower uniforms to UBOs in llvm draw if the driver didn't request this already

When the llvm draw engine is used for draw shaders in st_program the driver
may not enable the cap PIPE_CAP_PACKED_UNIFORMS, so uniforms are not
be lowered to UBOs. However, llvm doesn't support nir_load_uniform, so lower
the uniforms to UBO now. The multiplier is set to 16 to be the same like in
the TGSI code path.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5681>
src/gallium/auxiliary/draw/draw_vs_llvm.c