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 <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
This commit is contained in:
Boris Brezillon 2019-08-02 19:18:41 +02:00
parent 20b00e1ff2
commit b5ca1e5458

View file

@ -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