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

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


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

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Wed Jul 25 14:53:01 2012 -0700

mesa/es: Validate ColorPointer 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 |    7 -------
 src/mesa/main/varray.c    |   15 ++++++++-------
 2 files changed, 8 insertions(+), 14 deletions(-)

diff --git a/src/mesa/main/APIspec.xml b/src/mesa/main/APIspec.xml
index 6d4ae0d..5201647 100644
--- a/src/mesa/main/APIspec.xml
+++ b/src/mesa/main/APIspec.xml
@@ -1222,13 +1222,6 @@
 	<desc name="size" error="GL_INVALID_VALUE">
 		<value name="4"/>
 	</desc>
-
-	<desc name="type">
-		<value name="GL_UNSIGNED_BYTE"/>
-		<value name="GL_FLOAT"/>
-		<value name="GL_FIXED"/>
-		<value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/>
-	</desc>
 </template>
 
 <template name="DisableClientState">
diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c
index b1d65ed..e64c3c5 100644
--- a/src/mesa/main/varray.c
+++ b/src/mesa/main/varray.c
@@ -285,14 +285,15 @@ _mesa_NormalPointer(GLenum type, GLsizei stride, const GLvoid *ptr )
 void GLAPIENTRY
 _mesa_ColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr)
 {
-   const GLbitfield legalTypes = (BYTE_BIT | UNSIGNED_BYTE_BIT |
-                                  SHORT_BIT | UNSIGNED_SHORT_BIT |
-                                  INT_BIT | UNSIGNED_INT_BIT |
-                                  HALF_BIT | FLOAT_BIT | DOUBLE_BIT |
-                                  FIXED_ES_BIT |
-                                  UNSIGNED_INT_2_10_10_10_REV_BIT |
-                                  INT_2_10_10_10_REV_BIT);
    GET_CURRENT_CONTEXT(ctx);
+   const GLbitfield legalTypes = (ctx->API == API_OPENGLES)
+      ? (UNSIGNED_BYTE_BIT | HALF_BIT | FLOAT_BIT | FIXED_ES_BIT)
+      : (BYTE_BIT | UNSIGNED_BYTE_BIT |
+         SHORT_BIT | UNSIGNED_SHORT_BIT |
+         INT_BIT | UNSIGNED_INT_BIT |
+         HALF_BIT | FLOAT_BIT | DOUBLE_BIT |
+         UNSIGNED_INT_2_10_10_10_REV_BIT |
+         INT_2_10_10_10_REV_BIT);
    ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
 
    update_array(ctx, "glColorPointer", VERT_ATTRIB_COLOR0,




More information about the mesa-commit mailing list