From cee3181ceb37963526d88ee21dca66d9cf1451f2 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Thu, 10 Jun 2021 13:16:44 -0400 Subject: [PATCH] panfrost: Set vertex job_barrier Fixes KHR-GLES31.core.vertex_attrib_binding.advanced-iterations which pingpongs XFB/attributes Signed-off-by: Alyssa Rosenzweig Part-of: --- src/gallium/drivers/panfrost/pan_cmdstream.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/panfrost/pan_cmdstream.c b/src/gallium/drivers/panfrost/pan_cmdstream.c index 1efdff9b7bf..51ce6ff91c8 100644 --- a/src/gallium/drivers/panfrost/pan_cmdstream.c +++ b/src/gallium/drivers/panfrost/pan_cmdstream.c @@ -2365,10 +2365,13 @@ panfrost_emit_vertex_tiler_jobs(struct panfrost_batch *batch, { struct panfrost_context *ctx = batch->ctx; - /* If rasterizer discard is enable, only submit the vertex */ + /* If rasterizer discard is enable, only submit the vertex. XXX - set + * job_barrier in case buffers get ping-ponged and we need to enforce + * ordering, this has a perf hit! See + * KHR-GLES31.core.vertex_attrib_binding.advanced-iterations */ unsigned vertex = panfrost_add_job(&batch->pool, &batch->scoreboard, - MALI_JOB_TYPE_VERTEX, false, false, + MALI_JOB_TYPE_VERTEX, true, false, ctx->indirect_draw ? batch->indirect_draw_job_id : 0, 0, vertex_job, false);