[3/3] arb_get_texture_sub_image: update cube map tests to complete the cube map

Submitted by Anthony Pesch on March 28, 2018, 3:15 p.m.

Details

Message ID 20180328151523.17491-3-inolen@gmail.com
State New
Headers show
Series "Series without cover letter" ( rev: 2 1 ) in Piglit

Not browsing as part of any series.

Commit Message

Anthony Pesch March 28, 2018, 3:15 p.m.
From: Anthony Pesch <apesch@nvidia.com>

Update cube map tests to complete the cube map before performing the final
query. This final query is expected to succeed, however, querying a cube map
which is not cube complete should set INVALID_OPERATION as per the OpenGL 4.6
Core spec:

"An INVALID_OPERATION error is generated if the effective target is
TEXTURE_CUBE_MAP or TEXTURE_CUBE_MAP_ARRAY, and the texture object
is not cube complete or cube array complete, respectively."
---
 tests/spec/arb_get_texture_sub_image/errors.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

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 1e7b17115..4b99d1cc2 100644
--- a/tests/spec/arb_get_texture_sub_image/errors.c
+++ b/tests/spec/arb_get_texture_sub_image/errors.c
@@ -253,16 +253,20 @@  test_cubemap_faces(void)
                         0, GL_RGBA, 8, 8, 0, GL_RGBA, GL_FLOAT, NULL);
         }
 
-        /* try to get all six cube faces, should fail */
+        /* try to query incomplete cube map, should fail */
         glGetTextureSubImage(tex, 0,
                              0, 0, 0,
-                             8, 8, 6,
+                             8, 8, 5,
                              GL_RGBA, GL_UNSIGNED_BYTE,
                              sizeof(results), results);
 	if (!piglit_check_gl_error(GL_INVALID_OPERATION))
 		pass = false;
 
