freedreno/ir3: split out shader compiler from a3xx

Graphics / Mesa 3D Graphics Library / Mesa - Rob Clark [freedesktop.org] - 25 July 2014 12:29 UTC

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).

db193e5 freedreno/ir3: split out shader compiler from a3xx
src/gallium/drivers/freedreno/Makefile.am | 4 +-
src/gallium/drivers/freedreno/Makefile.sources | 25 +-
src/gallium/drivers/freedreno/a3xx/disasm-a3xx.c | 805 ------
src/gallium/drivers/freedreno/a3xx/fd3_compiler.c | 2638 -------------------
src/gallium/drivers/freedreno/a3xx/fd3_compiler.h | 43 -
.../drivers/freedreno/a3xx/fd3_compiler_old.c | 1524 -----------
src/gallium/drivers/freedreno/a3xx/fd3_draw.c | 10 +-
src/gallium/drivers/freedreno/a3xx/fd3_emit.c | 10 +-
src/gallium/drivers/freedreno/a3xx/fd3_emit.h | 6 +-
src/gallium/drivers/freedreno/a3xx/fd3_gmem.c | 2 +-
src/gallium/drivers/freedreno/a3xx/fd3_program.c | 217 +-
src/gallium/drivers/freedreno/a3xx/fd3_program.h | 123 +-
src/gallium/drivers/freedreno/a3xx/fd3_util.h | 18 -
src/gallium/drivers/freedreno/a3xx/instr-a3xx.h | 691 -----
src/gallium/drivers/freedreno/a3xx/ir3.c | 675 -----
src/gallium/drivers/freedreno/a3xx/ir3.h | 480 ----
src/gallium/drivers/freedreno/a3xx/ir3_cp.c | 158 --
src/gallium/drivers/freedreno/a3xx/ir3_depth.c | 159 --
src/gallium/drivers/freedreno/a3xx/ir3_dump.c | 425 ----
src/gallium/drivers/freedreno/a3xx/ir3_flatten.c | 155 --
src/gallium/drivers/freedreno/a3xx/ir3_ra.c | 790 ------
src/gallium/drivers/freedreno/a3xx/ir3_sched.c | 401 ---
src/gallium/drivers/freedreno/a3xx/ir3_visitor.h | 154 --
src/gallium/drivers/freedreno/ir3/disasm-a3xx.c | 805 ++++++
src/gallium/drivers/freedreno/ir3/instr-a3xx.h | 691 +++++
src/gallium/drivers/freedreno/ir3/ir3.c | 675 +++++
src/gallium/drivers/freedreno/ir3/ir3.h | 480 ++++
src/gallium/drivers/freedreno/ir3/ir3_compiler.c | 2639 ++++++++++++++++++++
src/gallium/drivers/freedreno/ir3/ir3_compiler.h | 42 +
.../drivers/freedreno/ir3/ir3_compiler_old.c | 1524 +++++++++++
src/gallium/drivers/freedreno/ir3/ir3_cp.c | 158 ++
src/gallium/drivers/freedreno/ir3/ir3_depth.c | 159 ++
src/gallium/drivers/freedreno/ir3/ir3_dump.c | 425 ++++
src/gallium/drivers/freedreno/ir3/ir3_flatten.c | 155 ++
src/gallium/drivers/freedreno/ir3/ir3_ra.c | 790 ++++++
src/gallium/drivers/freedreno/ir3/ir3_sched.c | 401 +++
src/gallium/drivers/freedreno/ir3/ir3_shader.c | 211 ++
src/gallium/drivers/freedreno/ir3/ir3_shader.h | 163 ++
src/gallium/drivers/freedreno/ir3/ir3_visitor.h | 154 ++
39 files changed, 9544 insertions(+), 9441 deletions(-)

Upstream: cgit.freedesktop.org


  • Share