[Mesa-dev] [v2] i965/blorp: State emission optimizations

Topi Pohjolainen topi.pohjolainen at intel.com
Fri Apr 22 18:05:22 UTC 2016


Ken came up with an idea to introduce new state flag for blorp and
to use it instead of trashing all the other bits. This series
introduces the flag and makes every atom to track it by default.
Finally blorp is made to track base state address and urb setup
allowing one to skip unnecessary re-emissions.

Kenneth Graunke (1):
  i965: Make all atoms to track BRW_NEW_BLORP by default

Topi Pohjolainen (6):
  i965: Remove pointers to non-existing atoms
  i965/blorp/gen6: Use normal base state address setup
  i965: Introduce state flag for blorp
  i965/blorp: Use BRW_NEW_BLORP instead of trashing all state bits
  i965/blorp: Reconfigure base state address only if needed
  i965/blorp: Do not tricker re-emission of base state address

 src/mesa/drivers/dri/i965/brw_binding_tables.c     | 10 ++++-
 src/mesa/drivers/dri/i965/brw_blorp.cpp            |  4 +-
 src/mesa/drivers/dri/i965/brw_blorp.h              |  4 --
 src/mesa/drivers/dri/i965/brw_cc.c                 |  7 ++-
 src/mesa/drivers/dri/i965/brw_clip.c               |  3 +-
 src/mesa/drivers/dri/i965/brw_clip_state.c         |  1 +
 src/mesa/drivers/dri/i965/brw_context.h            |  2 +
 src/mesa/drivers/dri/i965/brw_curbe.c              |  2 +
 src/mesa/drivers/dri/i965/brw_draw_upload.c        |  5 ++-
 src/mesa/drivers/dri/i965/brw_gs_state.c           |  1 +
 src/mesa/drivers/dri/i965/brw_gs_surface_state.c   |  4 ++
 src/mesa/drivers/dri/i965/brw_interpolation_map.c  |  3 +-
 src/mesa/drivers/dri/i965/brw_misc_state.c         | 22 ++++++---
 src/mesa/drivers/dri/i965/brw_primitive_restart.c  |  3 +-
 src/mesa/drivers/dri/i965/brw_sampler_state.c      |  6 +++
 src/mesa/drivers/dri/i965/brw_sf.c                 |  3 +-
 src/mesa/drivers/dri/i965/brw_sf_state.c           |  4 +-
 src/mesa/drivers/dri/i965/brw_state.h              |  8 ----
 src/mesa/drivers/dri/i965/brw_state_upload.c       |  1 +
 src/mesa/drivers/dri/i965/brw_tcs_surface_state.c  |  4 ++
 src/mesa/drivers/dri/i965/brw_tes_surface_state.c  |  4 ++
 src/mesa/drivers/dri/i965/brw_urb.c                |  3 +-
 src/mesa/drivers/dri/i965/brw_vs_state.c           |  1 +
 src/mesa/drivers/dri/i965/brw_vs_surface_state.c   |  4 ++
 src/mesa/drivers/dri/i965/brw_wm_state.c           |  1 +
 src/mesa/drivers/dri/i965/brw_wm_surface_state.c   | 16 ++++++-
 src/mesa/drivers/dri/i965/gen6_blorp.cpp           | 52 ++--------------------
 src/mesa/drivers/dri/i965/gen6_cc.c                |  2 +
 src/mesa/drivers/dri/i965/gen6_clip_state.c        |  6 ++-
 src/mesa/drivers/dri/i965/gen6_depthstencil.c      |  1 +
 src/mesa/drivers/dri/i965/gen6_gs_state.c          |  2 +
 src/mesa/drivers/dri/i965/gen6_multisample_state.c |  3 +-
 src/mesa/drivers/dri/i965/gen6_sampler_state.c     |  1 +
 src/mesa/drivers/dri/i965/gen6_scissor_state.c     |  3 +-
 src/mesa/drivers/dri/i965/gen6_sf_state.c          |  3 +-
 src/mesa/drivers/dri/i965/gen6_sol.c               |  2 +
 src/mesa/drivers/dri/i965/gen6_urb.c               |  3 +-
 src/mesa/drivers/dri/i965/gen6_viewport_state.c    |  7 ++-
 src/mesa/drivers/dri/i965/gen6_vs_state.c          |  2 +
 src/mesa/drivers/dri/i965/gen6_wm_state.c          |  2 +
 src/mesa/drivers/dri/i965/gen7_blorp.cpp           |  5 ++-
 src/mesa/drivers/dri/i965/gen7_cs_state.c          |  3 ++
 src/mesa/drivers/dri/i965/gen7_ds_state.c          |  2 +
 src/mesa/drivers/dri/i965/gen7_gs_state.c          |  1 +
 src/mesa/drivers/dri/i965/gen7_hs_state.c          |  2 +
 src/mesa/drivers/dri/i965/gen7_l3_state.c          |  1 +
 src/mesa/drivers/dri/i965/gen7_misc_state.c        |  3 +-
 src/mesa/drivers/dri/i965/gen7_sf_state.c          |  6 ++-
 src/mesa/drivers/dri/i965/gen7_sol_state.c         |  1 +
 src/mesa/drivers/dri/i965/gen7_te_state.c          |  3 +-
 src/mesa/drivers/dri/i965/gen7_urb.c               |  3 +-
 src/mesa/drivers/dri/i965/gen7_viewport_state.c    |  3 +-
 src/mesa/drivers/dri/i965/gen7_vs_state.c          |  1 +
 src/mesa/drivers/dri/i965/gen7_wm_state.c          |  2 +
 src/mesa/drivers/dri/i965/gen8_blend_state.c       |  4 +-
 src/mesa/drivers/dri/i965/gen8_blorp.cpp           |  4 +-
 src/mesa/drivers/dri/i965/gen8_depth_state.c       |  3 +-
 src/mesa/drivers/dri/i965/gen8_disable.c           |  3 +-
 src/mesa/drivers/dri/i965/gen8_draw_upload.c       |  5 ++-
 src/mesa/drivers/dri/i965/gen8_ds_state.c          |  1 +
 src/mesa/drivers/dri/i965/gen8_gs_state.c          |  1 +
 src/mesa/drivers/dri/i965/gen8_hs_state.c          |  1 +
 src/mesa/drivers/dri/i965/gen8_multisample_state.c |  3 +-
 src/mesa/drivers/dri/i965/gen8_ps_state.c          |  7 ++-
 src/mesa/drivers/dri/i965/gen8_sf_state.c          |  9 ++--
 src/mesa/drivers/dri/i965/gen8_sol_state.c         |  1 +
 src/mesa/drivers/dri/i965/gen8_viewport_state.c    |  3 +-
 src/mesa/drivers/dri/i965/gen8_vs_state.c          |  1 +
 src/mesa/drivers/dri/i965/gen8_wm_depth_stencil.c  |  3 +-
 69 files changed, 189 insertions(+), 111 deletions(-)

-- 
2.5.5



More information about the mesa-dev mailing list