mesa/es: Validate TexCoordPointer 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:13:00 -07:00
parent e5ef0cbe0e
commit c3e9a207d0
2 changed files with 6 additions and 16 deletions

View file

@ -1345,14 +1345,6 @@
<value name="3"/>
<value name="4"/>
</desc>
<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="VertexPointer">

View file

@ -354,18 +354,16 @@ void GLAPIENTRY
_mesa_TexCoordPointer(GLint size, GLenum type, GLsizei stride,
const GLvoid *ptr)
{
GLbitfield legalTypes = (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);
GLbitfield legalTypes = (ctx->API == API_OPENGLES)
? (BYTE_BIT | SHORT_BIT | FLOAT_BIT | FIXED_ES_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);
const GLuint unit = ctx->Array.ActiveTexture;
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
if (ctx->API == API_OPENGLES)
legalTypes |= BYTE_BIT;
update_array(ctx, "glTexCoordPointer", VERT_ATTRIB_TEX(unit),
legalTypes, 1, 4,
size, type, stride, GL_FALSE, GL_FALSE,