mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-23 17:40:11 +01:00
mesa/es: Validate glCopyTexImage internalFormat in Mesa code rather than the ES wrapper
v2: Add GLES3 filtering. I'm not 100% sure this is correct. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:
parent
9848e86af0
commit
c11096e94a
2 changed files with 18 additions and 8 deletions
|
|
@ -1418,14 +1418,6 @@
|
||||||
<param name="height" type="GLsizei"/>
|
<param name="height" type="GLsizei"/>
|
||||||
<param name="border" type="GLint"/>
|
<param name="border" type="GLint"/>
|
||||||
</proto>
|
</proto>
|
||||||
|
|
||||||
<desc name="internalFormat" error="GL_INVALID_VALUE">
|
|
||||||
<value name="GL_ALPHA"/>
|
|
||||||
<value name="GL_RGB"/>
|
|
||||||
<value name="GL_RGBA"/>
|
|
||||||
<value name="GL_LUMINANCE"/>
|
|
||||||
<value name="GL_LUMINANCE_ALPHA"/>
|
|
||||||
</desc>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template name="CopyTexSubImage2D">
|
<template name="CopyTexSubImage2D">
|
||||||
|
|
|
||||||
|
|
@ -2127,6 +2127,24 @@ copytexture_error_check( struct gl_context *ctx, GLuint dimensions,
|
||||||
return GL_TRUE;
|
return GL_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* OpenGL ES 1.x and OpenGL ES 2.0 impose additional restrictions on the
|
||||||
|
* internalFormat.
|
||||||
|
*/
|
||||||
|
if (_mesa_is_gles(ctx) && !_mesa_is_gles3(ctx)) {
|
||||||
|
switch (internalFormat) {
|
||||||
|
case GL_ALPHA:
|
||||||
|
case GL_RGB:
|
||||||
|
case GL_RGBA:
|
||||||
|
case GL_LUMINANCE:
|
||||||
|
case GL_LUMINANCE_ALPHA:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
_mesa_error(ctx, GL_INVALID_VALUE,
|
||||||
|
"glCopyTexImage%dD(internalFormat)", dimensions);
|
||||||
|
return GL_TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
baseFormat = _mesa_base_tex_format(ctx, internalFormat);
|
baseFormat = _mesa_base_tex_format(ctx, internalFormat);
|
||||||
if (baseFormat < 0) {
|
if (baseFormat < 0) {
|
||||||
_mesa_error(ctx, GL_INVALID_VALUE,
|
_mesa_error(ctx, GL_INVALID_VALUE,
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue