freedreno: Add a6xx backend

Graphics / Mesa 3D Graphics Library / Mesa - Kristian H. Kristensen [chromium.org] - 16 August 2018 23:13 EDT

This adds a freedreno backend for the a6xx generation GPUs, which at the time of this commit is about 98% GLES2 conformant. Much remains to be done - both performance work and feature work towards more recent GLES versions, but this is a good start.

de3b34df97 freedreno: Add a6xx backend
configure.ac | 2 +-
meson.build | 2 +-
src/gallium/drivers/freedreno/Makefile.am | 1 +
src/gallium/drivers/freedreno/Makefile.sources | 31 +
src/gallium/drivers/freedreno/a6xx/fd6_blend.c | 149 +++
src/gallium/drivers/freedreno/a6xx/fd6_blend.h | 63 ++
src/gallium/drivers/freedreno/a6xx/fd6_context.c | 121 +++
src/gallium/drivers/freedreno/a6xx/fd6_context.h | 120 +++
src/gallium/drivers/freedreno/a6xx/fd6_draw.c | 492 +++++++++
src/gallium/drivers/freedreno/a6xx/fd6_draw.h | 147 +++
src/gallium/drivers/freedreno/a6xx/fd6_emit.c | 1137 ++++++++++++++++++++
src/gallium/drivers/freedreno/a6xx/fd6_emit.h | 209 ++++
src/gallium/drivers/freedreno/a6xx/fd6_format.c | 452 ++++++++
src/gallium/drivers/freedreno/a6xx/fd6_format.h | 45 +
src/gallium/drivers/freedreno/a6xx/fd6_gmem.c | 839 +++++++++++++++
src/gallium/drivers/freedreno/a6xx/fd6_gmem.h | 35 +
src/gallium/drivers/freedreno/a6xx/fd6_image.c | 234 ++++
src/gallium/drivers/freedreno/a6xx/fd6_image.h | 36 +
src/gallium/drivers/freedreno/a6xx/fd6_program.c | 718 ++++++++++++
src/gallium/drivers/freedreno/a6xx/fd6_program.h | 48 +
src/gallium/drivers/freedreno/a6xx/fd6_query.c | 264 +++++
src/gallium/drivers/freedreno/a6xx/fd6_query.h | 35 +
.../drivers/freedreno/a6xx/fd6_rasterizer.c | 105 ++
.../drivers/freedreno/a6xx/fd6_rasterizer.h | 58 +
src/gallium/drivers/freedreno/a6xx/fd6_resource.c | 149 +++
src/gallium/drivers/freedreno/a6xx/fd6_resource.h | 35 +
src/gallium/drivers/freedreno/a6xx/fd6_screen.c | 119 ++
src/gallium/drivers/freedreno/a6xx/fd6_screen.h | 35 +
src/gallium/drivers/freedreno/a6xx/fd6_texture.c | 347 ++++++
src/gallium/drivers/freedreno/a6xx/fd6_texture.h | 91 ++
src/gallium/drivers/freedreno/a6xx/fd6_zsa.c | 119 ++
src/gallium/drivers/freedreno/a6xx/fd6_zsa.h | 58 +
src/gallium/drivers/freedreno/freedreno_batch.c | 4 +
src/gallium/drivers/freedreno/freedreno_batch.h | 5 +
src/gallium/drivers/freedreno/freedreno_gmem.c | 2 +-
src/gallium/drivers/freedreno/freedreno_resource.c | 3 +-
src/gallium/drivers/freedreno/freedreno_screen.c | 33 +-
src/gallium/drivers/freedreno/freedreno_screen.h | 8 +-
src/gallium/drivers/freedreno/freedreno_util.h | 9 +-
src/gallium/drivers/freedreno/meson.build | 29 +
40 files changed, 6370 insertions(+), 19 deletions(-)

Upstream: cgit.freedesktop.org


  • Share