diff options
author | Boris Brezillon <[email protected]> | 2019-09-05 21:41:27 +0200 |
---|---|---|
committer | Boris Brezillon <[email protected]> | 2019-09-08 16:20:59 +0200 |
commit | beb18c6172a505770d959f9fcb01d126011d12bc (patch) | |
tree | de4fcfbeaa73d152495072612abde59280d16d57 /src/gallium/drivers/panfrost | |
parent | 2c526993bc4098a7c541c69ec0abc0a4076d66e6 (diff) |
panfrost: Pass a batch to panfrost_drm_submit_vs_fs_batch()
Given the function name it makes more sense to pass it a job batch
directly.
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Daniel Stone <[email protected]>
Reviewed-by: Alyssa Rosenzweig <[email protected]>
Diffstat (limited to 'src/gallium/drivers/panfrost')
-rw-r--r-- | src/gallium/drivers/panfrost/pan_drm.c | 13 | ||||
-rw-r--r-- | src/gallium/drivers/panfrost/pan_job.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/panfrost/pan_screen.h | 3 |
3 files changed, 9 insertions, 9 deletions
diff --git a/src/gallium/drivers/panfrost/pan_drm.c b/src/gallium/drivers/panfrost/pan_drm.c index 75fc5a726b1..768d9602eee 100644 --- a/src/gallium/drivers/panfrost/pan_drm.c +++ b/src/gallium/drivers/panfrost/pan_drm.c @@ -248,12 +248,12 @@ panfrost_drm_export_bo(struct panfrost_screen *screen, const struct panfrost_bo } static int -panfrost_drm_submit_batch(struct panfrost_context *ctx, u64 first_job_desc, +panfrost_drm_submit_batch(struct panfrost_batch *batch, u64 first_job_desc, int reqs) { + struct panfrost_context *ctx = batch->ctx; struct pipe_context *gallium = (struct pipe_context *) ctx; struct panfrost_screen *screen = pan_screen(gallium->screen); - struct panfrost_batch *batch = panfrost_get_batch_for_fbo(ctx); struct drm_panfrost_submit submit = {0,}; int *bo_handles, ret; @@ -293,23 +293,22 @@ panfrost_drm_submit_batch(struct panfrost_context *ctx, u64 first_job_desc, } int -panfrost_drm_submit_vs_fs_batch(struct panfrost_context *ctx, bool has_draws) +panfrost_drm_submit_vs_fs_batch(struct panfrost_batch *batch, bool has_draws) { + struct panfrost_context *ctx = batch->ctx; int ret = 0; - struct panfrost_batch *batch = panfrost_get_batch_for_fbo(ctx); - panfrost_batch_add_bo(batch, ctx->scratchpad.bo); panfrost_batch_add_bo(batch, ctx->tiler_heap.bo); panfrost_batch_add_bo(batch, batch->polygon_list); if (batch->first_job.gpu) { - ret = panfrost_drm_submit_batch(ctx, batch->first_job.gpu, 0); + ret = panfrost_drm_submit_batch(batch, batch->first_job.gpu, 0); assert(!ret); } if (batch->first_tiler.gpu || batch->clear) { - ret = panfrost_drm_submit_batch(ctx, + ret = panfrost_drm_submit_batch(batch, panfrost_fragment_job(ctx, has_draws), PANFROST_JD_REQ_FS); assert(!ret); diff --git a/src/gallium/drivers/panfrost/pan_job.c b/src/gallium/drivers/panfrost/pan_job.c index a019c2adf69..f136ccb97fc 100644 --- a/src/gallium/drivers/panfrost/pan_job.c +++ b/src/gallium/drivers/panfrost/pan_job.c @@ -211,7 +211,7 @@ panfrost_batch_submit(struct panfrost_context *ctx, struct panfrost_batch *batch bool has_draws = batch->last_job.gpu; - ret = panfrost_drm_submit_vs_fs_batch(ctx, has_draws); + ret = panfrost_drm_submit_vs_fs_batch(batch, has_draws); if (ret) fprintf(stderr, "panfrost_batch_submit failed: %d\n", ret); diff --git a/src/gallium/drivers/panfrost/pan_screen.h b/src/gallium/drivers/panfrost/pan_screen.h index 3017b9c154f..11cbb72075a 100644 --- a/src/gallium/drivers/panfrost/pan_screen.h +++ b/src/gallium/drivers/panfrost/pan_screen.h @@ -39,6 +39,7 @@ #include <panfrost-misc.h> #include "pan_allocate.h" +struct panfrost_batch; struct panfrost_context; struct panfrost_resource; struct panfrost_screen; @@ -163,7 +164,7 @@ panfrost_drm_import_bo(struct panfrost_screen *screen, int fd); int panfrost_drm_export_bo(struct panfrost_screen *screen, const struct panfrost_bo *bo); int -panfrost_drm_submit_vs_fs_batch(struct panfrost_context *ctx, bool has_draws); +panfrost_drm_submit_vs_fs_batch(struct panfrost_batch *batch, bool has_draws); void panfrost_drm_force_flush_fragment(struct panfrost_context *ctx, struct pipe_fence_handle **fence); |