Mesa (master): draw: Add an assertion to varray's version of trim().

Chia-I Wu olv at kemper.freedesktop.org
Fri Aug 6 18:21:08 UTC 2010


Module: Mesa
Branch: master
Commit: e34c52da87990b1ec64602a20418cdb274deefa9
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e34c52da87990b1ec64602a20418cdb274deefa9

Author: Chia-I Wu <olv at lunarg.com>
Date:   Sat Aug  7 00:50:32 2010 +0800

draw: Add an assertion to varray's version of trim().

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.

---

 .../auxiliary/draw/draw_pt_varray_tmp_linear.h     |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/src/gallium/auxiliary/draw/draw_pt_varray_tmp_linear.h b/src/gallium/auxiliary/draw/draw_pt_varray_tmp_linear.h
index a292346..55e43b2 100644
--- a/src/gallium/auxiliary/draw/draw_pt_varray_tmp_linear.h
+++ b/src/gallium/auxiliary/draw/draw_pt_varray_tmp_linear.h
@@ -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,




More information about the mesa-commit mailing list