freedreno: add a reading flag to indicate gpu is reading rsc

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
Ilia Mirkin 2015-04-03 02:25:58 -04:00 committed by Rob Clark
parent ea0952a9db
commit 1fee3061d5
2 changed files with 3 additions and 2 deletions

View File

@ -123,7 +123,8 @@ fd_resource_transfer_map(struct pipe_context *pctx,
/* If the GPU is writing to the resource, or if it is reading from the
* resource and we're trying to write to it, flush the renders.
*/
if (rsc->dirty)
if (rsc->dirty ||
((ptrans->usage & PIPE_TRANSFER_WRITE) && rsc->reading))
fd_context_render(pctx);
/* The GPU keeps track of how the various bo's are being used, and

View File

@ -66,7 +66,7 @@ struct fd_resource {
uint32_t layer_size;
struct fd_resource_slice slices[MAX_MIP_LEVELS];
uint32_t timestamp;
bool dirty;
bool dirty, reading;
};
static INLINE struct fd_resource *