[Mesa-dev] [PATCH 00/13] i965: Make LOAD_PAYLOAD sane again

Jason Ekstrand jason at jlekstrand.net
Wed Apr 1 18:19:11 PDT 2015


This patch series comes with two apologies.  First, is for the fact that
most of it has to be squashed into a single super-commit.  Unfortunately,
this is one of those things that can't really be done incrementally.
Second, is for the absolute disaster that I left LOAD_PAYLOAD in at the end
of my send-from-GRF series.  That was the first time I had ever touched the
compiler and I didn't know what I was doing.

This series makes LOAD_PAYLOAD far more sane.  For details on how the new
LOAD_PAYLOAD works, see patch 09/13.  Also, It's less code. :-)

Jason Ekstrand (13):
  i965/fs_cse: Factor out code to create copy instructions
  i965: Change header_present to header_size in backend_instruction
  i965/register_coalesce: Do register size checks before is_copy_payload
  i965/fs_inst: Add an is_copy_payload helper
  i965/fs: Make emit_single_fb_write take an explicit exec_size
  i965/fs: Make LOAD_PAYLOAD take a header size
  i965/fs: Rework fs_visitor::LOAD_PAYLOAD
  SQUASH: i965/fs: Make destinations of load_payload have the
    appropreate width
  SQUASH: i965/fs: Rework fs_visitor::lower_load_payload
  SQUASH: i965/fs_cse: Support the new-style LOAD_PAYLOAD
  SQUASH: i965/fs_inst::is_copy_payload: Support the new-style
    LOAD_PAYLOAD
  SQUASH: i965/fs: Set up fb-write payloads directly
  i965/fs_inst: Get rid of the effective_width field

 src/mesa/drivers/dri/i965/brw_blorp_blit_eu.cpp    |   4 +-
 src/mesa/drivers/dri/i965/brw_fs.cpp               | 212 ++++++++++--------
 src/mesa/drivers/dri/i965/brw_fs.h                 |   7 +-
 src/mesa/drivers/dri/i965/brw_fs_cse.cpp           | 113 +++++-----
 src/mesa/drivers/dri/i965/brw_fs_generator.cpp     |  20 +-
 .../drivers/dri/i965/brw_fs_register_coalesce.cpp  |  20 +-
 src/mesa/drivers/dri/i965/brw_fs_visitor.cpp       | 246 +++++++--------------
 src/mesa/drivers/dri/i965/brw_ir_fs.h              |   1 +
 src/mesa/drivers/dri/i965/brw_shader.h             |   3 +-
 src/mesa/drivers/dri/i965/brw_vec4.cpp             |   2 +-
 src/mesa/drivers/dri/i965/brw_vec4_generator.cpp   |   6 +-
 src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp     |  14 +-
 12 files changed, 285 insertions(+), 363 deletions(-)

-- 
2.3.4



More information about the mesa-dev mailing list