Hi, Here's v2 of the patch series. It incorportes Matts review comments and adds a new patch to refactor the way we call fs_generator. The idea is to get rid of the MESA_SHADER_FS assertion in generate_assembly)() in a nicer way. Now we call generate_code() two times with different dispatch with instead, which returns the offset in the assembly where we put the generated code.
Kristian Kristian Høgsberg (16): i965: Don't copy propagate sat MOVs into LOAD_PAYLOAD i965: Refactor fs_generator API i965: Generalize fs_generator further i965: Set shader name for generator from call site i965: Remove shader program argument and member from fs_generator i965: Add SIMD8 URB write low-level IR instruction i965: Add new SIMD8 VS prog data flag i965: Consolidate code to get struct brw_sampler_prog_key_data i965: Prepare for using the ATTR register file in the fs backend i965: Rename brw_vec4_prog_data to brw_vue_prog_data i965: Move more code into codegen-branch of the fs_visitor::run() if statement i965: Move fs_visitor optimization pass into new method fs_visitor::optimize() i965: Move fs_visitor ra pass to new fs_visitor::allocate_registers() i965: Add fs_visitor::run_vs() to generate scalar vertex shader code i965: Clean up fs_visitor::run and rename to run_fs i965: Generate vs code using scalar backend for BDW+ src/mesa/drivers/dri/i965/brw_blorp_blit_eu.cpp | 13 +- src/mesa/drivers/dri/i965/brw_context.c | 13 + src/mesa/drivers/dri/i965/brw_context.h | 23 +- src/mesa/drivers/dri/i965/brw_defines.h | 5 + src/mesa/drivers/dri/i965/brw_fs.cpp | 436 +++++++++++++-------- src/mesa/drivers/dri/i965/brw_fs.h | 51 ++- .../drivers/dri/i965/brw_fs_copy_propagation.cpp | 6 +- src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 121 +++--- src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp | 16 +- src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 351 +++++++++++++++-- src/mesa/drivers/dri/i965/brw_gs_surface_state.c | 2 +- src/mesa/drivers/dri/i965/brw_shader.cpp | 21 +- src/mesa/drivers/dri/i965/brw_vec4.cpp | 66 +++- src/mesa/drivers/dri/i965/brw_vec4.h | 18 +- src/mesa/drivers/dri/i965/brw_vec4_generator.cpp | 4 +- src/mesa/drivers/dri/i965/brw_vec4_gs.c | 4 +- src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp | 2 +- src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.h | 2 +- src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 4 +- src/mesa/drivers/dri/i965/brw_vs.c | 10 +- src/mesa/drivers/dri/i965/brw_vs.h | 2 +- src/mesa/drivers/dri/i965/brw_vs_surface_state.c | 10 +- src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 7 +- src/mesa/drivers/dri/i965/gen6_gs_state.c | 2 +- src/mesa/drivers/dri/i965/gen7_gs_state.c | 2 +- src/mesa/drivers/dri/i965/gen8_gs_state.c | 2 +- src/mesa/drivers/dri/i965/gen8_vs_state.c | 4 +- src/mesa/drivers/dri/i965/intel_debug.c | 1 + src/mesa/drivers/dri/i965/intel_debug.h | 1 + 29 files changed, 869 insertions(+), 330 deletions(-) -- 2.1.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev