Module: Mesa Branch: master Commit: e2cf14d7b273657cce364236cd041c4ca3f94a6b URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e2cf14d7b273657cce364236cd041c4ca3f94a6b
Author: Ian Romanick <[email protected]> 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 <[email protected]> --- 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); _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
