This patch is Reviewed-by: Ian Romanick <ian.d.roman...@intel.com>
On 08/24/2015 09:38 PM, Erik Faye-Lund wrote: > The OpenGL 1.0 legacy formats 1, 2, 3 and 4 are not supposed to > be supported for glCopyTexImage. So let's verify that they aren't > accepted. > > Signed-off-by: Erik Faye-Lund <kusmab...@gmail.com> > --- > tests/texturing/copyteximage.c | 51 > ++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 51 insertions(+) > > diff --git a/tests/texturing/copyteximage.c b/tests/texturing/copyteximage.c > index e7e79c7..52a7254 100644 > --- a/tests/texturing/copyteximage.c > +++ b/tests/texturing/copyteximage.c > @@ -575,6 +575,7 @@ create_texture(GLenum target) > enum piglit_result > piglit_display(void) > { > + GLint format; > GLuint tex; > GLboolean pass = GL_TRUE; > const GLfloat *expected; > @@ -614,6 +615,56 @@ piglit_display(void) > } > } > > + /* Test that internalformats 1, 2, 3 and 4 are not accepted > + * as OpenGL 1.0 backwards-compatible aliases. > + * > + * The OpenGL 1.1 spec, section 3.8 ('Texturing') says the > + * the following about glCopyTexImage2D (and similar for > + * glCopyTexImage1D): > + * > + * Parameters level, internalformat, and border are specified > + * using the same values, with the same meanings, as the > + * equivalent arguments of TexImage2D, except that > + * internalformat may not be specified as 1, 2, 3, or 4. > + */ > + for (format = 1; format <= 4; ++format) { > + switch (target[j].target) { > + case GL_TEXTURE_1D: > + case GL_TEXTURE_1D_ARRAY: > + glCopyTexImage1D(target[j].target, 0, > + format, > + 0, 0, IMAGE_SIZE, 0); > + pass = piglit_check_gl_error(GL_INVALID_ENUM) > && pass; > + break; > + > + case GL_TEXTURE_2D: > + case GL_TEXTURE_2D_ARRAY: > + case GL_TEXTURE_RECTANGLE: > + glCopyTexImage2D(target[j].target, 0, format, > + 0, 0, IMAGE_SIZE, IMAGE_SIZE, > + 0); > + pass = piglit_check_gl_error(GL_INVALID_ENUM) > && pass; > + break; > + > + case GL_TEXTURE_CUBE_MAP: > + for (i = 0; i < 6; i++) { > + glCopyTexImage2D(cube_face_targets[i], > + 0, format, 0, 0, > + IMAGE_SIZE, > + IMAGE_SIZE, 0); > + pass = > piglit_check_gl_error(GL_INVALID_ENUM) && pass; > + } > + break; > + > + case GL_TEXTURE_3D: > + /* There is no glCopyTexImage3D, and > + * glCopyTexSubImage3D does not take an > + * internalformat argument > + */ > + continue; > + } > + } > + > glDeleteTextures(1, &tex); > } > if (!piglit_automatic) > _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit