summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/freedreno/a3xx
diff options
context:
space:
mode:
authorRob Clark <robdclark@chromium.org>2023-02-05 11:45:35 -0800
committerMarge Bot <emma+marge@anholt.net>2023-02-16 19:57:13 +0000
commitc4e2e821a2085687585dd63e792da33e21d01408 (patch)
tree4e2848adc720b26b5e56df8cbeef9b5f67bf43fd /src/gallium/drivers/freedreno/a3xx
parent6bfee9e6697e286c82f36a15d0e8a7c1ec7d2a02 (diff)
freedreno: Push num_draws down to backend
Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21274>
Diffstat (limited to 'src/gallium/drivers/freedreno/a3xx')
-rw-r--r--src/gallium/drivers/freedreno/a3xx/fd3_draw.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/gallium/drivers/freedreno/a3xx/fd3_draw.c b/src/gallium/drivers/freedreno/a3xx/fd3_draw.c
index ef42641e6b4..915c7928f9c 100644
--- a/src/gallium/drivers/freedreno/a3xx/fd3_draw.c
+++ b/src/gallium/drivers/freedreno/a3xx/fd3_draw.c
@@ -165,9 +165,22 @@ fd3_draw_vbo(struct fd_context *ctx, const struct pipe_draw_info *info,
return true;
}
+static void
+fd3_draw_vbos(struct fd_context *ctx, const struct pipe_draw_info *info,
+ unsigned drawid_offset,
+ const struct pipe_draw_indirect_info *indirect,
+ const struct pipe_draw_start_count_bias *draws,
+ unsigned num_draws,
+ unsigned index_offset)
+ assert_dt
+{
+ for (unsigned i = 0; i < num_draws; i++)
+ fd3_draw_vbo(ctx, info, drawid_offset, indirect, &draws[i], index_offset);
+}
+
void
fd3_draw_init(struct pipe_context *pctx) disable_thread_safety_analysis
{
struct fd_context *ctx = fd_context(pctx);
- ctx->draw_vbo = fd3_draw_vbo;
+ ctx->draw_vbos = fd3_draw_vbos;
}