diff options
author | Ian Romanick <[email protected]> | 2012-07-25 15:19:31 -0700 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2012-08-24 19:13:18 -0700 |
commit | e2cf14d7b273657cce364236cd041c4ca3f94a6b (patch) | |
tree | 2755f9ebc49e8635a85de350f74f71e837bf0d96 | |
parent | ef723ecce42c1823e5a9eb3b9e25be9bd9d66208 (diff) |
mesa/es: Validate VertexPointer types in Mesa code rather than the ES wrapper
Signed-off-by: Ian Romanick <[email protected]>
-rw-r--r-- | src/mesa/main/APIspec.xml | 8 | ||||
-rw-r--r-- | 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 4657b3c6ef4..d19a2b02bd1 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 4269fd25da4..8c3ddc524aa 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); |