Mesa (master): draw: Assert that only the first vetex may have flags set.
Chia-I Wu
olv at kemper.freedesktop.org
Fri Aug 6 18:15:58 UTC 2010
Module: Mesa
Branch: master
Commit: 6ae39f6dca8f0968902642f04f1deb6f573edb6d
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6ae39f6dca8f0968902642f04f1deb6f573edb6d
Author: Chia-I Wu <olv at lunarg.com>
Date: Sat Aug 7 02:14:50 2010 -0600
draw: Assert that only the first vetex may have flags set.
642d5ba79abc6a231a5fdabb3454b9b082b0d7f8 removed flags masking for
vertices other than the first one. Add assertions to be on the safe
side.
---
src/gallium/auxiliary/draw/draw_pipe.c | 36 ++++++++++++++++++++-----------
1 files changed, 23 insertions(+), 13 deletions(-)
diff --git a/src/gallium/auxiliary/draw/draw_pipe.c b/src/gallium/auxiliary/draw/draw_pipe.c
index 070ac80..58995e0 100644
--- a/src/gallium/auxiliary/draw/draw_pipe.c
+++ b/src/gallium/auxiliary/draw/draw_pipe.c
@@ -175,21 +175,31 @@ static void do_triangle( struct draw_context *draw,
* higher bits of i0. Otherwise, flags do not matter.
*/
-#define TRIANGLE(flags,i0,i1,i2) \
- do_triangle( draw, \
- i0, /* flags */ \
- verts + stride * (i0 & ~DRAW_PIPE_FLAG_MASK), \
- verts + stride * (i1), \
- verts + stride * (i2) )
-
-#define LINE(flags,i0,i1) \
- do_line( draw, \
- i0, /* flags */ \
- verts + stride * (i0 & ~DRAW_PIPE_FLAG_MASK), \
- verts + stride * (i1) )
+#define TRIANGLE(flags,i0,i1,i2) \
+ do { \
+ assert(!((i1) & DRAW_PIPE_FLAG_MASK)); \
+ assert(!((i2) & DRAW_PIPE_FLAG_MASK)); \
+ do_triangle( draw, \
+ i0, /* flags */ \
+ verts + stride * (i0 & ~DRAW_PIPE_FLAG_MASK), \
+ verts + stride * (i1), \
+ verts + stride * (i2) ); \
+ } while (0)
+
+#define LINE(flags,i0,i1) \
+ do { \
+ assert(!((i1) & DRAW_PIPE_FLAG_MASK)); \
+ do_line( draw, \
+ i0, /* flags */ \
+ verts + stride * (i0 & ~DRAW_PIPE_FLAG_MASK), \
+ verts + stride * (i1) ); \
+ } while (0)
#define POINT(i0) \
- do_point( draw, verts + stride * (i0) )
+ do { \
+ assert(!((i0) & DRAW_PIPE_FLAG_MASK)); \
+ do_point( draw, verts + stride * (i0) ); \
+ } while (0)
#define GET_ELT(idx) (elts[idx])
More information about the mesa-commit
mailing list