[Mesa-dev] [PATCH v2 2/9] panfrost: Remove job from ctx->jobs at submission time
Boris Brezillon
boris.brezillon at collabora.com
Fri Aug 2 17:18:41 UTC 2019
This guarantees that new draws targetting the same framebuffer will
get a new job instance.
Signed-off-by: Boris Brezillon <boris.brezillon at collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig at 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
More information about the mesa-dev
mailing list