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

Anthony Pesch apesch at nvidia.com
Sun Apr 8 18:09:17 UTC 2018


Hey Juan,

I've updated the patch to include the OpenGL spec references:

Author: Anthony Pesch <apesch at nvidia.com>
Date:   Thu Mar 22 11:06:13 2018 -0400

    arb_get_texture_sub_image: fix expected error when querying a level which hasn't
    been explicitly defined
    
    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."

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 */

 - Anthony

________________________________________
From: Juan A. Suarez Romero <jasuarez at igalia.com>
Sent: Wednesday, April 4, 2018 1:17 PM
To: Anthony Pesch; Anthony Pesch; piglit at lists.freedesktop.org
Subject: Re: [Piglit] [PATCH 1/3] arb_get_texture_sub_image: fix expected error when querying a level which hasn't been explicitly defined

On Wed, 2018-04-04 at 15:04 +0000, Anthony Pesch wrote:
> Hey Juan,
>
> The change from INVALID_OPERATION to INVALID_VALUE isn't because the level value is invalid.
>
> 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 invalid.
>
> 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."
>


Thanks for the info!

I think your assumption is correct: all non-defined levels have an empty
initialized empty.

Do you mind to include such OpenGL reference in the commit message?

With that,

Reviewed-by: Juan A. Suarez <jasuarez at igalia.com>

>  - Anthony
>
> ________________________________________
> From: Piglit <piglit-bounces at lists.freedesktop.org> on behalf of Juan A. Suarez Romero <jasuarez at igalia.com>
> Sent: Wednesday, April 4, 2018 7:12 AM
> To: Anthony Pesch; piglit at lists.freedesktop.org
> Subject: Re: [Piglit] [PATCH 1/3] arb_get_texture_sub_image: fix expected error when querying a level which hasn't been explicitly defined
>
> On Wed, 2018-03-28 at 11:15 -0400, Anthony Pesch wrote:
> > 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. This is a valid operation, the
> > error set should be due to the requested width and height being greater than
> > the default width and height of zero.
>
> I have some doubts with this patch. I've been checking OpenGL 4.5 spec, section
> 8.11.4 Texture Image Queries, and this is what I found:
>
> "An INVALID_VALUE error is generated if level is negative or larger than the
> maximum allowable level."
>
>
> In this case, level is 4, so we aren't in this case, as the level is not
> negative, and it is smaller than the maximum allowable level (15, the
> implementation I use).
>
>
> So really don't know what should be the expected error, INVALID_OPERATION or
> INVALID_VALUE.
>
>
>         J.A.
>
>
>
> >  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 */
>
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/piglit
>


More information about the Piglit mailing list