[Piglit] [PATCH 1/3] arb_get_texture_sub_image: fix expected error when querying a level which hasn't been explicitly defined

Anthony Pesch inolen at gmail.com
Wed Apr 11 16:45:07 UTC 2018

From: Anthony Pesch <apesch at nvidia.com>

Change expected error from INVALID_OPERATION to INVALID_VALUE when querying a
level which hasn't been explicitly defined. The level is valid, however, the
level hasn't been explicitly defined so it should have a default width and
height of 0, making the 8x8 query produce an INVALID_VALUE.

>From the OpenGL 4.6 spec, 8.22 Texture State and Proxy State:
"Each initial texture image is null. It has zero width, height, and depth,
internal format RGBA, or R8 for buffer textures, component sizes set to zero and
component types set to NONE, the compressed flag set to FALSE, a zero compressed
size, and the bound buffer object name is zero."

>From the GetTextureSubImage errors in 8.11.4:
"An INVALID_VALUE error is generated if xoffset + width is greater than the
texture’s width, yoffset + height is greater than the texture’s height, or
zoffset + depth is greater than the texture’s depth."

Reviewed-by: Arthur Huillet <ahuillet at nvidia.com>
Reviewed-by: Juan A. Suarez <jasuarez at igalia.com>
 tests/spec/arb_get_texture_sub_image/errors.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/spec/arb_get_texture_sub_image/errors.c b/tests/spec/arb_get_texture_sub_image/errors.c
index 34fec4a95..57875fa6a 100644
--- a/tests/spec/arb_get_texture_sub_image/errors.c
+++ b/tests/spec/arb_get_texture_sub_image/errors.c
@@ -200,7 +200,7 @@ test_invalid_values(void)
 			     8, 8, 1, /* size */
 			     GL_RGBA, GL_FLOAT,  /* bad enum */
 			     sizeof(buffer), buffer);
-	if (!piglit_check_gl_error(GL_INVALID_OPERATION))
+	if (!piglit_check_gl_error(GL_INVALID_VALUE))
 		pass = false;
 	/* Test getting invalid offset */

More information about the Piglit mailing list