Mesa (master): freedreno: gallium driver for adreno
Rob Clark
robclark at kemper.freedesktop.org
Tue Mar 12 01:59:29 UTC 2013
Module: Mesa
Branch: master
Commit: 6173cc19c45d92ef0b7bc6aa008aa89bb29abbda
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6173cc19c45d92ef0b7bc6aa008aa89bb29abbda
Author: Rob Clark <robclark at freedesktop.org>
Date: Sat Oct 27 11:07:34 2012 -0500
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 at gmail.com>
---
configure.ac | 14 +-
src/gallium/drivers/freedreno/Makefile.am | 32 +
src/gallium/drivers/freedreno/disasm.c | 632 +++++++++++
src/gallium/drivers/freedreno/disasm.h | 40 +
src/gallium/drivers/freedreno/freedreno_a2xx_reg.h | 1172 +++++++++++++++++++
src/gallium/drivers/freedreno/freedreno_blend.c | 175 +++
src/gallium/drivers/freedreno/freedreno_blend.h | 44 +
src/gallium/drivers/freedreno/freedreno_clear.c | 224 ++++
src/gallium/drivers/freedreno/freedreno_clear.h | 37 +
src/gallium/drivers/freedreno/freedreno_compiler.c | 1186 ++++++++++++++++++++
src/gallium/drivers/freedreno/freedreno_compiler.h | 38 +
src/gallium/drivers/freedreno/freedreno_context.c | 205 ++++
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 | 491 ++++++++
src/gallium/drivers/freedreno/freedreno_gmem.h | 37 +
src/gallium/drivers/freedreno/freedreno_pm4.h | 86 ++
src/gallium/drivers/freedreno/freedreno_program.c | 506 +++++++++
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 | 51 +
src/gallium/drivers/freedreno/freedreno_screen.c | 471 ++++++++
src/gallium/drivers/freedreno/freedreno_screen.h | 70 ++
src/gallium/drivers/freedreno/freedreno_state.c | 641 +++++++++++
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 | 351 ++++++
src/gallium/drivers/freedreno/freedreno_util.h | 124 ++
src/gallium/drivers/freedreno/freedreno_vbo.c | 232 ++++
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 | 386 +++++++
src/gallium/drivers/freedreno/ir.c | 701 ++++++++++++
src/gallium/drivers/freedreno/ir.h | 243 ++++
src/gallium/targets/dri-freedreno/Makefile.am | 71 ++
src/gallium/targets/dri-freedreno/target.c | 20 +
src/gallium/targets/egl-static/Makefile.am | 9 +
src/gallium/targets/egl-static/egl_pipe.c | 22 +
src/gallium/winsys/freedreno/drm/.gitignore | 1 +
src/gallium/winsys/freedreno/drm/Makefile.am | 32 +
.../winsys/freedreno/drm/freedreno_drm_public.h | 9 +
.../winsys/freedreno/drm/freedreno_drm_winsys.c | 18 +
49 files changed, 9973 insertions(+), 1 deletions(-)
Diff: http://cgit.freedesktop.org/mesa/mesa/diff/?id=6173cc19c45d92ef0b7bc6aa008aa89bb29abbda
More information about the mesa-commit
mailing list