st/xa: scissor to help tilers
authorRob Clark <robclark@freedesktop.org>
Tue, 8 Apr 2014 20:48:50 +0000 (16:48 -0400)
committerThomas Hellstrom <thellstrom@vmware.com>
Thu, 17 Apr 2014 07:42:06 +0000 (09:42 +0200)
commita45ae814d1985bb9e72ba8f5cb73e070d22bd5b6
tree907c37bb2a453670e5aeab335a543a82c0df2a59
parent3c520132737623d53e5c8dec6d3496ab8dffda1f
st/xa: scissor to help tilers

Keep track of the maximal bounds of all the operations and set scissor
accordingly.  For tiling GPU's this can be a big win by reducing the
memory bandwidth spent moving pixels from system memory to tile buffer
and back.

You could imagine being more sophisticated and splitting up disjoint
operations.  But this simplistic approach is good enough for the common
cases.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
src/gallium/state_trackers/xa/xa_composite.c
src/gallium/state_trackers/xa/xa_context.c
src/gallium/state_trackers/xa/xa_priv.h
src/gallium/state_trackers/xa/xa_renderer.c