vc4: Initial skeleton driver import.
authorEric Anholt <eric@anholt.net>
Thu, 19 Jun 2014 07:19:38 +0000 (08:19 +0100)
committerEric Anholt <eric@anholt.net>
Sat, 9 Aug 2014 01:59:46 +0000 (18:59 -0700)
commit1850d0a1cbf044dc4d29b7a9ede2c634f667d853
tree80af7674f5160d9ae740958aad047786b2646539
parentf017e32c0add05b588f5f6a4bea16b84b8a051eb
vc4: Initial skeleton driver import.

This mostly just takes every draw call and turns it into a sequence of
commands that clear the FBO and draw a single shaded triangle to it,
regardless of the actual input vertices or shaders.  I copied the initial
driver skeleton mostly from freedreno, and I've preserved Rob Clark's
copyright for those.  I also based my initial hardcoded shaders and
command lists on Scott Mansell (phire)'s "hackdriver" project, though the
bit patterns of the shaders emitted end up being different.

v2: Rebase on gallium megadrivers changes.
v3: Rebase on PIPE_SHADER_CAP_MAX_CONSTS change.
v4: Rely on simpenrose actually being installed when building for
    simulation.
v5: Add more header duplicate-include guards.
v6: Apply Emil's review (protection against vc4 sim and ilo at the same
    time, and dropping the dricommon drm bits) and fix a copyright header
    (thanks, Roland)
34 files changed:
configure.ac
src/gallium/auxiliary/target-helpers/inline_drm_helper.h
src/gallium/drivers/Makefile.am
src/gallium/drivers/vc4/.dir-locals.el [new file with mode: 0644]
src/gallium/drivers/vc4/Makefile.am [new file with mode: 0644]
src/gallium/drivers/vc4/Makefile.sources [new file with mode: 0644]
src/gallium/drivers/vc4/vc4_bufmgr.c [new file with mode: 0644]
src/gallium/drivers/vc4/vc4_bufmgr.h [new file with mode: 0644]
src/gallium/drivers/vc4/vc4_cl.c [new file with mode: 0644]
src/gallium/drivers/vc4/vc4_cl.h [new file with mode: 0644]
src/gallium/drivers/vc4/vc4_context.c [new file with mode: 0644]
src/gallium/drivers/vc4/vc4_context.h [new file with mode: 0644]
src/gallium/drivers/vc4/vc4_draw.c [new file with mode: 0644]
src/gallium/drivers/vc4/vc4_drm.h [new file with mode: 0644]
src/gallium/drivers/vc4/vc4_emit.c [new file with mode: 0644]
src/gallium/drivers/vc4/vc4_packet.h [new file with mode: 0644]
src/gallium/drivers/vc4/vc4_program.c [new file with mode: 0644]
src/gallium/drivers/vc4/vc4_qpu.c [new file with mode: 0644]
src/gallium/drivers/vc4/vc4_qpu.h [new file with mode: 0644]
src/gallium/drivers/vc4/vc4_qpu_defines.h [new file with mode: 0644]
src/gallium/drivers/vc4/vc4_qpu_disasm.c [new file with mode: 0644]
src/gallium/drivers/vc4/vc4_qpu_validate.c [new file with mode: 0644]
src/gallium/drivers/vc4/vc4_resource.c [new file with mode: 0644]
src/gallium/drivers/vc4/vc4_resource.h [new file with mode: 0644]
src/gallium/drivers/vc4/vc4_screen.c [new file with mode: 0644]
src/gallium/drivers/vc4/vc4_screen.h [new file with mode: 0644]
src/gallium/drivers/vc4/vc4_simulator.c [new file with mode: 0644]
src/gallium/drivers/vc4/vc4_state.c [new file with mode: 0644]
src/gallium/targets/dri/Makefile.am
src/gallium/winsys/Makefile.am
src/gallium/winsys/vc4/drm/Makefile.am [new file with mode: 0644]
src/gallium/winsys/vc4/drm/Makefile.sources [new file with mode: 0644]
src/gallium/winsys/vc4/drm/vc4_drm_public.h [new file with mode: 0644]
src/gallium/winsys/vc4/drm/vc4_drm_winsys.c [new file with mode: 0644]