Mesa (master): panfrost: Pass a batch to panfrost_set_value_job()
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Sep 13 15:51:37 UTC 2019
Module: Mesa
Branch: master
Commit: e5c7701a0a9be29efd8a8947ae55392455a3b6e7
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e5c7701a0a9be29efd8a8947ae55392455a3b6e7
Author: Boris Brezillon <boris.brezillon at collabora.com>
Date: Thu Sep 5 18:57:11 2019 +0200
panfrost: Pass a batch to panfrost_set_value_job()
So we can emit SET_VALUE jobs for a batch that's not currently bound
to the context.
Signed-off-by: Boris Brezillon <boris.brezillon at collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
---
src/gallium/drivers/panfrost/pan_scoreboard.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/panfrost/pan_scoreboard.c b/src/gallium/drivers/panfrost/pan_scoreboard.c
index f0771a2c5b5..f340bb62662 100644
--- a/src/gallium/drivers/panfrost/pan_scoreboard.c
+++ b/src/gallium/drivers/panfrost/pan_scoreboard.c
@@ -270,7 +270,7 @@ panfrost_scoreboard_queue_fused_job_prepend(
/* Generates a set value job, used below as part of TILER job scheduling. */
static struct panfrost_transfer
-panfrost_set_value_job(struct panfrost_context *ctx, mali_ptr polygon_list)
+panfrost_set_value_job(struct panfrost_batch *batch, mali_ptr polygon_list)
{
struct mali_job_descriptor_header job = {
.job_type = JOB_TYPE_SET_VALUE,
@@ -282,7 +282,6 @@ panfrost_set_value_job(struct panfrost_context *ctx, mali_ptr polygon_list)
.unknown = 0x3,
};
- struct panfrost_batch *batch = panfrost_get_batch_for_fbo(ctx);
struct panfrost_transfer transfer = panfrost_allocate_transient(batch, sizeof(job) + sizeof(payload));
memcpy(transfer.cpu, &job, sizeof(job));
memcpy(transfer.cpu + sizeof(job), &payload, sizeof(payload));
@@ -303,11 +302,10 @@ panfrost_scoreboard_set_value(struct panfrost_batch *batch)
/* Okay, we do. Let's generate it. We'll need the job's polygon list
* regardless of size. */
- struct panfrost_context *ctx = batch->ctx;
mali_ptr polygon_list = panfrost_batch_get_polygon_list(batch, 0);
struct panfrost_transfer job =
- panfrost_set_value_job(ctx, polygon_list);
+ panfrost_set_value_job(batch, polygon_list);
/* Queue it */
panfrost_scoreboard_queue_compute_job(batch, job);
More information about the mesa-commit
mailing list