Moves drm and the ir3 compiler to src/freedreno so it can be eventually re-used by vulkan driver.
I mostly just wanted to get the splitup and move of ir3 out of the way now before I embark on some ir3 refactoring to handle some of the instructions that use a different encoding on a6xx+ vs earlier gens. Rob Clark (14): freedreno/drm: remove dependency on gallium driver freedreno: move drm to common location freedreno/ir3: standalone compiler updates freedreno: shader_t -> gl_shader_stage freedreno: remove shader_stage_name() freedreno: FD_SHADER_DEBUG -> IR3_SHADER_DEBUG freedreno/ir3: move disasm and optmsgs debug flags util: env_var_as_unsigned() helper freedreno/ir3: use env_var_as_unsigned() freedreno/ir3: some header file cleanup freedreno/ir3: remove pipe_stream_output_info dependency freedreno/ir3: split up ir3_shader freedreno/ir3: remove u_inlines usage freedreno: move ir3 to common location configure.ac | 2 + src/Makefile.am | 4 + src/freedreno/Makefile.am | 76 +++ src/freedreno/Makefile.sources | 41 ++ .../drivers => }/freedreno/drm/freedreno_bo.c | 0 .../freedreno/drm/freedreno_bo_cache.c | 0 .../freedreno/drm/freedreno_device.c | 0 .../freedreno/drm/freedreno_drmif.h | 0 .../freedreno/drm/freedreno_pipe.c | 0 .../freedreno/drm/freedreno_priv.h | 0 .../freedreno/drm/freedreno_ringbuffer.c | 0 .../freedreno/drm/freedreno_ringbuffer.h | 0 src/freedreno/drm/meson.build | 54 ++ .../drivers => }/freedreno/drm/msm_bo.c | 0 .../drivers => }/freedreno/drm/msm_device.c | 0 .../drivers => }/freedreno/drm/msm_drm.h | 0 .../drivers => }/freedreno/drm/msm_pipe.c | 13 +- .../drivers => }/freedreno/drm/msm_priv.h | 0 .../freedreno/drm/msm_ringbuffer.c | 0 .../freedreno/drm/msm_ringbuffer_sp.c | 0 .../drivers => }/freedreno/ir3/disasm-a3xx.c | 7 +- .../drivers => }/freedreno/ir3/instr-a3xx.h | 3 + src/{gallium/drivers => }/freedreno/ir3/ir3.c | 3 +- src/{gallium/drivers => }/freedreno/ir3/ir3.h | 5 +- .../drivers => }/freedreno/ir3/ir3_compiler.c | 15 + .../drivers => }/freedreno/ir3/ir3_compiler.h | 23 + .../freedreno/ir3/ir3_compiler_nir.c | 103 ++-- .../drivers => }/freedreno/ir3/ir3_cp.c | 2 +- .../drivers => }/freedreno/ir3/ir3_depth.c | 0 .../drivers => }/freedreno/ir3/ir3_group.c | 2 - .../drivers => }/freedreno/ir3/ir3_legalize.c | 3 +- .../drivers => }/freedreno/ir3/ir3_nir.c | 21 +- .../drivers => }/freedreno/ir3/ir3_nir.h | 1 - .../freedreno/ir3/ir3_nir_lower_tg4_to_tex.c | 0 .../freedreno/ir3/ir3_nir_trig.py | 0 .../drivers => }/freedreno/ir3/ir3_print.c | 0 .../drivers => }/freedreno/ir3/ir3_ra.c | 8 +- .../drivers => }/freedreno/ir3/ir3_sched.c | 0 src/freedreno/ir3/ir3_shader.c | 436 ++++++++++++++++ .../drivers => }/freedreno/ir3/ir3_shader.h | 113 ++-- src/freedreno/ir3/meson.build | 64 +++ src/freedreno/meson.build | 24 + src/gallium/drivers/freedreno/Android.mk | 1 - src/gallium/drivers/freedreno/Automake.inc | 2 + src/gallium/drivers/freedreno/Makefile.am | 37 +- .../drivers/freedreno/Makefile.sources | 40 +- .../drivers/freedreno/a2xx/disasm-a2xx.c | 10 +- .../drivers/freedreno/a2xx/fd2_program.c | 16 +- .../drivers/freedreno/a2xx/fd2_program.h | 2 +- .../drivers/freedreno/a3xx/fd3_context.h | 2 +- src/gallium/drivers/freedreno/a3xx/fd3_emit.c | 8 +- src/gallium/drivers/freedreno/a3xx/fd3_emit.h | 2 +- .../drivers/freedreno/a3xx/fd3_program.c | 8 +- .../drivers/freedreno/a3xx/fd3_program.h | 3 +- .../drivers/freedreno/a3xx/fd3_screen.c | 3 +- .../drivers/freedreno/a4xx/fd4_context.h | 2 +- src/gallium/drivers/freedreno/a4xx/fd4_emit.c | 4 +- src/gallium/drivers/freedreno/a4xx/fd4_emit.h | 2 +- .../drivers/freedreno/a4xx/fd4_program.c | 6 +- .../drivers/freedreno/a4xx/fd4_program.h | 3 +- .../drivers/freedreno/a4xx/fd4_screen.c | 3 +- .../drivers/freedreno/a5xx/fd5_context.h | 2 +- src/gallium/drivers/freedreno/a5xx/fd5_emit.c | 6 +- src/gallium/drivers/freedreno/a5xx/fd5_emit.h | 2 +- .../drivers/freedreno/a5xx/fd5_program.c | 14 +- .../drivers/freedreno/a5xx/fd5_program.h | 3 +- .../drivers/freedreno/a5xx/fd5_screen.c | 2 +- .../drivers/freedreno/a6xx/fd6_context.h | 2 +- src/gallium/drivers/freedreno/a6xx/fd6_emit.c | 20 +- src/gallium/drivers/freedreno/a6xx/fd6_emit.h | 10 +- .../drivers/freedreno/a6xx/fd6_program.c | 20 +- .../drivers/freedreno/a6xx/fd6_program.h | 3 +- .../drivers/freedreno/a6xx/fd6_screen.c | 2 +- src/gallium/drivers/freedreno/disasm.h | 53 +- .../drivers/freedreno/freedreno_context.h | 4 +- .../drivers/freedreno/freedreno_screen.c | 15 +- .../drivers/freedreno/freedreno_util.h | 22 +- src/gallium/drivers/freedreno/ir3/ir3_cache.c | 4 +- src/gallium/drivers/freedreno/ir3/ir3_cache.h | 2 +- .../drivers/freedreno/ir3/ir3_cmdline.c | 69 +-- .../ir3/{ir3_shader.c => ir3_gallium.c} | 482 ++---------------- .../drivers/freedreno/ir3/ir3_gallium.h | 55 ++ src/gallium/drivers/freedreno/meson.build | 65 +-- src/gallium/winsys/freedreno/drm/Makefile.am | 1 + src/gallium/winsys/freedreno/drm/meson.build | 1 + src/meson.build | 3 + src/util/debug.c | 12 + src/util/debug.h | 2 + 88 files changed, 1182 insertions(+), 871 deletions(-) create mode 100644 src/freedreno/Makefile.am create mode 100644 src/freedreno/Makefile.sources rename src/{gallium/drivers => }/freedreno/drm/freedreno_bo.c (100%) rename src/{gallium/drivers => }/freedreno/drm/freedreno_bo_cache.c (100%) rename src/{gallium/drivers => }/freedreno/drm/freedreno_device.c (100%) rename src/{gallium/drivers => }/freedreno/drm/freedreno_drmif.h (100%) rename src/{gallium/drivers => }/freedreno/drm/freedreno_pipe.c (100%) rename src/{gallium/drivers => }/freedreno/drm/freedreno_priv.h (100%) rename src/{gallium/drivers => }/freedreno/drm/freedreno_ringbuffer.c (100%) rename src/{gallium/drivers => }/freedreno/drm/freedreno_ringbuffer.h (100%) create mode 100644 src/freedreno/drm/meson.build rename src/{gallium/drivers => }/freedreno/drm/msm_bo.c (100%) rename src/{gallium/drivers => }/freedreno/drm/msm_device.c (100%) rename src/{gallium/drivers => }/freedreno/drm/msm_drm.h (100%) rename src/{gallium/drivers => }/freedreno/drm/msm_pipe.c (96%) rename src/{gallium/drivers => }/freedreno/drm/msm_priv.h (100%) rename src/{gallium/drivers => }/freedreno/drm/msm_ringbuffer.c (100%) rename src/{gallium/drivers => }/freedreno/drm/msm_ringbuffer_sp.c (100%) rename src/{gallium/drivers => }/freedreno/ir3/disasm-a3xx.c (99%) rename src/{gallium/drivers => }/freedreno/ir3/instr-a3xx.h (99%) rename src/{gallium/drivers => }/freedreno/ir3/ir3.c (99%) rename src/{gallium/drivers => }/freedreno/ir3/ir3.h (99%) rename src/{gallium/drivers => }/freedreno/ir3/ir3_compiler.c (76%) rename src/{gallium/drivers => }/freedreno/ir3/ir3_compiler.h (79%) rename src/{gallium/drivers => }/freedreno/ir3/ir3_compiler_nir.c (97%) rename src/{gallium/drivers => }/freedreno/ir3/ir3_cp.c (99%) rename src/{gallium/drivers => }/freedreno/ir3/ir3_depth.c (100%) rename src/{gallium/drivers => }/freedreno/ir3/ir3_group.c (99%) rename src/{gallium/drivers => }/freedreno/ir3/ir3_legalize.c (99%) rename src/{gallium/drivers => }/freedreno/ir3/ir3_nir.c (95%) rename src/{gallium/drivers => }/freedreno/ir3/ir3_nir.h (96%) rename src/{gallium/drivers => }/freedreno/ir3/ir3_nir_lower_tg4_to_tex.c (100%) rename src/{gallium/drivers => }/freedreno/ir3/ir3_nir_trig.py (100%) rename src/{gallium/drivers => }/freedreno/ir3/ir3_print.c (100%) rename src/{gallium/drivers => }/freedreno/ir3/ir3_ra.c (99%) rename src/{gallium/drivers => }/freedreno/ir3/ir3_sched.c (100%) create mode 100644 src/freedreno/ir3/ir3_shader.c rename src/{gallium/drivers => }/freedreno/ir3/ir3_shader.h (85%) create mode 100644 src/freedreno/ir3/meson.build create mode 100644 src/freedreno/meson.build rename src/gallium/drivers/freedreno/ir3/{ir3_shader.c => ir3_gallium.c} (60%) create mode 100644 src/gallium/drivers/freedreno/ir3/ir3_gallium.h -- 2.19.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev