Mesa (master): mesa: add missing texture integer test in glTexSubImage()

Brian Paul brianp at kemper.freedesktop.org
Thu Feb 16 16:44:30 UTC 2012


Module: Mesa
Branch: master
Commit: 6f3d91840945fbd9221a247e4f95b32c4051f202
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6f3d91840945fbd9221a247e4f95b32c4051f202

Author: Brian Paul <brianp at vmware.com>
Date:   Wed Feb 15 15:29:29 2012 -0700

mesa: add missing texture integer test in glTexSubImage()

If the texture format is integer, the incoming user data must also be
integer (and similarly for non-integer textures).

NOTE: This is a candidate for the stable branches.

Reviewed-by: Yuanhan Liu <yuanhan.liu at linux.intel.com>
Reviewed-by: Eric Anholt <eric at anholt.net>

---

 src/mesa/main/teximage.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
index e4eb7f6..6acff24 100644
--- a/src/mesa/main/teximage.c
+++ b/src/mesa/main/teximage.c
@@ -1852,6 +1852,17 @@ subtexture_error_check2( struct gl_context *ctx, GLuint dimensions,
       }         
    }
 
+   if (ctx->VersionMajor >= 3 || ctx->Extensions.EXT_texture_integer) {
+      /* both source and dest must be integer-valued, or neither */
+      if (_mesa_is_format_integer_color(destTex->TexFormat) !=
+          _mesa_is_integer_format(format)) {
+         _mesa_error(ctx, GL_INVALID_OPERATION,
+                     "glTexSubImage%dD(integer/non-integer format mismatch)",
+                     dimensions);
+         return GL_TRUE;
+      }
+   }
+
    return GL_FALSE;
 }
 




More information about the mesa-commit mailing list