-        /* try to get five cube faces, should pass */
+	/* upload final face */
+	glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + 5,
+	             0, GL_RGBA, 8, 8, 0, GL_RGBA, GL_FLOAT, NULL);
+
+        /* try to query complete cube map, should now pass */
         glGetTextureSubImage(tex, 0,
                              0, 0, 0,
                              8, 8, 5,

Comments

I'm less confident than for the others but

Reviewed-by: Arthur Huillet <ahuillet@nvidia.com>

On 28.03.2018 17:15, Anthony Pesch wrote:
> From: Anthony Pesch <apesch@nvidia.com>
> 
> Update cube map tests to complete the cube map before performing the 
> final
> query. This final query is expected to succeed, however, querying a 
> cube map
> which is not cube complete should set INVALID_OPERATION as per the 
> OpenGL 4.6
> Core spec:
> 
> "An INVALID_OPERATION error is generated if the effective target is
> TEXTURE_CUBE_MAP or TEXTURE_CUBE_MAP_ARRAY, and the texture object
> is not cube complete or cube array complete, respectively."
> ---
>  tests/spec/arb_get_texture_sub_image/errors.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/spec/arb_get_texture_sub_image/errors.c
> b/tests/spec/arb_get_texture_sub_image/errors.c
> index 1e7b17115..4b99d1cc2 100644
> --- a/tests/spec/arb_get_texture_sub_image/errors.c
> +++ b/tests/spec/arb_get_texture_sub_image/errors.c
> @@ -253,16 +253,20 @@ test_cubemap_faces(void)
>                          0, GL_RGBA, 8, 8, 0, GL_RGBA, GL_FLOAT, NULL);
>          }
> 
> -        /* try to get all six cube faces, should fail */
> +        /* try to query incomplete cube map, should fail */
>          glGetTextureSubImage(tex, 0,
>                               0, 0, 0,
> -                             8, 8, 6,
> +                             8, 8, 5,
>                               GL_RGBA, GL_UNSIGNED_BYTE,
>                               sizeof(results), results);
>  	if (!piglit_check_gl_error(GL_INVALID_OPERATION))
>  		pass = false;
> 
> -        /* try to get five cube faces, should pass */
> +	/* upload final face */
> +	glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + 5,
> +	             0, GL_RGBA, 8, 8, 0, GL_RGBA, GL_FLOAT, NULL);
> +
> +        /* try to query complete cube map, should now pass */
>          glGetTextureSubImage(tex, 0,
>                               0, 0, 0,
>                               8, 8, 5,
On Wed, 2018-03-28 at 11:15 -0400, Anthony Pesch wrote:
> From: Anthony Pesch <apesch@nvidia.com>
> 
> Update cube map tests to complete the cube map before performing the final
> query. This final query is expected to succeed, however, querying a cube map
> which is not cube complete should set INVALID_OPERATION as per the OpenGL 4.6
> Core spec:
> 
> "An INVALID_OPERATION error is generated if the effective target is
> TEXTURE_CUBE_MAP or TEXTURE_CUBE_MAP_ARRAY, and the texture object
> is not cube complete or cube array complete, respectively."
> ---


Isn't there a similar problem in tests/spec/arb_get_texture_sub_image/get.c,
when invoking test_getsubimage() with a GL_TEXTURE_CUBE_MAP  ?


	J.A.

>  tests/spec/arb_get_texture_sub_image/errors.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/spec/arb_get_texture_sub_image/errors.c b/tests/spec/arb_get_texture_sub_image/errors.c
> index 1e7b17115..4b99d1cc2 100644
> --- a/tests/spec/arb_get_texture_sub_image/errors.c
> +++ b/tests/spec/arb_get_texture_sub_image/errors.c
> @@ -253,16 +253,20 @@ test_cubemap_faces(void)
>                          0, GL_RGBA, 8, 8, 0, GL_RGBA, GL_FLOAT, NULL);
>          }
>  
> -        /* try to get all six cube faces, should fail */
> +        /* try to query incomplete cube map, should fail */
>          glGetTextureSubImage(tex, 0,
>                               0, 0, 0,
> -                             8, 8, 6,
> +                             8, 8, 5,
>                               GL_RGBA, GL_UNSIGNED_BYTE,
>                               sizeof(results), results);
>  	if (!piglit_check_gl_error(GL_INVALID_OPERATION))
>  		pass = false;
>  
> -        /* try to get five cube faces, should pass */
> +	/* upload final face */
> +	glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + 5,
> +	             0, GL_RGBA, 8, 8, 0, GL_RGBA, GL_FLOAT, NULL);
> +
> +        /* try to query complete cube map, should now pass */
>          glGetTextureSubImage(tex, 0,
>                               0, 0, 0,
>                               8, 8, 5,
On Thu, 2018-04-05 at 10:19 +0200, Juan A. Suarez Romero wrote:
> On Wed, 2018-03-28 at 11:15 -0400, Anthony Pesch wrote:
> > From: Anthony Pesch <apesch@nvidia.com>
> > 
> > Update cube map tests to complete the cube map before performing the final
> > query. This final query is expected to succeed, however, querying a cube map
> > which is not cube complete should set INVALID_OPERATION as per the OpenGL 4.6
> > Core spec:
> > 
> > "An INVALID_OPERATION error is generated if the effective target is
> > TEXTURE_CUBE_MAP or TEXTURE_CUBE_MAP_ARRAY, and the texture object
> > is not cube complete or cube array complete, respectively."
> > ---
> 
> 
> Isn't there a similar problem in tests/spec/arb_get_texture_sub_image/get.c,
> when invoking test_getsubimage() with a GL_TEXTURE_CUBE_MAP  ?
> 

More specifically, the test is only setting one face of the cube, so the cube is
 incomplete. It should set all the faces.

This change can be included within this patch.

	J.A.

> 
> 	J.A.
> 
> >  tests/spec/arb_get_texture_sub_image/errors.c | 10 +++++++---
> >  1 file changed, 7 insertions(+), 3 deletions(-)
> > 
> > diff --git a/tests/spec/arb_get_texture_sub_image/errors.c b/tests/spec/arb_get_texture_sub_image/errors.c
> > index 1e7b17115..4b99d1cc2 100644
> > --- a/tests/spec/arb_get_texture_sub_image/errors.c
> > +++ b/tests/spec/arb_get_texture_sub_image/errors.c
> > @@ -253,16 +253,20 @@ test_cubemap_faces(void)
> >                          0, GL_RGBA, 8, 8, 0, GL_RGBA, GL_FLOAT, NULL);
> >          }
> >  
> > -        /* try to get all six cube faces, should fail */
> > +        /* try to query incomplete cube map, should fail */
> >          glGetTextureSubImage(tex, 0,
> >                               0, 0, 0,
> > -                             8, 8, 6,
> > +                             8, 8, 5,
> >                               GL_RGBA, GL_UNSIGNED_BYTE,
> >                               sizeof(results), results);
> >  	if (!piglit_check_gl_error(GL_INVALID_OPERATION))
> >  		pass = false;
> >  
> > -        /* try to get five cube faces, should pass */
> > +	/* upload final face */
> > +	glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + 5,
> > +	             0, GL_RGBA, 8, 8, 0, GL_RGBA, GL_FLOAT, NULL);
> > +
> > +        /* try to query complete cube map, should now pass */
> >          glGetTextureSubImage(tex, 0,
> >                               0, 0, 0,
> >                               8, 8, 5,
> 
> _______________________________________________
> Piglit mailing list
> Piglit@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/piglit