aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/panfrost
diff options
context:
space:
mode:
authorBoris Brezillon <[email protected]>2019-09-05 21:41:27 +0200
committerBoris Brezillon <[email protected]>2019-09-08 16:20:59 +0200
commitbeb18c6172a505770d959f9fcb01d126011d12bc (patch)
treede4fcfbeaa73d152495072612abde59280d16d57 /src/gallium/drivers/panfrost
parent2c526993bc4098a7c541c69ec0abc0a4076d66e6 (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.c13
-rw-r--r--src/gallium/drivers/panfrost/pan_job.c2
-rw-r--r--src/gallium/drivers/panfrost/pan_screen.h3
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);