Lines Matching refs:draw

33 #include "draw/draw_private.h"
34 #include "draw/draw_pipe.h"
40 draw_pipeline_init(struct draw_context *draw)
43 draw->pipeline.wide_line = draw_wide_line_stage(draw);
44 draw->pipeline.wide_point = draw_wide_point_stage(draw);
45 draw->pipeline.stipple = draw_stipple_stage(draw);
46 draw->pipeline.unfilled = draw_unfilled_stage(draw);
47 draw->pipeline.twoside = draw_twoside_stage(draw);
48 draw->pipeline.offset = draw_offset_stage(draw);
49 draw->pipeline.clip = draw_clip_stage(draw);
50 draw->pipeline.flatshade = draw_flatshade_stage(draw);
51 draw->pipeline.cull = draw_cull_stage(draw);
52 draw->pipeline.user_cull = draw_user_cull_stage(draw);
53 draw->pipeline.validate = draw_validate_stage(draw);
54 draw->pipeline.first = draw->pipeline.validate;
56 if (!draw->pipeline.wide_line ||
57 !draw->pipeline.wide_point ||
58 !draw->pipeline.stipple ||
59 !draw->pipeline.unfilled ||
60 !draw->pipeline.twoside ||
61 !draw->pipeline.offset ||
62 !draw->pipeline.clip ||
63 !draw->pipeline.flatshade ||
64 !draw->pipeline.cull ||
65 !draw->pipeline.user_cull ||
66 !draw->pipeline.validate)
70 draw->pipeline.wide_point_threshold = 1000000.0f; /* infinity */
71 draw->pipeline.wide_line_threshold = 1.0f;
72 draw->pipeline.wide_point_sprites = FALSE;
73 draw->pipeline.line_stipple = TRUE;
74 draw->pipeline.point_sprite = TRUE;
81 draw_pipeline_destroy(struct draw_context *draw)
83 if (draw->pipeline.wide_line)
84 draw->pipeline.wide_line->destroy(draw->pipeline.wide_line);
85 if (draw->pipeline.wide_point)
86 draw->pipeline.wide_point->destroy(draw->pipeline.wide_point);
87 if (draw->pipeline.stipple)
88 draw->pipeline.stipple->destroy(draw->pipeline.stipple);
89 if (draw->pipeline.unfilled)
90 draw->pipeline.unfilled->destroy(draw->pipeline.unfilled);
91 if (draw->pipeline.twoside)
92 draw->pipeline.twoside->destroy(draw->pipeline.twoside);
93 if (draw->pipeline.offset)
94 draw->pipeline.offset->destroy(draw->pipeline.offset);
95 if (draw->pipeline.clip)
96 draw->pipeline.clip->destroy(draw->pipeline.clip);
97 if (draw->pipeline.flatshade)
98 draw->pipeline.flatshade->destroy(draw->pipeline.flatshade);
99 if (draw->pipeline.cull)
100 draw->pipeline.cull->destroy(draw->pipeline.cull);
101 if (draw->pipeline.user_cull)
102 draw->pipeline.user_cull->destroy(draw->pipeline.user_cull);
103 if (draw->pipeline.validate)
104 draw->pipeline.validate->destroy(draw->pipeline.validate);
105 if (draw->pipeline.aaline)
106 draw->pipeline.aaline->destroy(draw->pipeline.aaline);
107 if (draw->pipeline.aapoint)
108 draw->pipeline.aapoint->destroy(draw->pipeline.aapoint);
109 if (draw->pipeline.pstipple)
110 draw->pipeline.pstipple->destroy(draw->pipeline.pstipple);
111 if (draw->pipeline.rasterize)
112 draw->pipeline.rasterize->destroy(draw->pipeline.rasterize);
120 do_point(struct draw_context *draw,
129 draw->pipeline.first->point(draw->pipeline.first, &prim);
138 do_line(struct draw_context *draw,
150 draw->pipeline.first->line(draw->pipeline.first, &prim);
159 do_triangle(struct draw_context *draw,
173 draw->pipeline.first->tri(draw->pipeline.first, &prim);
184 do_triangle(draw, \
193 do_line(draw, \
201 do_point(draw, verts + stride * (i0)); \
208 struct draw_context *draw, \
234 draw_pipeline_run(struct draw_context *draw,
238 draw->pipeline.verts = (char *)vert_info->verts;
239 draw->pipeline.vertex_stride = vert_info->stride;
240 draw->pipeline.vertex_count = vert_info->count;
267 pipe_run_elts(draw,
277 draw->pipeline.verts = NULL;
278 draw->pipeline.vertex_count = 0;
288 do_triangle(draw, flags, \
294 do_line(draw, flags, \
299 do_point(draw, verts + stride * (i0))
306 struct draw_context *draw, \
320 draw_pipeline_run_linear(struct draw_context *draw,
333 draw->pipeline.verts = verts;
334 draw->pipeline.vertex_stride = vert_info->stride;
335 draw->pipeline.vertex_count = count;
339 pipe_run_linear(draw,
347 draw->pipeline.verts = NULL;
348 draw->pipeline.vertex_count = 0;
353 draw_pipeline_flush(struct draw_context *draw,
356 draw->pipeline.first->flush(draw->pipeline.first, flags);
358 draw->pipeline.first = draw->pipeline.validate;