Home | History | Annotate | Download | only in draw

Lines Matching defs:stage

39    struct draw_stage stage;
46 static INLINE struct twoside_stage *twoside_stage( struct draw_stage *stage )
48 return (struct twoside_stage *)stage;
59 struct vertex_header *tmp = dup_vert( &twoside->stage, v, idx );
76 static void twoside_tri( struct draw_stage *stage,
79 struct twoside_stage *twoside = twoside_stage(stage);
93 stage->next->tri( stage->next, &tmp );
96 stage->next->tri( stage->next, header );
102 static void twoside_first_tri( struct draw_stage *stage,
105 struct twoside_stage *twoside = twoside_stage(stage);
106 const struct draw_vertex_shader *vs = stage->draw->vs.vertex_shader;
135 twoside->sign = stage->draw->rasterizer->front_ccw ? -1.0f : 1.0f;
137 stage->tri = twoside_tri;
138 stage->tri( stage, header );
142 static void twoside_flush( struct draw_stage *stage, unsigned flags )
144 stage->tri = twoside_first_tri;
145 stage->next->flush( stage->next, flags );
149 static void twoside_reset_stipple_counter( struct draw_stage *stage )
151 stage->next->reset_stipple_counter( stage->next );
155 static void twoside_destroy( struct draw_stage *stage )
157 draw_free_temp_verts( stage );
158 FREE( stage );
163 * Create twoside pipeline stage.
171 twoside->stage.draw = draw;
172 twoside->stage.name = "twoside";
173 twoside->stage.next = NULL;
174 twoside->stage.point = draw_pipe_passthrough_point;
175 twoside->stage.line = draw_pipe_passthrough_line;
176 twoside->stage.tri = twoside_first_tri;
177 twoside->stage.flush = twoside_flush;
178 twoside->stage.reset_stipple_counter = twoside_reset_stipple_counter;
179 twoside->stage.destroy = twoside_destroy;
181 if (!draw_alloc_temp_verts( &twoside->stage, 3 ))
184 return &twoside->stage;
188 twoside->stage.destroy( &twoside->stage );