From 332b969c4ed7fdfc6d65770c07fb573c50174eb0 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 8 Feb 2019 10:41:25 -0800 Subject: [PATCH] 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) --- src/gallium/drivers/v3d/v3dx_draw.c | 4 ++-- 1 file 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; } -- 2.30.2