From 13881a4dada8653a5857a1dad969f7c4acf3db0c Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Thu, 5 Mar 2020 21:55:01 +0100 Subject: [PATCH] panfrost: Move streamout offset update out of panfrost_draw_vbo() That's part of out attempt to shrink panfrost_draw_vbo(). Signed-off-by: Boris Brezillon Reviewed-by: Alyssa Rosenzweig Part-of: --- src/gallium/drivers/panfrost/pan_context.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/gallium/drivers/panfrost/pan_context.c b/src/gallium/drivers/panfrost/pan_context.c index a70ce65..de645c4 100644 --- a/src/gallium/drivers/panfrost/pan_context.c +++ b/src/gallium/drivers/panfrost/pan_context.c @@ -482,6 +482,18 @@ panfrost_statistics_record( } static void +panfrost_update_streamout_offsets(struct panfrost_context *ctx) +{ + for (unsigned i = 0; i < ctx->streamout.num_targets; ++i) { + unsigned count; + + count = u_stream_outputs_for_vertices(ctx->active_prim, + ctx->vertex_count); + ctx->streamout.offsets[i] += count; + } +} + +static void panfrost_draw_vbo( struct pipe_context *pipe, const struct pipe_draw_info *info) @@ -625,13 +637,7 @@ panfrost_draw_vbo( panfrost_queue_draw(ctx); /* Increment transform feedback offsets */ - - for (unsigned i = 0; i < ctx->streamout.num_targets; ++i) { - unsigned output_count = u_stream_outputs_for_vertices( - ctx->active_prim, ctx->vertex_count); - - ctx->streamout.offsets[i] += output_count; - } + panfrost_update_streamout_offsets(ctx); } /* CSO state */ -- 2.7.4