[Mesa-dev] [PATCH 00/14] First steps to generalize scalar code gen

Jordan Justen jordan.l.justen at intel.com
Mon Sep 1 09:44:24 PDT 2014


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



More information about the mesa-dev mailing list