From: Eric Anholt Date: Fri, 8 Feb 2019 18:41:25 +0000 (-0800) Subject: v3d: Sync indirect draws on the last rendering. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=332b969c4ed7fdfc6d65770c07fb573c50174eb0;p=mesa.git 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) --- 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; }