summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2012-07-25 15:13:51 -0700
committerIan Romanick <[email protected]>2012-08-24 19:13:18 -0700
commita8f475d8f6b56ddec36634437d007e06b48ff1cd (patch)
tree7687b3da81b2933d40f7323d2fef1a0657ac2d70
parentc3e9a207d0cb650045304cac559958d275a63284 (diff)
mesa/es: Validate TexCoordPointer size in Mesa code rather than the ES wrapper
Signed-off-by: Ian Romanick <[email protected]>
-rw-r--r--src/mesa/main/APIspec.xml6
-rw-r--r--src/mesa/main/varray.c3
2 files changed, 2 insertions, 7 deletions
diff --git a/src/mesa/main/APIspec.xml b/src/mesa/main/APIspec.xml
index c08a82be4c7..0316d4cee79 100644
--- a/src/mesa/main/APIspec.xml
+++ b/src/mesa/main/APIspec.xml
@@ -1339,12 +1339,6 @@
<param name="stride" type="GLsizei"/>
<param name="pointer" type="const GLvoid *"/>
</proto>
-
- <desc name="size" error="GL_INVALID_VALUE">
- <value name="2"/>
- <value name="3"/>
- <value name="4"/>
- </desc>
</template>
<template name="VertexPointer">
diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c
index aacc5c9c3f3..4269fd25da4 100644
--- a/src/mesa/main/varray.c
+++ b/src/mesa/main/varray.c
@@ -361,11 +361,12 @@ _mesa_TexCoordPointer(GLint size, GLenum type, GLsizei stride,
HALF_BIT | FLOAT_BIT | DOUBLE_BIT |
UNSIGNED_INT_2_10_10_10_REV_BIT |
INT_2_10_10_10_REV_BIT);
+ const GLint sizeMin = (ctx->API == API_OPENGLES) ? 2 : 1;
const GLuint unit = ctx->Array.ActiveTexture;
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
update_array(ctx, "glTexCoordPointer", VERT_ATTRIB_TEX(unit),
- legalTypes, 1, 4,
+ legalTypes, sizeMin, 4,
size, type, stride, GL_FALSE, GL_FALSE,
ptr);
}