[Mesa-dev] [PATCH 00/14] SIMD8 vertex shaders for BDW+

Kristian Høgsberg krh at bitplanet.net
Tue Oct 28 15:17:43 PDT 2014


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



More information about the mesa-dev mailing list