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 <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4083>
This commit is contained in:
Boris Brezillon 2020-03-05 21:55:01 +01:00
parent 046c154585
commit 13881a4dad
1 changed files with 13 additions and 7 deletions

View File

@ -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 */