freedreno/ir3: split out shader compiler from a3xx
authorRob Clark <robclark@freedesktop.org>
Fri, 25 Jul 2014 15:15:59 +0000 (11:15 -0400)
committerRob Clark <robclark@freedesktop.org>
Fri, 25 Jul 2014 17:29:28 +0000 (13:29 -0400)
commitdb193e5ad06e7a2fbcffb3bb5df85d212eb12291
tree58d1ec24c0af7b1acb1477eeaababe3d7eda6019
parent7d7e6ae9c3544ce1889aa9b8a34545c6f42017e7
freedreno/ir3: split out shader compiler from a3xx

Move the bits we want to share between generations from fd3_program to
ir3_shader.  So overall structure is:

  fdN_shader_stateobj -> ir3_shader -> ir3_shader_variant -> ir3
                                    |- ...
                                    \- ir3_shader_variant -> ir3

So the ir3_shader becomes the topmost generation neutral object, which
manages the set of variants each of which generates, compiles, and
assembles it's own ir.

There is a bit of additional renaming to s/fd3_compiler/ir3_compiler/,
etc.

Keep the split between the gallium level stateobj and the shader helper
object because it might be a good idea to pre-compute some generation
specific register values (ie. anything that is independent of linking).

Signed-off-by: Rob Clark <robclark@freedesktop.org>
39 files changed:
src/gallium/drivers/freedreno/Makefile.am
src/gallium/drivers/freedreno/Makefile.sources
src/gallium/drivers/freedreno/a3xx/disasm-a3xx.c [deleted file]
src/gallium/drivers/freedreno/a3xx/fd3_compiler.c [deleted file]
src/gallium/drivers/freedreno/a3xx/fd3_compiler.h [deleted file]
src/gallium/drivers/freedreno/a3xx/fd3_compiler_old.c [deleted file]
src/gallium/drivers/freedreno/a3xx/fd3_draw.c
src/gallium/drivers/freedreno/a3xx/fd3_emit.c
src/gallium/drivers/freedreno/a3xx/fd3_emit.h
src/gallium/drivers/freedreno/a3xx/fd3_gmem.c
src/gallium/drivers/freedreno/a3xx/fd3_program.c
src/gallium/drivers/freedreno/a3xx/fd3_program.h
src/gallium/drivers/freedreno/a3xx/fd3_util.h
src/gallium/drivers/freedreno/a3xx/instr-a3xx.h [deleted file]
src/gallium/drivers/freedreno/a3xx/ir3.c [deleted file]
src/gallium/drivers/freedreno/a3xx/ir3.h [deleted file]
src/gallium/drivers/freedreno/a3xx/ir3_cp.c [deleted file]
src/gallium/drivers/freedreno/a3xx/ir3_depth.c [deleted file]
src/gallium/drivers/freedreno/a3xx/ir3_dump.c [deleted file]
src/gallium/drivers/freedreno/a3xx/ir3_flatten.c [deleted file]
src/gallium/drivers/freedreno/a3xx/ir3_ra.c [deleted file]
src/gallium/drivers/freedreno/a3xx/ir3_sched.c [deleted file]
src/gallium/drivers/freedreno/a3xx/ir3_visitor.h [deleted file]
src/gallium/drivers/freedreno/ir3/disasm-a3xx.c [new file with mode: 0644]
src/gallium/drivers/freedreno/ir3/instr-a3xx.h [new file with mode: 0644]
src/gallium/drivers/freedreno/ir3/ir3.c [new file with mode: 0644]
src/gallium/drivers/freedreno/ir3/ir3.h [new file with mode: 0644]
src/gallium/drivers/freedreno/ir3/ir3_compiler.c [new file with mode: 0644]
src/gallium/drivers/freedreno/ir3/ir3_compiler.h [new file with mode: 0644]
src/gallium/drivers/freedreno/ir3/ir3_compiler_old.c [new file with mode: 0644]
src/gallium/drivers/freedreno/ir3/ir3_cp.c [new file with mode: 0644]
src/gallium/drivers/freedreno/ir3/ir3_depth.c [new file with mode: 0644]
src/gallium/drivers/freedreno/ir3/ir3_dump.c [new file with mode: 0644]
src/gallium/drivers/freedreno/ir3/ir3_flatten.c [new file with mode: 0644]
src/gallium/drivers/freedreno/ir3/ir3_ra.c [new file with mode: 0644]
src/gallium/drivers/freedreno/ir3/ir3_sched.c [new file with mode: 0644]
src/gallium/drivers/freedreno/ir3/ir3_shader.c [new file with mode: 0644]
src/gallium/drivers/freedreno/ir3/ir3_shader.h [new file with mode: 0644]
src/gallium/drivers/freedreno/ir3/ir3_visitor.h [new file with mode: 0644]