comments, assertions
authorBrian <brian.paul@tungstengraphics.com>
Fri, 9 Nov 2007 14:54:46 +0000 (07:54 -0700)
committerBrian <brian.paul@tungstengraphics.com>
Fri, 9 Nov 2007 14:55:08 +0000 (07:55 -0700)
src/mesa/pipe/draw/draw_context.c
src/mesa/pipe/draw/draw_private.h

index 4f6392605ec04700a56d3c7ca962e423b97f3f29..e7997180b5bcd9fc74482a8927756460d8aa1a55 100644 (file)
@@ -126,7 +126,8 @@ void draw_set_rasterizer_state( struct draw_context *draw,
 
 
 /** 
- * Plug in the primitive rendering/rasterization stage.
+ * Plug in the primitive rendering/rasterization stage (which is the last
+ * stage in the drawing pipeline).
  * This is provided by the device driver.
  */
 void draw_set_rasterize_stage( struct draw_context *draw,
@@ -230,6 +231,8 @@ draw_set_mapped_feedback_buffer(struct draw_context *draw, uint index,
  */
 void draw_alloc_tmps( struct draw_stage *stage, unsigned nr )
 {
+   assert(!stage->tmp);
+
    stage->nr_tmps = nr;
 
    if (nr) {
@@ -244,7 +247,7 @@ void draw_alloc_tmps( struct draw_stage *stage, unsigned nr )
 }
 
 /**
- * Reset the verticies ids of this and subsequent stages.
+ * Reset the vertex ids for the stage's temp verts.
  */
 void draw_reset_tmps( struct draw_stage *stage )
 {
@@ -260,6 +263,7 @@ void draw_free_tmps( struct draw_stage *stage )
    if (stage->tmp) {
       FREE( stage->tmp[0] );
       FREE( stage->tmp );
+      stage->tmp = NULL;
    }
 }
 
index 03b48aa93cec94fe4eeadbd1cf15d18b49fdf6fe..09acf69623bc7388d6556fbbe1fcedc081a3e854 100644 (file)
@@ -100,7 +100,7 @@ struct draw_stage
 
    struct draw_stage *next;     /**< next stage in pipeline */
 
-   struct vertex_header **tmp;
+   struct vertex_header **tmp;  /**< temp vert storage, such as for clipping */
    unsigned nr_tmps;
 
    void (*begin)( struct draw_stage * );
@@ -117,7 +117,7 @@ struct draw_stage
    void (*end)( struct draw_stage * );
 
    /** 
-    * Reset temporary vertices ids in this stage 
+    * Reset temporary vertex ids in this stage 
     * 
     * draw_free_tmps will be called instead if null.
     */