[Mesa-dev] i965/blorp: Preparing for flat inputs + small optimizations

Topi Pohjolainen topi.pohjolainen at intel.com
Wed May 25 16:08:35 UTC 2016


First three clarify a little how vertex buffers are configured in the
command stream. There is a subtle difference between gen8+ and earlier,
and I thought it would be clearer to have it documented with bspec
quotes.

Next four drop some hardcoding in upload logic making the emitters
to consult compiled fragment programs for correct settings.

Patches seven and eight allow subsequent uploads to avoid
reconfiguration of urb if the settings used by blorp are applicable.

Patches 8-12 build support for fast color clears and resolves to use
repclear without any color payload setup.

Final patch really prepares for flat inputs but might save us a few
electrons even with current setup.

Topi Pohjolainen (14):
  i965/draw: Expose vertex buffer state setup
  i965/gen8: Fix the vertex buffer size
  i965/blorp: Use core vertex buffer state setup
  i965/blorp: Use prog data counters to guide sf/sbe setup
  i965/blorp: Use prog data counters to guide wm/ps setup
  i965/blorp: Let program data tell if push constants are needed
  i965/urb: Allow blorp to record current settings
  i965/blorp: Fix the size requirement for vertex elements
  i965/fs: Provide compiler options using a flags argument
  i965/fs: Add support for repclear without color setup
  i965/blorp: Ignore color setup in fast clears and resolves
  i965/blorp/gen7+: Skip disabling already disabled stages
  i965: Do not flush texture and data port caches for clears
  i965/blorp: Disable vertex element swizzling

 src/intel/vulkan/anv_pipeline.c               |   6 +-
 src/mesa/drivers/dri/i965/brw_blorp.c         |  17 +---
 src/mesa/drivers/dri/i965/brw_blorp.h         |  14 ++-
 src/mesa/drivers/dri/i965/brw_blorp_blit.cpp  |  11 ++-
 src/mesa/drivers/dri/i965/brw_blorp_clear.cpp |  47 +++++++---
 src/mesa/drivers/dri/i965/brw_compiler.h      |   9 +-
 src/mesa/drivers/dri/i965/brw_context.h       |  12 +--
 src/mesa/drivers/dri/i965/brw_draw.h          |  13 +++
 src/mesa/drivers/dri/i965/brw_draw_upload.c   |  74 ++++++++++-----
 src/mesa/drivers/dri/i965/brw_fs.cpp          |  23 ++---
 src/mesa/drivers/dri/i965/brw_fs.h            |   4 +-
 src/mesa/drivers/dri/i965/brw_wm.c            |   6 +-
 src/mesa/drivers/dri/i965/gen6_blorp.c        | 124 +++++++++++---------------
 src/mesa/drivers/dri/i965/gen7_blorp.c        | 113 ++++++++++++++---------
 src/mesa/drivers/dri/i965/gen7_urb.c          |  90 ++++++++++---------
 src/mesa/drivers/dri/i965/gen8_blorp.c        |  69 ++++++++++----
 src/mesa/drivers/dri/i965/gen8_draw_upload.c  |  41 ++++-----
 17 files changed, 403 insertions(+), 270 deletions(-)

-- 
2.5.5



More information about the mesa-dev mailing list