mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-12 03:30:22 +01:00
panfrost: Increment offsets[] per draw
We have to maintain the internal offset ourselves. Per v3d. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
This commit is contained in:
parent
e7a05a601e
commit
7c29588c07
2 changed files with 11 additions and 0 deletions
|
|
@ -1640,6 +1640,7 @@ panfrost_draw_vbo(
|
|||
/* Take into account a negative bias */
|
||||
ctx->vertex_count = info->count + abs(info->index_bias);
|
||||
ctx->instance_count = info->instance_count;
|
||||
ctx->active_prim = info->mode;
|
||||
|
||||
/* For non-indexed draws, they're the same */
|
||||
unsigned vertex_count = ctx->vertex_count;
|
||||
|
|
@ -1754,6 +1755,15 @@ panfrost_draw_vbo(
|
|||
|
||||
/* Fire off the draw itself */
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
/* CSO state */
|
||||
|
|
|
|||
|
|
@ -150,6 +150,7 @@ struct panfrost_context {
|
|||
|
||||
unsigned vertex_count;
|
||||
unsigned instance_count;
|
||||
enum pipe_prim_type active_prim;
|
||||
|
||||
/* If instancing is enabled, vertex count padded for instance; if
|
||||
* it is disabled, just equal to plain vertex count */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue