summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/v3d/v3d_resource.c
diff options
context:
space:
mode:
authorIago Toral Quiroga <[email protected]>2019-06-20 13:46:02 +0200
committerIago Toral Quiroga <[email protected]>2019-07-02 08:57:20 +0200
commit042aeffd5b2c8d0af8310bdd57515b4c71eb125e (patch)
tree12f35aba213ca3a4429ca3e9d2e086a30a500fc9 /src/gallium/drivers/v3d/v3d_resource.c
parent88cbc4f7f6c01edd182bac0dcb2bd973d2cce5f2 (diff)
v3d: do not flush jobs that are synced with 'Wait for transform feedback'
Generally, we achieve this by skipping the flush on calls to v3d_flush_jobs_writing_resource() when we detect that the resource is written in the current job from a transform feedback write. The exception to this is the case where the caller is about to map the resource, in which case we need to flush immediately since we can only emit 'Wait for transform feedback' commands on rendering jobs. We add a parameter to the function so the caller can identify that scenario. Reviewed-by: Eric Anholt <[email protected]>
Diffstat (limited to 'src/gallium/drivers/v3d/v3d_resource.c')
-rw-r--r--src/gallium/drivers/v3d/v3d_resource.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/drivers/v3d/v3d_resource.c b/src/gallium/drivers/v3d/v3d_resource.c
index 10abee4e8f6..e2f112328fc 100644
--- a/src/gallium/drivers/v3d/v3d_resource.c
+++ b/src/gallium/drivers/v3d/v3d_resource.c
@@ -179,7 +179,7 @@ v3d_map_usage_prep(struct pipe_context *pctx,
if (usage & PIPE_TRANSFER_WRITE)
v3d_flush_jobs_reading_resource(v3d, prsc);
else
- v3d_flush_jobs_writing_resource(v3d, prsc);
+ v3d_flush_jobs_writing_resource(v3d, prsc, true);
}
if (usage & PIPE_TRANSFER_WRITE) {