diff options
author | Ian Romanick <ian.d.romanick@intel.com> | 2012-07-26 18:46:23 -0700 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2012-10-24 11:41:06 -0700 |
commit | b75d5c671f95116c61c44729b04db19b076e9cfc (patch) | |
tree | e0d100a59942fba0bfa520d18500397ca8326e12 | |
parent | 7e7f7a32c2d84c15033ab7e02500edf92664cf47 (diff) |
mesa/es: Validate glTexImage border in Mesa code rather than the ES wrapper
Also validate glCopyTexImage border. This fixes a bug in the APIspec.
Previously glTexImage3DOES could be passed a non-zero border without error.
NOTE: This is a candidate for stable release branches.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
(cherry picked from commit 0686ccac950bac1a650400b29c47ddaafea22fa9)
-rw-r--r-- | src/mesa/main/APIspec.xml | 8 | ||||
-rw-r--r-- | src/mesa/main/teximage.c | 6 |
2 files changed, 4 insertions, 10 deletions
diff --git a/src/mesa/main/APIspec.xml b/src/mesa/main/APIspec.xml index eeae599298f..793dce15372 100644 --- a/src/mesa/main/APIspec.xml +++ b/src/mesa/main/APIspec.xml @@ -440,10 +440,6 @@ </desc> </desc> - <desc name="border" error="GL_INVALID_VALUE"> - <value name="0"/> - </desc> - <desc name="format"> <value name="GL_ALPHA"/> @@ -1918,10 +1914,6 @@ <value name="GL_LUMINANCE"/> <value name="GL_LUMINANCE_ALPHA"/> </desc> - - <desc name="border" error="GL_INVALID_VALUE"> - <value name="0"/> - </desc> </template> <template name="CopyTexSubImage2D"> diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index b569a4927b9..888c7ad230c 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -1603,7 +1603,8 @@ texture_error_check( struct gl_context *ctx, /* Check border */ if (border < 0 || border > 1 || - ((target == GL_TEXTURE_RECTANGLE_NV || + ((ctx->API != API_OPENGL || + target == GL_TEXTURE_RECTANGLE_NV || target == GL_PROXY_TEXTURE_RECTANGLE_NV) && border != 0)) { if (!isProxy) { _mesa_error(ctx, GL_INVALID_VALUE, @@ -2004,7 +2005,8 @@ copytexture_error_check( struct gl_context *ctx, GLuint dimensions, /* Check border */ if (border < 0 || border > 1 || - ((target == GL_TEXTURE_RECTANGLE_NV || + ((ctx->API != API_OPENGL || + target == GL_TEXTURE_RECTANGLE_NV || target == GL_PROXY_TEXTURE_RECTANGLE_NV) && border != 0)) { _mesa_error(ctx, GL_INVALID_VALUE, "glCopyTexImage%dD(border=%d)", dimensions, border); |