This starts the process of generalizing the scalar code gen so it can be used for other stages beyond FS.
These changes are enough to allow code for a basic compute shader to be generated. (With some more CS patches added...) No piglit regressions were seen on gen7. git://people.freedesktop.org/~jljusten/mesa fs-to-scalar Jordan Justen (14): i965: Rename brw_fs.h to brw_scalar.h i965: Rename fs_generator to scalar_generator i965: Rename fs_visitor to scalar_visitor i965/scalar_visitor: Add init function i965: Allow brw_scalar.h to be included in C files i965: Add brw_scalar_prog_data structure i965: Add brw_scalar_prog_key structure i965/scalar_visitor: Use stage_prog_data instead of prog_data->base i965/scalar_visitor: Use prog rather than fp->Base i965/fs: Use gl_program* rather than fp->Base i965: Add uses_kill to brw_scalar_prog_data i965: Add uses_dfdy to brw_scalar_prog_data i965: Remove gl_fragment_program dependence in scalar_generator i965: Don't store gl_fragment_program in scalar_visitor src/mesa/drivers/dri/i965/Makefile.sources | 5 +- src/mesa/drivers/dri/i965/brw_blorp_blit_eu.cpp | 4 +- src/mesa/drivers/dri/i965/brw_blorp_blit_eu.h | 4 +- src/mesa/drivers/dri/i965/brw_context.h | 17 +- src/mesa/drivers/dri/i965/brw_curbe.c | 6 +- src/mesa/drivers/dri/i965/brw_fs.cpp | 236 +- src/mesa/drivers/dri/i965/brw_fs.h | 699 ----- .../drivers/dri/i965/brw_fs_copy_propagation.cpp | 10 +- src/mesa/drivers/dri/i965/brw_fs_cse.cpp | 6 +- .../dri/i965/brw_fs_dead_code_eliminate.cpp | 4 +- src/mesa/drivers/dri/i965/brw_fs_fp.cpp | 52 +- src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 2009 ------------ .../drivers/dri/i965/brw_fs_live_variables.cpp | 8 +- src/mesa/drivers/dri/i965/brw_fs_live_variables.h | 6 +- .../dri/i965/brw_fs_peephole_predicated_break.cpp | 4 +- src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp | 24 +- .../drivers/dri/i965/brw_fs_register_coalesce.cpp | 4 +- .../dri/i965/brw_fs_saturate_propagation.cpp | 6 +- src/mesa/drivers/dri/i965/brw_fs_sel_peephole.cpp | 4 +- src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 3304 ------------------- src/mesa/drivers/dri/i965/brw_program.h | 24 + src/mesa/drivers/dri/i965/brw_scalar.c | 43 + src/mesa/drivers/dri/i965/brw_scalar.h | 714 +++++ src/mesa/drivers/dri/i965/brw_scalar_generator.cpp | 2011 ++++++++++++ src/mesa/drivers/dri/i965/brw_scalar_visitor.cpp | 3313 ++++++++++++++++++++ .../drivers/dri/i965/brw_schedule_instructions.cpp | 10 +- src/mesa/drivers/dri/i965/brw_shader.cpp | 2 +- src/mesa/drivers/dri/i965/brw_wm.c | 31 +- src/mesa/drivers/dri/i965/brw_wm.h | 24 +- src/mesa/drivers/dri/i965/brw_wm_iz.cpp | 6 +- src/mesa/drivers/dri/i965/brw_wm_state.c | 28 +- src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 10 +- src/mesa/drivers/dri/i965/gen6_clip_state.c | 2 +- src/mesa/drivers/dri/i965/gen6_sf_state.c | 4 +- src/mesa/drivers/dri/i965/gen6_surface_state.c | 2 +- src/mesa/drivers/dri/i965/gen6_wm_state.c | 34 +- src/mesa/drivers/dri/i965/gen7_sf_state.c | 2 +- src/mesa/drivers/dri/i965/gen7_wm_state.c | 36 +- src/mesa/drivers/dri/i965/gen7_wm_surface_state.c | 4 +- src/mesa/drivers/dri/i965/gen8_ps_state.c | 32 +- src/mesa/drivers/dri/i965/gen8_sf_state.c | 2 +- src/mesa/drivers/dri/i965/gen8_surface_state.c | 4 +- 42 files changed, 6424 insertions(+), 6326 deletions(-) delete mode 100644 src/mesa/drivers/dri/i965/brw_fs.h delete mode 100644 src/mesa/drivers/dri/i965/brw_fs_generator.cpp delete mode 100644 src/mesa/drivers/dri/i965/brw_fs_visitor.cpp create mode 100644 src/mesa/drivers/dri/i965/brw_scalar.c create mode 100644 src/mesa/drivers/dri/i965/brw_scalar.h create mode 100644 src/mesa/drivers/dri/i965/brw_scalar_generator.cpp create mode 100644 src/mesa/drivers/dri/i965/brw_scalar_visitor.cpp -- 2.1.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev