freedreno: gallium driver for adreno
authorRob Clark <robclark@freedesktop.org>
Sat, 27 Oct 2012 16:07:34 +0000 (11:07 -0500)
committerRob Clark <robdclark@gmail.com>
Tue, 12 Mar 2013 01:53:24 +0000 (21:53 -0400)
commit6173cc19c45d92ef0b7bc6aa008aa89bb29abbda
tree50b2d2fca779e88ad8f143d08901dfb01fc36096
parent44a8e5135470fa51ae36b304f3c5286bf9cca259
freedreno: gallium driver for adreno

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.

v1: original
v2: build file updates from review comments, and remove GPL licensed
    header files from msm kernel
v3: smarter temp/pred register assignment, fix clear and depth/stencil
    format issues, resource_transfer fixes, scissor fixes

Signed-off-by: Rob Clark <robdclark@gmail.com>
49 files changed:
configure.ac
src/gallium/drivers/freedreno/Makefile.am [new file with mode: 0644]
src/gallium/drivers/freedreno/disasm.c [new file with mode: 0644]
src/gallium/drivers/freedreno/disasm.h [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_a2xx_reg.h [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_blend.c [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_blend.h [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_clear.c [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_clear.h [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_compiler.c [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_compiler.h [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_context.c [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_context.h [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_fence.c [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_fence.h [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_gmem.c [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_gmem.h [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_pm4.h [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_program.c [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_program.h [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_rasterizer.c [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_rasterizer.h [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_resource.c [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_resource.h [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_screen.c [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_screen.h [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_state.c [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_state.h [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_surface.c [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_surface.h [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_texture.c [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_texture.h [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_util.c [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_util.h [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_vbo.c [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_vbo.h [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_zsa.c [new file with mode: 0644]
src/gallium/drivers/freedreno/freedreno_zsa.h [new file with mode: 0644]
src/gallium/drivers/freedreno/instr.h [new file with mode: 0644]
src/gallium/drivers/freedreno/ir.c [new file with mode: 0644]
src/gallium/drivers/freedreno/ir.h [new file with mode: 0644]
src/gallium/targets/dri-freedreno/Makefile.am [new file with mode: 0644]
src/gallium/targets/dri-freedreno/target.c [new file with mode: 0644]
src/gallium/targets/egl-static/Makefile.am
src/gallium/targets/egl-static/egl_pipe.c
src/gallium/winsys/freedreno/drm/.gitignore [new file with mode: 0644]
src/gallium/winsys/freedreno/drm/Makefile.am [new file with mode: 0644]
src/gallium/winsys/freedreno/drm/freedreno_drm_public.h [new file with mode: 0644]
src/gallium/winsys/freedreno/drm/freedreno_drm_winsys.c [new file with mode: 0644]