freedreno/ir3: add a pass to lower tg4 to txl, enable gather on a4xx
authorIlia Mirkin <imirkin@alum.mit.edu>
Sun, 19 Nov 2017 17:28:53 +0000 (12:28 -0500)
committerIlia Mirkin <imirkin@alum.mit.edu>
Sat, 25 Nov 2017 21:56:59 +0000 (16:56 -0500)
commit86f12e9377374108474b6a5d6b5dd6e9d37766db
tree06ad4fc5cfbe4cc67a32c6bd73b97ee4caea10ee
parentab336e8b46b6d7016519681c59b9aedf3fea04ad
freedreno/ir3: add a pass to lower tg4 to txl, enable gather on a4xx

Unfortunately Adreno A4xx hardware returns incorrect results with the
GATHER4 opcodes. As a result, we have to lower to 4 individual texture
calls (txl since we have to force lod to 0). We achieve this using
offsets, including on cube maps which normally never have offsets.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Rob Clark <robdclark@gmail.com>
docs/features.txt
src/gallium/drivers/freedreno/Makefile.sources
src/gallium/drivers/freedreno/freedreno_screen.c
src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c
src/gallium/drivers/freedreno/ir3/ir3_nir.c
src/gallium/drivers/freedreno/ir3/ir3_nir.h
src/gallium/drivers/freedreno/ir3/ir3_nir_lower_tg4_to_tex.c [new file with mode: 0644]
src/gallium/drivers/freedreno/meson.build