aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/freedreno/freedreno_resource.h
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2017-11-20 15:34:40 -0500
committerRob Clark <[email protected]>2017-12-17 12:41:32 -0500
commitd848bee50faa98af493975c28377712c04d72277 (patch)
treeac0f6b502a970b96f7366c3b7aae300ac30372c2 /src/gallium/drivers/freedreno/freedreno_resource.h
parentf20013a11906d92feb07206b903c83d5d522747d (diff)
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 <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno/freedreno_resource.h')
-rw-r--r--src/gallium/drivers/freedreno/freedreno_resource.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/drivers/freedreno/freedreno_resource.h b/src/gallium/drivers/freedreno/freedreno_resource.h
index c075570e543..5132c58a0db 100644
--- a/src/gallium/drivers/freedreno/freedreno_resource.h
+++ b/src/gallium/drivers/freedreno/freedreno_resource.h
@@ -132,6 +132,8 @@ pending(struct fd_resource *rsc, bool write)
struct fd_transfer {
struct pipe_transfer base;
+ struct pipe_resource *staging_prsc;
+ struct pipe_box staging_box;
};
static inline struct fd_transfer *