diff options
author | Iago Toral Quiroga <[email protected]> | 2019-06-20 13:46:02 +0200 |
---|---|---|
committer | Iago Toral Quiroga <[email protected]> | 2019-07-02 08:57:20 +0200 |
commit | 042aeffd5b2c8d0af8310bdd57515b4c71eb125e (patch) | |
tree | 12f35aba213ca3a4429ca3e9d2e086a30a500fc9 /src/gallium/drivers/v3d/v3d_resource.c | |
parent | 88cbc4f7f6c01edd182bac0dcb2bd973d2cce5f2 (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.c | 2 |
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) { |