summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2019-02-08 10:41:25 -0800
committerEric Anholt <[email protected]>2019-02-18 18:09:06 -0800
commit332b969c4ed7fdfc6d65770c07fb573c50174eb0 (patch)
tree762bf7e4a005e7d08df230857ebb1a6535f45b6a /src/gallium
parent32f16b0b1e1ddaa7b7ab318d9b8323a941887384 (diff)
v3d: Sync indirect draws on the last rendering.
Fixes intermittent fails in dEQP-GLES31.functional.draw_indirect.compute_interop.separate.drawelements_compute_cmd_and_data_and_indices and others (particularly when run as part of a CTS run)
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/v3d/v3dx_draw.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/drivers/v3d/v3dx_draw.c b/src/gallium/drivers/v3d/v3dx_draw.c
index 2700208e388..9ca6aaa8f95 100644
--- a/src/gallium/drivers/v3d/v3dx_draw.c
+++ b/src/gallium/drivers/v3d/v3dx_draw.c
@@ -479,9 +479,9 @@ v3d_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info)
* on the last submitted render, rather than tracking the last
* rendering to each texture's BO.
*/
- if (v3d->tex[PIPE_SHADER_VERTEX].num_textures) {
+ if (v3d->tex[PIPE_SHADER_VERTEX].num_textures || info->indirect) {
perf_debug("Blocking binner on last render "
- "due to vertex texturing.\n");
+ "due to vertex texturing or indirect drawing.\n");
job->submit.in_sync_bcl = v3d->out_sync;
}