freedreno: a2xx: NIR backend
authorJonathan Marek <jonathan@marek.ca>
Wed, 19 Dec 2018 01:15:57 +0000 (20:15 -0500)
committerRob Clark <robdclark@gmail.com>
Tue, 22 Jan 2019 14:45:03 +0000 (14:45 +0000)
commit67610a0323ddfe0d7cced121abb43286b862b495
tree994887050ff640f4c2db9f56ec55688d2f1412a4
parentda3ca69afadb142c1591c75c2bfd345c8d4337de
freedreno: a2xx: NIR backend

This patch replaces the a2xx TGSI compiler with a NIR compiler.

It also adds several new features:
-gl_FrontFacing, gl_FragCoord, gl_PointCoord, gl_PointSize
-control flow (including loops)
-texture related features (LOD/bias, cubemaps)
-filling scalar ALU slot when possible

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
21 files changed:
src/gallium/drivers/freedreno/Makefile.sources
src/gallium/drivers/freedreno/a2xx/fd2_compiler.c [deleted file]
src/gallium/drivers/freedreno/a2xx/fd2_compiler.h [deleted file]
src/gallium/drivers/freedreno/a2xx/fd2_draw.c
src/gallium/drivers/freedreno/a2xx/fd2_emit.c
src/gallium/drivers/freedreno/a2xx/fd2_gmem.c
src/gallium/drivers/freedreno/a2xx/fd2_program.c
src/gallium/drivers/freedreno/a2xx/fd2_program.h
src/gallium/drivers/freedreno/a2xx/instr-a2xx.h
src/gallium/drivers/freedreno/a2xx/ir-a2xx.c [deleted file]
src/gallium/drivers/freedreno/a2xx/ir-a2xx.h [deleted file]
src/gallium/drivers/freedreno/a2xx/ir2.c [new file with mode: 0644]
src/gallium/drivers/freedreno/a2xx/ir2.h [new file with mode: 0644]
src/gallium/drivers/freedreno/a2xx/ir2_assemble.c [new file with mode: 0644]
src/gallium/drivers/freedreno/a2xx/ir2_nir.c [new file with mode: 0644]
src/gallium/drivers/freedreno/a2xx/ir2_private.h [new file with mode: 0644]
src/gallium/drivers/freedreno/a2xx/ir2_ra.c [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_context.h
src/gallium/drivers/freedreno/freedreno_program.c
src/gallium/drivers/freedreno/freedreno_screen.c
src/gallium/drivers/freedreno/meson.build