From 3b9f1f39d166acb70ea5d516ad973b31e471bd34 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Tue, 8 Jun 2021 11:33:52 -0400 Subject: [PATCH] panfrost: Flush before compute jobs Suboptimal but fixes KHR-GLES31.core.compute_shader.pipeline-post-xfb, which is stubbornly still broken with memory barriers implemented and cache flush jobs inserted. More investigation needed but probably not right now. Signed-off-by: Alyssa Rosenzweig Part-of: --- src/gallium/drivers/panfrost/pan_compute.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/gallium/drivers/panfrost/pan_compute.c b/src/gallium/drivers/panfrost/pan_compute.c index 2a1c02dcab6..6dfad96923d 100644 --- a/src/gallium/drivers/panfrost/pan_compute.c +++ b/src/gallium/drivers/panfrost/pan_compute.c @@ -101,6 +101,11 @@ panfrost_launch_grid(struct pipe_context *pipe, { struct panfrost_context *ctx = pan_context(pipe); struct panfrost_device *dev = pan_device(pipe->screen); + + /* XXX - shouldn't be necessary with working memory barriers. Affected + * test: KHR-GLES31.core.compute_shader.pipeline-post-xfb */ + panfrost_flush_all_batches(ctx); + struct panfrost_batch *batch = panfrost_get_batch_for_fbo(ctx); struct panfrost_shader_state *cs =