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

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
Ian Romanick
2012-07-25 15:19:31 -07:00
parent ef723ecce4
commit e2cf14d7b2
2 changed files with 6 additions and 15 deletions
-8
View File
@@ -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">
+6 -7
View File
@@ -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);