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

Submitted by Anthony Pesch on April 8, 2018, 6:09 p.m.

Details

Message ID 1523210956879.47140@nvidia.com
State New
Headers show
Series "Series without cover letter" ( rev: 3 2 ) in Piglit

Not browsing as part of any series.

Commit Message

Anthony Pesch April 8, 2018, 6:09 p.m.
Hey Juan,

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

Author: Anthony Pesch <apesch@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."


 - Anthony

Patch hide | download patch | download mbox

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