draw: Add an assertion to varray's version of trim().
authorChia-I Wu <olv@lunarg.com>
Fri, 6 Aug 2010 16:50:32 +0000 (00:50 +0800)
committerChia-I Wu <olv@lunarg.com>
Fri, 6 Aug 2010 18:20:06 +0000 (02:20 +0800)
Assert that "first" is always smaller than "count" and add reasoning.
It would be better to simply fix trim(), but it is used in tight loops
right now.

src/gallium/auxiliary/draw/draw_pt_varray_tmp_linear.h

index a292346be957b92b55b72ea86d57a21c01bd874f..55e43b2a714e86e65a697b1394c0ffef0e54150c 100644 (file)
@@ -1,6 +1,11 @@
 static unsigned trim( unsigned count, unsigned first, unsigned incr )
 {
-   return count - (count - first) % incr; 
+   /*
+    * count either has been trimmed in draw_pt_arrays or is set to
+    * (driver)_fetch_max which is hopefully always larger than first.
+    */
+   assert(count >= first);
+   return count - (count - first) % incr;
 }
 
 static void FUNC(struct draw_pt_front_end *frontend,