summaryrefslogtreecommitdiffstats
path: root/src/mesa/pipe
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/pipe')
-rw-r--r--src/mesa/pipe/draw/draw_prim.c27
-rw-r--r--src/mesa/pipe/draw/draw_vb.c24
2 files changed, 27 insertions, 24 deletions
diff --git a/src/mesa/pipe/draw/draw_prim.c b/src/mesa/pipe/draw/draw_prim.c
index b7d30c567a2..931404caff7 100644
--- a/src/mesa/pipe/draw/draw_prim.c
+++ b/src/mesa/pipe/draw/draw_prim.c
@@ -517,3 +517,30 @@ draw_trim( unsigned count, unsigned first, unsigned incr )
else
return count - (count - first) % incr;
}
+
+
+/**
+ * Allocate space for temporary post-transform vertices, such as for clipping.
+ */
+void draw_alloc_tmps( struct draw_stage *stage, GLuint nr )
+{
+ stage->nr_tmps = nr;
+
+ if (nr) {
+ GLubyte *store = (GLubyte *) malloc(MAX_VERTEX_SIZE * nr);
+ GLuint i;
+
+ stage->tmp = (struct vertex_header **) malloc(sizeof(struct vertex_header *) * nr);
+
+ for (i = 0; i < nr; i++)
+ stage->tmp[i] = (struct vertex_header *)(store + i * MAX_VERTEX_SIZE);
+ }
+}
+
+void draw_free_tmps( struct draw_stage *stage )
+{
+ if (stage->tmp) {
+ free(stage->tmp[0]);
+ free(stage->tmp);
+ }
+}
diff --git a/src/mesa/pipe/draw/draw_vb.c b/src/mesa/pipe/draw/draw_vb.c
index a88babc44e7..db7b217c2f5 100644
--- a/src/mesa/pipe/draw/draw_vb.c
+++ b/src/mesa/pipe/draw/draw_vb.c
@@ -371,27 +371,3 @@ void draw_set_vertex_attributes( struct draw_context *draw,
draw->vertex_size = vf_set_vertex_attributes( draw->vf, draw->attrs,
draw->nr_attrs, 0 );
}
-
-
-void draw_alloc_tmps( struct draw_stage *stage, GLuint nr )
-{
- stage->nr_tmps = nr;
-
- if (nr) {
- GLubyte *store = (GLubyte *) malloc(MAX_VERTEX_SIZE * nr);
- GLuint i;
-
- stage->tmp = MALLOC(sizeof(struct vertex_header *) * nr);
-
- for (i = 0; i < nr; i++)
- stage->tmp[i] = (struct vertex_header *)(store + i * MAX_VERTEX_SIZE);
- }
-}
-
-void draw_free_tmps( struct draw_stage *stage )
-{
- if (stage->tmp) {
- free(stage->tmp[0]);
- free(stage->tmp);
- }
-}