[Mesa-dev] [PATCH 5/7] util/prim: use vertex count info in u_validate_pipe_prim()

Chia-I Wu olvaffe at gmail.com
Thu May 2 00:55:51 PDT 2013


As a side effect, primitives with adjacency are now correctly validated.

Signed-off-by: Chia-I Wu <olvaffe at gmail.com>
---
 src/gallium/auxiliary/util/u_prim.h |   34 ++--------------------------------
 1 file changed, 2 insertions(+), 32 deletions(-)

diff --git a/src/gallium/auxiliary/util/u_prim.h b/src/gallium/auxiliary/util/u_prim.h
index c6a0708..d49acde 100644
--- a/src/gallium/auxiliary/util/u_prim.h
+++ b/src/gallium/auxiliary/util/u_prim.h
@@ -138,39 +138,9 @@ u_prim_vertex_count(unsigned prim)
 
 static INLINE boolean u_validate_pipe_prim( unsigned pipe_prim, unsigned nr )
 {
-   boolean ok = TRUE;
-
-   switch (pipe_prim) {
-   case PIPE_PRIM_POINTS:
-      ok = (nr >= 1);
-      break;
-   case PIPE_PRIM_LINES:
-      ok = (nr >= 2);
-      break;
-   case PIPE_PRIM_LINE_STRIP:
-   case PIPE_PRIM_LINE_LOOP:
-      ok = (nr >= 2);
-      break;
-   case PIPE_PRIM_TRIANGLES:
-      ok = (nr >= 3);
-      break;
-   case PIPE_PRIM_TRIANGLE_STRIP:
-   case PIPE_PRIM_TRIANGLE_FAN:
-   case PIPE_PRIM_POLYGON:
-      ok = (nr >= 3);
-      break;
-   case PIPE_PRIM_QUADS:
-      ok = (nr >= 4);
-      break;
-   case PIPE_PRIM_QUAD_STRIP:
-      ok = (nr >= 4);
-      break;
-   default:
-      ok = 0;
-      break;
-   }
+   const struct u_prim_vertex_count *count = u_prim_vertex_count(pipe_prim);
 
-   return ok;
+   return (count && nr >= count->min);
 }
 
 
-- 
1.7.10.4



More information about the mesa-dev mailing list