From b5ca1e545843375560378cea19be8e50eb152de8 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Fri, 2 Aug 2019 19:18:41 +0200 Subject: [PATCH] panfrost: Remove job from ctx->jobs at submission time This guarantees that new draws targetting the same framebuffer will get a new job instance. Signed-off-by: Boris Brezillon Reviewed-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_job.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/gallium/drivers/panfrost/pan_job.c b/src/gallium/drivers/panfrost/pan_job.c index cc81d475165..d75af0c5330 100644 --- a/src/gallium/drivers/panfrost/pan_job.c +++ b/src/gallium/drivers/panfrost/pan_job.c @@ -198,6 +198,14 @@ panfrost_job_submit(struct panfrost_context *ctx, struct panfrost_job *job) */ assert(!ctx->job || job == ctx->job); ctx->job = NULL; + + /* Remove the job from the ctx->jobs set so that future + * panfrost_get_job() calls don't see it. + * We must reset the job key to avoid removing another valid entry when + * the job is freed. + */ + _mesa_hash_table_remove_key(ctx->jobs, &job->key); + memset(&job->key, 0, sizeof(job->key)); } void -- 2.30.2