freedreno: staging upload transfers
authorRob Clark <robdclark@gmail.com>
Mon, 20 Nov 2017 20:34:40 +0000 (15:34 -0500)
committerRob Clark <robdclark@gmail.com>
Sun, 17 Dec 2017 17:41:32 +0000 (12:41 -0500)
commitd848bee50faa98af493975c28377712c04d72277
treeac0f6b502a970b96f7366c3b7aae300ac30372c2
parentf20013a11906d92feb07206b903c83d5d522747d
freedreno: staging upload transfers

In the busy && !needs_flush case, we can support a DISCARD_RANGE upload
using a staging buffer.  This is a bit different from the case of mid-
batch uploads which require us to shadow the whole resource (because
later draws in an earlier tile happen before earlier draws in a later
tile).

Signed-off-by: Rob Clark <robdclark@gmail.com>
src/gallium/drivers/freedreno/freedreno_resource.c
src/gallium/drivers/freedreno/freedreno_resource.h
src/gallium/drivers/freedreno/freedreno_surface.c