From: Boris Brezillon Date: Thu, 5 Mar 2020 20:55:01 +0000 (+0100) Subject: panfrost: Move streamout offset update out of panfrost_draw_vbo() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=13881a4dada8653a5857a1dad969f7c4acf3db0c;p=mesa.git 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: --- diff --git a/src/gallium/drivers/panfrost/pan_context.c b/src/gallium/drivers/panfrost/pan_context.c index a70ce65c490..de645c475f7 100644 --- a/src/gallium/drivers/panfrost/pan_context.c +++ b/src/gallium/drivers/panfrost/pan_context.c @@ -481,6 +481,18 @@ panfrost_statistics_record( ctx->tf_prims_generated += prims; } +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, @@ -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 */