[Freedreno] [PATCH 0/7] freedreno: initial a5xx support

Rob Clark robdclark at gmail.com
Mon Nov 28 18:41:40 UTC 2016


So, I've been working with Jordan's initial RFC patches for the
kernel side support for adreno 5xx[1] on the dragonboard 820c. At
this point I have the basics working.. (ie. a reasonable chunk of
glmark2 working).  There are ofc bugs to fix, and I've started to
run through deqp (since that is something easier to run against
blob driver on android than piglit).

There are a couple more small cleanups, and I need to do some
testing on a3xx/a4xx to ensure the ir3 compiler changes don't
break anything on previous gen's.  But I'm expecting to push
this to master in next day or two.

[1] https://lists.freedesktop.org/archives/freedreno/2016-November/000805.html

Rob Clark (7):
  freedreno/ir3: add new helper for shader linkage
  freedreno/a4xx: use new shader linkage helper
  freedreno/a3xx: use new shader linkage helper
  freedreno/ir3: don't offset inloc by 8
  freedreno: make gmem tile size alignment configurable
  freedreno: update generated headers
  freedreno/a5xx: initial support

 src/gallium/drivers/freedreno/Makefile.am          |    1 +
 src/gallium/drivers/freedreno/Makefile.sources     |   27 +
 src/gallium/drivers/freedreno/a2xx/a2xx.xml.h      |   27 +-
 src/gallium/drivers/freedreno/a2xx/fd2_blend.c     |   10 +-
 src/gallium/drivers/freedreno/a3xx/a3xx.xml.h      |   36 +-
 src/gallium/drivers/freedreno/a3xx/fd3_gmem.c      |    2 +-
 src/gallium/drivers/freedreno/a3xx/fd3_program.c   |   48 +-
 src/gallium/drivers/freedreno/a4xx/a4xx.xml.h      |   57 +-
 src/gallium/drivers/freedreno/a4xx/fd4_blend.c     |    2 +-
 src/gallium/drivers/freedreno/a4xx/fd4_emit.c      |    8 +-
 src/gallium/drivers/freedreno/a4xx/fd4_program.c   |   48 +-
 src/gallium/drivers/freedreno/a5xx/a5xx.xml.h      | 3757 ++++++++++++++++++++
 src/gallium/drivers/freedreno/a5xx/fd5_blend.c     |  144 +
 src/gallium/drivers/freedreno/a5xx/fd5_blend.h     |   60 +
 src/gallium/drivers/freedreno/a5xx/fd5_context.c   |  117 +
 src/gallium/drivers/freedreno/a5xx/fd5_context.h   |   90 +
 src/gallium/drivers/freedreno/a5xx/fd5_draw.c      |  288 ++
 src/gallium/drivers/freedreno/a5xx/fd5_draw.h      |  113 +
 src/gallium/drivers/freedreno/a5xx/fd5_emit.c      |  729 ++++
 src/gallium/drivers/freedreno/a5xx/fd5_emit.h      |  162 +
 src/gallium/drivers/freedreno/a5xx/fd5_format.c    |  445 +++
 src/gallium/drivers/freedreno/a5xx/fd5_format.h    |   44 +
 src/gallium/drivers/freedreno/a5xx/fd5_gmem.c      |  482 +++
 src/gallium/drivers/freedreno/a5xx/fd5_gmem.h      |   34 +
 src/gallium/drivers/freedreno/a5xx/fd5_program.c   |  606 ++++
 src/gallium/drivers/freedreno/a5xx/fd5_program.h   |   45 +
 src/gallium/drivers/freedreno/a5xx/fd5_query.c     |   32 +
 src/gallium/drivers/freedreno/a5xx/fd5_query.h     |   34 +
 .../drivers/freedreno/a5xx/fd5_rasterizer.c        |   99 +
 .../drivers/freedreno/a5xx/fd5_rasterizer.h        |   57 +
 src/gallium/drivers/freedreno/a5xx/fd5_screen.c    |  104 +
 src/gallium/drivers/freedreno/a5xx/fd5_screen.h    |   34 +
 src/gallium/drivers/freedreno/a5xx/fd5_texture.c   |  353 ++
 src/gallium/drivers/freedreno/a5xx/fd5_texture.h   |   70 +
 src/gallium/drivers/freedreno/a5xx/fd5_zsa.c       |  101 +
 src/gallium/drivers/freedreno/a5xx/fd5_zsa.h       |   55 +
 src/gallium/drivers/freedreno/adreno_common.xml.h  |   21 +-
 src/gallium/drivers/freedreno/adreno_pm4.xml.h     |  293 +-
 src/gallium/drivers/freedreno/freedreno_batch.c    |   15 +
 src/gallium/drivers/freedreno/freedreno_batch.h    |   12 +-
 src/gallium/drivers/freedreno/freedreno_context.h  |    1 +
 src/gallium/drivers/freedreno/freedreno_gmem.c     |   23 +-
 src/gallium/drivers/freedreno/freedreno_screen.c   |   10 +
 src/gallium/drivers/freedreno/freedreno_screen.h   |    7 +
 src/gallium/drivers/freedreno/freedreno_util.h     |  116 +-
 .../drivers/freedreno/ir3/ir3_compiler_nir.c       |    2 +-
 src/gallium/drivers/freedreno/ir3/ir3_shader.h     |   58 +-
 47 files changed, 8681 insertions(+), 198 deletions(-)
 create mode 100644 src/gallium/drivers/freedreno/a5xx/a5xx.xml.h
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_blend.c
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_blend.h
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_context.c
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_context.h
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_draw.c
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_draw.h
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_emit.c
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_emit.h
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_format.c
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_format.h
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_gmem.c
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_gmem.h
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_program.c
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_program.h
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_query.c
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_query.h
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_rasterizer.c
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_rasterizer.h
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_screen.c
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_screen.h
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_texture.c
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_texture.h
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_zsa.c
 create mode 100644 src/gallium/drivers/freedreno/a5xx/fd5_zsa.h

-- 
2.7.4



More information about the Freedreno mailing list