diff options
author | Anuj Phogat <[email protected]> | 2014-03-18 17:01:19 -0700 |
---|---|---|
committer | Anuj Phogat <[email protected]> | 2014-04-16 18:37:06 -0700 |
commit | cb6566f9df61bfc84c27b382ba3e494bbac782d9 (patch) | |
tree | 83b2a75b4a37deb9a949f09ad7c76fd62ad88711 | |
parent | 313566825405c33f26a0471a997ec4c79fae6b08 (diff) |
mesa: Add error condition for integer formats in glGetTexImage()
OpenGL 4.0 spec, page 306 suggests an INVALID_OPERATION in glGetTexImage
if :
"format is one of the integer formats in table 3.3 and the internal
format of the texture image is not integer, or format is not one of
the integer formats in table 3.3 and the internal format is integer."
V2: Use helper function _mesa_is_format_integer()
Cc: <[email protected]>
Signed-off-by: Anuj Phogat <[email protected]>
Reviewed-by: Brian Paul <[email protected]>
-rw-r--r-- | src/mesa/main/texgetimage.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mesa/main/texgetimage.c b/src/mesa/main/texgetimage.c index daabf2e8138..2beb0abe6d2 100644 --- a/src/mesa/main/texgetimage.c +++ b/src/mesa/main/texgetimage.c @@ -853,6 +853,11 @@ getteximage_error_check(struct gl_context *ctx, GLenum target, GLint level, _mesa_error(ctx, GL_INVALID_OPERATION, "glGetTexImage(format mismatch)"); return GL_TRUE; } + else if (_mesa_is_enum_format_integer(format) != + _mesa_is_format_integer(texImage->TexFormat)) { + _mesa_error(ctx, GL_INVALID_OPERATION, "glGetTexImage(format mismatch)"); + return GL_TRUE; + } if (!_mesa_validate_pbo_access(dimensions, &ctx->Pack, texImage->Width, texImage->Height, texImage->Depth, |