[Mesa-dev] [PATCH mesa] freedreno: gallium driver for adreno

Rob Clark robdclark at gmail.com
Sun Feb 17 12:52:44 PST 2013


hmm, this appears to be bouncing because the patch is too large..  in
the meantime you can find it at:

https://github.com/freedreno/mesa/commit/1c7936784cfa9a19accfec5897b05a8458949667
git://github.com/freedreno/mesa.git master

BR,
-R

On Sun, Feb 17, 2013 at 2:33 PM, Rob Clark <robdclark at gmail.com> wrote:
> From: Rob Clark <robclark at freedesktop.org>
>
> Currently works on a220.  Others in the a2xx family look pretty similar
> and should be pretty straightforward to support with the same driver.
>
> The a3xx has a new shader ISA, and while many registers appear similar,
> the register addresses have been completely shuffled around.  I am not
> sure yet whether it is best to support with the same driver, but
> different compiler, or whether it should be split into a different
> driver.
>
> Signed-off-by: Rob Clark <robclark at freedesktop.org>
> ---
>  configure.ac                                       |   14 +-
>  src/gallium/drivers/freedreno/Makefile.am          |   35 +
>  src/gallium/drivers/freedreno/a2xx_reg.h           |  455 ++++++++
>  src/gallium/drivers/freedreno/adreno_pm4types.h    |  222 ++++
>  src/gallium/drivers/freedreno/disasm.c             |  633 +++++++++++
>  src/gallium/drivers/freedreno/disasm.h             |   40 +
>  src/gallium/drivers/freedreno/freedreno_a2xx_reg.h |  773 ++++++++++++++
>  src/gallium/drivers/freedreno/freedreno_blend.c    |  175 ++++
>  src/gallium/drivers/freedreno/freedreno_blend.h    |   44 +
>  src/gallium/drivers/freedreno/freedreno_clear.c    |  200 ++++
>  src/gallium/drivers/freedreno/freedreno_clear.h    |   37 +
>  src/gallium/drivers/freedreno/freedreno_compiler.c | 1096 ++++++++++++++++++++
>  src/gallium/drivers/freedreno/freedreno_compiler.h |   38 +
>  src/gallium/drivers/freedreno/freedreno_context.c  |  200 ++++
>  src/gallium/drivers/freedreno/freedreno_context.h  |  184 ++++
>  src/gallium/drivers/freedreno/freedreno_fence.c    |   52 +
>  src/gallium/drivers/freedreno/freedreno_fence.h    |   65 ++
>  src/gallium/drivers/freedreno/freedreno_gmem.c     |  479 +++++++++
>  src/gallium/drivers/freedreno/freedreno_gmem.h     |   37 +
>  src/gallium/drivers/freedreno/freedreno_program.c  |  503 +++++++++
>  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 |  248 +++++
>  src/gallium/drivers/freedreno/freedreno_resource.h |   49 +
>  src/gallium/drivers/freedreno/freedreno_screen.c   |  471 +++++++++
>  src/gallium/drivers/freedreno/freedreno_screen.h   |   70 ++
>  src/gallium/drivers/freedreno/freedreno_state.c    |  639 ++++++++++++
>  src/gallium/drivers/freedreno/freedreno_state.h    |   53 +
>  src/gallium/drivers/freedreno/freedreno_surface.c  |   73 ++
>  src/gallium/drivers/freedreno/freedreno_surface.h  |   54 +
>  src/gallium/drivers/freedreno/freedreno_texture.c  |  286 +++++
>  src/gallium/drivers/freedreno/freedreno_texture.h  |   61 ++
>  src/gallium/drivers/freedreno/freedreno_util.c     |  442 ++++++++
>  src/gallium/drivers/freedreno/freedreno_util.h     |  126 +++
>  src/gallium/drivers/freedreno/freedreno_vbo.c      |  226 ++++
>  src/gallium/drivers/freedreno/freedreno_vbo.h      |   42 +
>  src/gallium/drivers/freedreno/freedreno_zsa.c      |  144 +++
>  src/gallium/drivers/freedreno/freedreno_zsa.h      |   60 ++
>  src/gallium/drivers/freedreno/instr.h              |  384 +++++++
>  src/gallium/drivers/freedreno/ir.c                 |  701 +++++++++++++
>  src/gallium/drivers/freedreno/ir.h                 |  244 +++++
>  src/gallium/targets/dri-freedreno/Makefile.am      |   71 ++
>  src/gallium/targets/dri-freedreno/target.c         |   20 +
>  src/gallium/targets/egl-static/Makefile.am         |    8 +
>  src/gallium/targets/egl-static/egl_pipe.c          |   22 +
>  src/gallium/winsys/freedreno/drm/.gitignore        |    1 +
>  src/gallium/winsys/freedreno/drm/Makefile.am       |   33 +
>  .../winsys/freedreno/drm/freedreno_drm_public.h    |    9 +
>  .../winsys/freedreno/drm/freedreno_drm_winsys.c    |   18 +
>  50 files changed, 10117 insertions(+), 1 deletion(-)
>  create mode 100644 src/gallium/drivers/freedreno/Makefile.am
>  create mode 100644 src/gallium/drivers/freedreno/a2xx_reg.h
>  create mode 100644 src/gallium/drivers/freedreno/adreno_pm4types.h
>  create mode 100644 src/gallium/drivers/freedreno/disasm.c
>  create mode 100644 src/gallium/drivers/freedreno/disasm.h
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_a2xx_reg.h
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_blend.c
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_blend.h
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_clear.c
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_clear.h
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_compiler.c
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_compiler.h
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_context.c
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_context.h
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_fence.c
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_fence.h
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_gmem.c
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_gmem.h
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_program.c
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_program.h
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_rasterizer.c
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_rasterizer.h
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_resource.c
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_resource.h
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_screen.c
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_screen.h
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_state.c
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_state.h
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_surface.c
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_surface.h
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_texture.c
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_texture.h
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_util.c
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_util.h
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_vbo.c
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_vbo.h
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_zsa.c
>  create mode 100644 src/gallium/drivers/freedreno/freedreno_zsa.h
>  create mode 100644 src/gallium/drivers/freedreno/instr.h
>  create mode 100644 src/gallium/drivers/freedreno/ir.c
>  create mode 100644 src/gallium/drivers/freedreno/ir.h
>  create mode 100644 src/gallium/targets/dri-freedreno/Makefile.am
>  create mode 100644 src/gallium/targets/dri-freedreno/target.c
>  create mode 100644 src/gallium/winsys/freedreno/drm/.gitignore
>  create mode 100644 src/gallium/winsys/freedreno/drm/Makefile.am
>  create mode 100644 src/gallium/winsys/freedreno/drm/freedreno_drm_public.h
>  create mode 100644 src/gallium/winsys/freedreno/drm/freedreno_drm_winsys.c


More information about the mesa-dev mailing list