This guarantees that new draws targetting the same framebuffer will get a new job instance.
Signed-off-by: Boris Brezillon <boris.brezil...@collabora.com> Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzw...@collabora.com> --- Changes in v2: * Add Alyssa's R-b --- 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 cc81d475165e..d75af0c53308 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.21.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev