On 09/24/2012 06:42 PM, Eric Anholt wrote:
Brian Paul<[email protected]> writes:
From: Brian Paul<[email protected]>
If a subtexture region isn't aligned to the compressed block size,
return GL_INVALID_OPERATION, not gl_INVALID_VALUE.
NOTE: This is a candidate for the stable branches.
---
src/mesa/main/teximage.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
index 08af668..c22e853 100644
--- a/src/mesa/main/teximage.c
+++ b/src/mesa/main/teximage.c
@@ -3574,13 +3574,13 @@ compressed_subtexture_error_check(struct gl_context
*ctx, GLint dimensions,
get_compressed_block_size(format,&bw,&bh);
if ((xoffset % bw != 0) || (yoffset % bh != 0))
- return GL_INVALID_VALUE;
+ return GL_INVALID_OPERATION;
if ((width % bw != 0)&& width != 2&& width != 1)
- return GL_INVALID_VALUE;
+ return GL_INVALID_OPERATION;
if ((height % bh != 0)&& height != 2&& height != 1)
- return GL_INVALID_VALUE;
+ return GL_INVALID_OPERATION;
Reviewed-by: Eric Anholt<[email protected]>
The conditions are pretty bogus, though. The s3tc text says:
INVALID_OPERATION is generated by CompressedTexSubImage2D if
TEXTURE_INTERNAL_FORMAT is COMPRESSED_RGB_S3TC_DXT1_EXT,
COMPRESSED_RGBA_S3TC_DXT1_EXT, COMPRESSED_RGBA_S3TC_DXT3_EXT, or
COMPRESSED_RGBA_S3TC_DXT5_EXT and any of the following apply:
*<width> is not a multiple of four, and<width> plus<xoffset> is not
equal to TEXTURE_WIDTH;
*<height> is not a multiple of four, and<height> plus<yoffset> is
not equal to TEXTURE_HEIGHT; or
and the 3.1 core spec text says (section 3.8.3):
These commands will result in an INVALID_OPERATION error if one of
the following conditions occurs:
• width is not a multiple of four, and width + xoffset is not equal
to the value of TEXTURE_WIDTH.
• height is not a multiple of four, and height + yoffset is not
equal to the value of TEXTURE_HEIGHT.
• xoffset or yoffset is not a multiple of four.
Looks like this code wants to live in
compressed_subtexture_error_check2(), which has some overlapping checks
in it.
The follow-on patches consolidate all this texsubimage error checking
code.
-Brian
_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev