With Broadwell we have the option to run vertex shaders in scalar (SIMD8) mode which potentially gives us better throughput and more vertices per thread dispatch. This patch series implements this by repurposing our fs backend to also work for vertex shaders.
Kristian Høgsberg (14): i965: Don't copy propagate sat MOVs into LOAD_PAYLOAD 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: 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 | 9 +- src/mesa/drivers/dri/i965/brw_context.c | 13 + src/mesa/drivers/dri/i965/brw_context.h | 6 +- src/mesa/drivers/dri/i965/brw_defines.h | 3 + src/mesa/drivers/dri/i965/brw_fs.cpp | 427 +++++++++++++-------- src/mesa/drivers/dri/i965/brw_fs.h | 46 ++- .../drivers/dri/i965/brw_fs_copy_propagation.cpp | 6 +- src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 81 ++-- src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp | 16 +- src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 360 +++++++++++++++-- src/mesa/drivers/dri/i965/brw_gs_surface_state.c | 2 +- src/mesa/drivers/dri/i965/brw_shader.cpp | 18 +- src/mesa/drivers/dri/i965/brw_vec4.cpp | 60 ++- 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/gen8_vs_state.c | 2 + src/mesa/drivers/dri/i965/intel_debug.c | 1 + src/mesa/drivers/dri/i965/intel_debug.h | 1 + 18 files changed, 816 insertions(+), 252 deletions(-) -- 2.1.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev