Mesa (master): mesa/es: Validate NormalPointer 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: e5ef0cbe0e4e45df6ff74a2a40ddb83d8bc3a8cc
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e5ef0cbe0e4e45df6ff74a2a40ddb83d8bc3a8cc
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Wed Jul 25 15:10:21 2012 -0700
mesa/es: Validate NormalPointer 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 | 11 ++++++-----
2 files changed, 6 insertions(+), 13 deletions(-)
diff --git a/src/mesa/main/APIspec.xml b/src/mesa/main/APIspec.xml
index 3d5f521..4812758 100644
--- a/src/mesa/main/APIspec.xml
+++ b/src/mesa/main/APIspec.xml
@@ -1329,14 +1329,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="TexCoordPointer">
diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c
index f3c869f..165b957 100644
--- a/src/mesa/main/varray.c
+++ b/src/mesa/main/varray.c
@@ -268,12 +268,13 @@ _mesa_VertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr)
void GLAPIENTRY
_mesa_NormalPointer(GLenum type, GLsizei stride, const GLvoid *ptr )
{
- const GLbitfield legalTypes = (BYTE_BIT | SHORT_BIT | 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)
+ ? (BYTE_BIT | SHORT_BIT | FLOAT_BIT | FIXED_ES_BIT)
+ : (BYTE_BIT | SHORT_BIT | 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, "glNormalPointer", VERT_ATTRIB_NORMAL,
More information about the mesa-commit
mailing list