mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-15 04:30:29 +01:00
draw: reset stipple counter whenever non-line prim encountered
This commit is contained in:
parent
7b85ea19de
commit
e38bb10824
1 changed files with 18 additions and 2 deletions
|
|
@ -175,6 +175,22 @@ reset_stipple_counter(struct draw_stage *stage)
|
|||
stage->next->reset_stipple_counter( stage->next );
|
||||
}
|
||||
|
||||
static void
|
||||
stipple_reset_point(struct draw_stage *stage, struct prim_header *header)
|
||||
{
|
||||
struct stipple_stage *stipple = stipple_stage(stage);
|
||||
stipple->counter = 0;
|
||||
stage->next->point(stage->next, header);
|
||||
}
|
||||
|
||||
static void
|
||||
stipple_reset_tri(struct draw_stage *stage, struct prim_header *header)
|
||||
{
|
||||
struct stipple_stage *stipple = stipple_stage(stage);
|
||||
stipple->counter = 0;
|
||||
stage->next->tri(stage->next, header);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
stipple_first_line(struct draw_stage *stage,
|
||||
|
|
@ -220,9 +236,9 @@ struct draw_stage *draw_stipple_stage( struct draw_context *draw )
|
|||
|
||||
stipple->stage.draw = draw;
|
||||
stipple->stage.next = NULL;
|
||||
stipple->stage.point = draw_pipe_passthrough_point;
|
||||
stipple->stage.point = stipple_reset_point;
|
||||
stipple->stage.line = stipple_first_line;
|
||||
stipple->stage.tri = draw_pipe_passthrough_tri;
|
||||
stipple->stage.tri = stipple_reset_tri;
|
||||
stipple->stage.reset_stipple_counter = reset_stipple_counter;
|
||||
stipple->stage.flush = stipple_flush;
|
||||
stipple->stage.destroy = stipple_destroy;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue