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

Kenneth Graunke kenneth at whitecape.org
Fri May 27 08:30:08 UTC 2016


On Wednesday, May 25, 2016 7:08:35 PM PDT Topi Pohjolainen wrote:
> 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(-)

Patches 4-11 and 14 are:
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

I'm not sure whether patch 11 is worth doing, though...it'd be nice to
get some more data or a second opinion there.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160527/e88e5ed2/attachment.sig>


More information about the mesa-dev mailing list