Since the commit 4b847b38 landed, there has been a race condition in launch_grid, which is between fdX_launch_grid and rendering in batch flush.
This leads many cts to unstable results, especially for those using compute shader. Fixes: many cts for compute shader including dEQP-GLES31.functional.compute.* --- src/gallium/drivers/freedreno/freedreno_draw.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/freedreno/freedreno_draw.c b/src/gallium/drivers/freedreno/freedreno_draw.c index f55905e7bf..0a472c78b1 100644 --- a/src/gallium/drivers/freedreno/freedreno_draw.c +++ b/src/gallium/drivers/freedreno/freedreno_draw.c @@ -500,7 +500,8 @@ fd_launch_grid(struct pipe_context *pctx, const struct pipe_grid_info *info) batch->needs_flush = true; ctx->launch_grid(ctx, info); - fd_batch_flush(batch, false, false); + /* TODO: flush with sync might affect performance, need to get improved */ + fd_batch_flush(batch, true, false); fd_batch_reference(&ctx->batch, save_batch); fd_batch_reference(&save_batch, NULL); -- 2.17.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev