[Mesa-dev] [PATCH] mesa: check that internalformat of CopyTexImage*D is not 1, 2, 3, 4
Ian Romanick
idr at freedesktop.org
Thu Jan 7 14:49:59 PST 2016
On 01/07/2016 12:31 PM, Nicolai Hähnle wrote:
> 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.
> + */
Please use the canonical spec reference format.
/* Section X.Y (Title) of the OpenGL A.B (Foo Profile) spec says:
*
* "Words words words..."
*/
I checked the OpenGL 2.1 spec, and the same wording appears there too.
I'm surprised we missed this for so long.
With the spec reference fixes, this patch is
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
> + 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);
>
More information about the mesa-dev
mailing list