gettextsubimage: verify zoffset and depth are correct
authorJuan A. Suarez Romero <jasuarez@igalia.com>
Thu, 5 Apr 2018 08:48:26 +0000 (08:48 +0000)
committerJuan A. Suarez Romero <jasuarez@igalia.com>
Fri, 13 Apr 2018 15:47:27 +0000 (17:47 +0200)
According to OpenGL 4.6 spec, section 8.11.4 ("Texture Image Queries"),
relative to errors for GetTextureSubImage() function:

  "An INVALID_VALUE error is generated if the effective target is
   TEXTURE_1D and either yoffset is not zero, or height is not one.

   An INVALID_VALUE error is generated if the effective target is
   TEXTURE_1D, TEXTURE_1D_ARRAY, TEXTURE_2D or TEXTURE_RECTANGLE, and
   either zoffset is not zero, or depth is not one."

The commit fixes the check for height and depth.

This fixes arb_get_texture_sub_image piglit tests.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
src/mesa/main/texgetimage.c

index c61842e39ad73bd6faf4b5c5872cf289ba207cba..fbdbcd90a7d1f9de84ad4c691a89a6d9c180f600 100644 (file)
@@ -953,7 +953,7 @@ dimensions_error_check(struct gl_context *ctx,
                      "%s(1D, yoffset = %d)", caller, yoffset);
          return true;
       }
-      if (height > 1) {
+      if (height != 1) {
          _mesa_error(ctx, GL_INVALID_VALUE,
                      "%s(1D, height = %d)", caller, height);
          return true;
@@ -967,7 +967,7 @@ dimensions_error_check(struct gl_context *ctx,
                      "%s(zoffset = %d)", caller, zoffset);
          return true;
       }
-      if (depth > 1) {
+      if (depth != 1) {
          _mesa_error(ctx, GL_INVALID_VALUE,
                      "%s(depth = %d)", caller, depth);
          return true;