From: Boris Brezillon Date: Fri, 2 Aug 2019 17:18:41 +0000 (+0200) Subject: panfrost: Remove job from ctx->jobs at submission time X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b5ca1e545843375560378cea19be8e50eb152de8;p=mesa.git 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 --- 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