Mesa (master): mesa/es: Validate VertexPointer types in Mesa code rather than the ES wrapper

Ian Romanick idr at kemper.freedesktop.org
Sat Aug 25 02:15:08 UTC 2012


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

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Wed Jul 25 15:19:31 2012 -0700

mesa/es: Validate VertexPointer types in Mesa code rather than the ES wrapper

Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>

---

 src/mesa/main/APIspec.xml |    8 --------
 src/mesa/main/varray.c    |   13 ++++++-------
 2 files changed, 6 insertions(+), 15 deletions(-)

diff --git a/src/mesa/main/APIspec.xml b/src/mesa/main/APIspec.xml
index 4657b3c..d19a2b0 100644
--- a/src/mesa/main/APIspec.xml
+++ b/src/mesa/main/APIspec.xml
@@ -1349,14 +1349,6 @@
 		<param name="stride" type="GLsizei"/>
 		<param name="pointer" type="const GLvoid *"/>
 	</proto>
-
-	<desc name="type">
-		<value name="GL_BYTE"/>
-		<value name="GL_SHORT"/>
-		<value name="GL_FLOAT"/>
-		<value name="GL_FIXED"/>
-		<value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/>
-	</desc>
 </template>
 
 <template name="PolygonOffset">
diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c
index 4269fd2..8c3ddc5 100644
--- a/src/mesa/main/varray.c
+++ b/src/mesa/main/varray.c
@@ -249,16 +249,15 @@ update_array(struct gl_context *ctx,
 void GLAPIENTRY
 _mesa_VertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr)
 {
-   GLbitfield legalTypes = (SHORT_BIT | INT_BIT | FLOAT_BIT |
-                            DOUBLE_BIT | HALF_BIT | FIXED_ES_BIT |
-                            UNSIGNED_INT_2_10_10_10_REV_BIT |
-                            INT_2_10_10_10_REV_BIT);
    GET_CURRENT_CONTEXT(ctx);
+   GLbitfield legalTypes = (ctx->API == API_OPENGLES)
+      ? (BYTE_BIT | SHORT_BIT | FLOAT_BIT | FIXED_ES_BIT)
+      : (SHORT_BIT | INT_BIT | FLOAT_BIT |
+         DOUBLE_BIT | HALF_BIT |
+         UNSIGNED_INT_2_10_10_10_REV_BIT |
+         INT_2_10_10_10_REV_BIT);
    ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
 
-   if (ctx->API == API_OPENGLES)
-      legalTypes |= BYTE_BIT;
-
    update_array(ctx, "glVertexPointer", VERT_ATTRIB_POS,
                 legalTypes, 2, 4,
                 size, type, stride, GL_FALSE, GL_FALSE, ptr);




More information about the mesa-commit mailing list