summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2013-09-19 10:08:38 -0400
committerRob Clark <[email protected]>2013-09-19 11:45:01 -0400
commit575a6e7ec57dc70f96e2618748ed07c7882cf8c1 (patch)
tree1b34bf8e236c398a19ac7c2b35c6a2d5ffbcee2a
parent532dc8939f81c1fe2ecd37fda9dfb24ee38ae201 (diff)
freedreno: fix glReadPixels
duh, we still need to flush if there are pending draws and it isn't an unsynchronized case. Signed-off-by: Rob Clark <[email protected]>
-rw-r--r--src/gallium/drivers/freedreno/freedreno_resource.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/drivers/freedreno/freedreno_resource.c b/src/gallium/drivers/freedreno/freedreno_resource.c
index fd975cb388d..bae1874ed3d 100644
--- a/src/gallium/drivers/freedreno/freedreno_resource.c
+++ b/src/gallium/drivers/freedreno/freedreno_resource.c
@@ -123,8 +123,8 @@ fd_resource_transfer_map(struct pipe_context *pctx,
op |= DRM_FREEDRENO_PREP_NOSYNC;
/* some state trackers (at least XA) don't do this.. */
-// if (!(usage & PIPE_TRANSFER_FLUSH_EXPLICIT))
-// fd_resource_transfer_flush_region(pctx, ptrans, box);
+ if (!(usage & (PIPE_TRANSFER_FLUSH_EXPLICIT | PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE)))
+ fd_resource_transfer_flush_region(pctx, ptrans, box);
if (!(usage & PIPE_TRANSFER_UNSYNCHRONIZED)) {
ret = fd_bo_cpu_prep(rsc->bo, ctx->screen->pipe, op);