[Mesa-dev] [RFC 0/2] freedreno: adding adreno a3xx support
Rob Clark
robdclark at gmail.com
Thu May 23 11:48:27 PDT 2013
From: Rob Clark <robclark at freedesktop.org>
Currently, es2gears, ioquake, xonotic, compiz, etc. work. The
shader compiler is quite sub-optimal, but despite that most things
seem to be ~2-3x faster compared (and at higher resolution) with
the a320 on my nexus4 compared to a220 on my HP touchpad.
Since the patches will probably bounce due to size, you can find
them on my github tree:
https://github.com/freedreno/mesa/tree/a3xx-rfc
git://github.com/freedreno/mesa.git a3xx-rfc
The first patch is mostly just shuffling things around. The second
patch is what actually adds a3xx support.
Rob Clark (2):
RFC: freedreno: prepare for a3xx
RFC: freedreno: add a3xx support
configure.ac | 2 +
src/gallium/drivers/freedreno/Makefile.am | 20 +-
src/gallium/drivers/freedreno/a2xx.xml.h | 1473 ----------------
src/gallium/drivers/freedreno/a2xx/Makefile.am | 28 +
src/gallium/drivers/freedreno/a2xx/a2xx.xml.h | 1465 ++++++++++++++++
src/gallium/drivers/freedreno/a2xx/disasm-a2xx.c | 632 +++++++
src/gallium/drivers/freedreno/a2xx/fd2_blend.c | 86 +
src/gallium/drivers/freedreno/a2xx/fd2_blend.h | 51 +
src/gallium/drivers/freedreno/a2xx/fd2_compiler.c | 1191 +++++++++++++
src/gallium/drivers/freedreno/a2xx/fd2_compiler.h | 38 +
src/gallium/drivers/freedreno/a2xx/fd2_context.c | 101 ++
src/gallium/drivers/freedreno/a2xx/fd2_context.h | 52 +
src/gallium/drivers/freedreno/a2xx/fd2_draw.c | 294 ++++
src/gallium/drivers/freedreno/a2xx/fd2_draw.h | 38 +
src/gallium/drivers/freedreno/a2xx/fd2_emit.c | 443 +++++
src/gallium/drivers/freedreno/a2xx/fd2_emit.h | 48 +
src/gallium/drivers/freedreno/a2xx/fd2_gmem.c | 393 +++++
src/gallium/drivers/freedreno/a2xx/fd2_gmem.h | 36 +
src/gallium/drivers/freedreno/a2xx/fd2_program.c | 506 ++++++
src/gallium/drivers/freedreno/a2xx/fd2_program.h | 82 +
.../drivers/freedreno/a2xx/fd2_rasterizer.c | 113 ++
.../drivers/freedreno/a2xx/fd2_rasterizer.h | 55 +
src/gallium/drivers/freedreno/a2xx/fd2_screen.c | 109 ++
src/gallium/drivers/freedreno/a2xx/fd2_screen.h | 36 +
src/gallium/drivers/freedreno/a2xx/fd2_texture.c | 158 ++
src/gallium/drivers/freedreno/a2xx/fd2_texture.h | 69 +
src/gallium/drivers/freedreno/a2xx/fd2_util.c | 322 ++++
src/gallium/drivers/freedreno/a2xx/fd2_util.h | 47 +
src/gallium/drivers/freedreno/a2xx/fd2_zsa.c | 96 ++
src/gallium/drivers/freedreno/a2xx/fd2_zsa.h | 56 +
src/gallium/drivers/freedreno/a2xx/instr-a2xx.h | 389 +++++
src/gallium/drivers/freedreno/a2xx/ir-a2xx.c | 635 +++++++
src/gallium/drivers/freedreno/a2xx/ir-a2xx.h | 180 ++
src/gallium/drivers/freedreno/a3xx/Makefile.am | 28 +
src/gallium/drivers/freedreno/a3xx/a3xx.xml.h | 1761 ++++++++++++++++++++
src/gallium/drivers/freedreno/a3xx/disasm-a3xx.c | 946 +++++++++++
src/gallium/drivers/freedreno/a3xx/fd3_blend.c | 87 +
src/gallium/drivers/freedreno/a3xx/fd3_blend.h | 52 +
src/gallium/drivers/freedreno/a3xx/fd3_compiler.c | 998 +++++++++++
src/gallium/drivers/freedreno/a3xx/fd3_compiler.h | 38 +
src/gallium/drivers/freedreno/a3xx/fd3_context.c | 118 ++
src/gallium/drivers/freedreno/a3xx/fd3_context.h | 68 +
src/gallium/drivers/freedreno/a3xx/fd3_draw.c | 229 +++
src/gallium/drivers/freedreno/a3xx/fd3_draw.h | 38 +
src/gallium/drivers/freedreno/a3xx/fd3_emit.c | 582 +++++++
src/gallium/drivers/freedreno/a3xx/fd3_emit.h | 62 +
src/gallium/drivers/freedreno/a3xx/fd3_gmem.c | 395 +++++
src/gallium/drivers/freedreno/a3xx/fd3_gmem.h | 36 +
src/gallium/drivers/freedreno/a3xx/fd3_program.c | 637 +++++++
src/gallium/drivers/freedreno/a3xx/fd3_program.h | 111 ++
.../drivers/freedreno/a3xx/fd3_rasterizer.c | 92 +
.../drivers/freedreno/a3xx/fd3_rasterizer.h | 56 +
src/gallium/drivers/freedreno/a3xx/fd3_screen.c | 103 ++
src/gallium/drivers/freedreno/a3xx/fd3_screen.h | 36 +
src/gallium/drivers/freedreno/a3xx/fd3_texture.c | 140 ++
src/gallium/drivers/freedreno/a3xx/fd3_texture.h | 68 +
src/gallium/drivers/freedreno/a3xx/fd3_util.c | 292 ++++
src/gallium/drivers/freedreno/a3xx/fd3_util.h | 54 +
src/gallium/drivers/freedreno/a3xx/fd3_zsa.c | 100 ++
src/gallium/drivers/freedreno/a3xx/fd3_zsa.h | 56 +
src/gallium/drivers/freedreno/a3xx/instr-a3xx.h | 523 ++++++
src/gallium/drivers/freedreno/a3xx/ir-a3xx.c | 525 ++++++
src/gallium/drivers/freedreno/a3xx/ir-a3xx.h | 190 +++
src/gallium/drivers/freedreno/adreno_common.xml.h | 11 +-
src/gallium/drivers/freedreno/adreno_pm4.xml.h | 97 +-
src/gallium/drivers/freedreno/disasm.c | 632 -------
src/gallium/drivers/freedreno/disasm.h | 5 +-
src/gallium/drivers/freedreno/freedreno_blend.c | 175 --
src/gallium/drivers/freedreno/freedreno_blend.h | 44 -
src/gallium/drivers/freedreno/freedreno_clear.c | 251 ---
src/gallium/drivers/freedreno/freedreno_clear.h | 37 -
src/gallium/drivers/freedreno/freedreno_compiler.c | 1195 -------------
src/gallium/drivers/freedreno/freedreno_compiler.h | 38 -
src/gallium/drivers/freedreno/freedreno_context.c | 81 +-
src/gallium/drivers/freedreno/freedreno_context.h | 49 +-
src/gallium/drivers/freedreno/freedreno_draw.c | 212 +++
src/gallium/drivers/freedreno/freedreno_draw.h | 43 +
src/gallium/drivers/freedreno/freedreno_gmem.c | 323 +---
src/gallium/drivers/freedreno/freedreno_program.c | 504 ------
src/gallium/drivers/freedreno/freedreno_program.h | 82 -
.../drivers/freedreno/freedreno_rasterizer.c | 151 --
.../drivers/freedreno/freedreno_rasterizer.h | 48 -
src/gallium/drivers/freedreno/freedreno_resource.c | 7 +-
src/gallium/drivers/freedreno/freedreno_screen.c | 125 +-
src/gallium/drivers/freedreno/freedreno_screen.h | 1 +
src/gallium/drivers/freedreno/freedreno_state.c | 462 +----
src/gallium/drivers/freedreno/freedreno_state.h | 24 +-
src/gallium/drivers/freedreno/freedreno_texture.c | 129 +-
src/gallium/drivers/freedreno/freedreno_texture.h | 25 -
src/gallium/drivers/freedreno/freedreno_util.c | 387 ++---
src/gallium/drivers/freedreno/freedreno_util.h | 31 +-
src/gallium/drivers/freedreno/freedreno_vbo.c | 239 ---
src/gallium/drivers/freedreno/freedreno_vbo.h | 42 -
src/gallium/drivers/freedreno/freedreno_zsa.c | 144 --
src/gallium/drivers/freedreno/freedreno_zsa.h | 59 -
src/gallium/drivers/freedreno/instr-a2xx.h | 389 -----
src/gallium/drivers/freedreno/ir-a2xx.c | 635 -------
src/gallium/drivers/freedreno/ir-a2xx.h | 180 --
98 files changed, 16853 insertions(+), 7669 deletions(-)
delete mode 100644 src/gallium/drivers/freedreno/a2xx.xml.h
create mode 100644 src/gallium/drivers/freedreno/a2xx/Makefile.am
create mode 100644 src/gallium/drivers/freedreno/a2xx/a2xx.xml.h
create mode 100644 src/gallium/drivers/freedreno/a2xx/disasm-a2xx.c
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_blend.c
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_blend.h
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_compiler.c
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_compiler.h
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_context.c
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_context.h
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_draw.c
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_draw.h
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_emit.c
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_emit.h
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_gmem.c
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_gmem.h
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_program.c
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_program.h
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_rasterizer.c
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_rasterizer.h
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_screen.c
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_screen.h
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_texture.c
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_texture.h
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_util.c
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_util.h
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_zsa.c
create mode 100644 src/gallium/drivers/freedreno/a2xx/fd2_zsa.h
create mode 100644 src/gallium/drivers/freedreno/a2xx/instr-a2xx.h
create mode 100644 src/gallium/drivers/freedreno/a2xx/ir-a2xx.c
create mode 100644 src/gallium/drivers/freedreno/a2xx/ir-a2xx.h
create mode 100644 src/gallium/drivers/freedreno/a3xx/Makefile.am
create mode 100644 src/gallium/drivers/freedreno/a3xx/a3xx.xml.h
create mode 100644 src/gallium/drivers/freedreno/a3xx/disasm-a3xx.c
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_blend.c
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_blend.h
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_compiler.c
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_compiler.h
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_context.c
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_context.h
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_draw.c
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_draw.h
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_emit.c
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_emit.h
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_gmem.c
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_gmem.h
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_program.c
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_program.h
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_rasterizer.c
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_rasterizer.h
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_screen.c
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_screen.h
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_texture.c
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_texture.h
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_util.c
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_util.h
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_zsa.c
create mode 100644 src/gallium/drivers/freedreno/a3xx/fd3_zsa.h
create mode 100644 src/gallium/drivers/freedreno/a3xx/instr-a3xx.h
create mode 100644 src/gallium/drivers/freedreno/a3xx/ir-a3xx.c
create mode 100644 src/gallium/drivers/freedreno/a3xx/ir-a3xx.h
delete mode 100644 src/gallium/drivers/freedreno/disasm.c
delete mode 100644 src/gallium/drivers/freedreno/freedreno_blend.c
delete mode 100644 src/gallium/drivers/freedreno/freedreno_blend.h
delete mode 100644 src/gallium/drivers/freedreno/freedreno_clear.c
delete mode 100644 src/gallium/drivers/freedreno/freedreno_clear.h
delete mode 100644 src/gallium/drivers/freedreno/freedreno_compiler.c
delete mode 100644 src/gallium/drivers/freedreno/freedreno_compiler.h
create mode 100644 src/gallium/drivers/freedreno/freedreno_draw.c
create mode 100644 src/gallium/drivers/freedreno/freedreno_draw.h
delete mode 100644 src/gallium/drivers/freedreno/freedreno_program.c
delete mode 100644 src/gallium/drivers/freedreno/freedreno_program.h
delete mode 100644 src/gallium/drivers/freedreno/freedreno_rasterizer.c
delete mode 100644 src/gallium/drivers/freedreno/freedreno_rasterizer.h
delete mode 100644 src/gallium/drivers/freedreno/freedreno_vbo.c
delete mode 100644 src/gallium/drivers/freedreno/freedreno_vbo.h
delete mode 100644 src/gallium/drivers/freedreno/freedreno_zsa.c
delete mode 100644 src/gallium/drivers/freedreno/freedreno_zsa.h
delete mode 100644 src/gallium/drivers/freedreno/instr-a2xx.h
delete mode 100644 src/gallium/drivers/freedreno/ir-a2xx.c
delete mode 100644 src/gallium/drivers/freedreno/ir-a2xx.h
--
1.8.1.4
More information about the mesa-dev
mailing list