[Mesa-dev] [PATCH] mesa: check that internalformat of CopyTexImage*D is not 1, 2, 3, 4
Nicolai Hähnle
nhaehnle at gmail.com
Thu Jan 7 12:31:42 PST 2016
From: Nicolai Hähnle <nicolai.haehnle at amd.com>
The piglit copyteximage check has recently been augmented to test this, but
apparently it hasn't been fixed in Mesa so far.
---
src/mesa/main/teximage.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
index 73b3318..70dbf84 100644
--- a/src/mesa/main/teximage.c
+++ b/src/mesa/main/teximage.c
@@ -2247,6 +2247,22 @@ copytexture_error_check( struct gl_context *ctx, GLuint dimensions,
_mesa_enum_to_string(internalFormat));
return GL_TRUE;
}
+ } else {
+ /*
+ * The spec on CopyTexImage2D (OpenGL 4.5 (Compatibility Profile),
+ * page 244):
+ *
+ * Parameters level, internalformat, and border are specified using the
+ * same values, with the same meanings, as the corresponding arguments of
+ * TexImage2D, except that internalformat may not be specified as 1, 2,
+ * 3, or 4.
+ */
+ if (internalFormat >= 1 && internalFormat <= 4) {
+ _mesa_error(ctx, GL_INVALID_ENUM,
+ "glCopyTexImage%dD(internalFormat=%d)", dimensions,
+ internalFormat);
+ return GL_TRUE;
+ }
}
baseFormat = _mesa_base_tex_format(ctx, internalFormat);
--
2.5.0
More information about the mesa-dev
mailing list