mesa/es: Validate glGenerateMipmap target in Mesa code rather than the ES wrapper
v2: Add proper core-profile and GLES3 filtering. v3: Fix a typo in GL_TEXTURE_2D_ARRAY checking. v4: Change !_mesa_is_desktop_gl tests to _mesa_is_gles test. The test around GL_TEXTURE_2D_ARRAY got some other changes because that enum is also available with GLES3 (which uses API_OPENGLES2). Based on review feedback from Eric Anholt. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
@@ -2526,16 +2526,23 @@ _mesa_GenerateMipmapEXT(GLenum target)
|
||||
|
||||
switch (target) {
|
||||
case GL_TEXTURE_1D:
|
||||
error = _mesa_is_gles(ctx);
|
||||
break;
|
||||
case GL_TEXTURE_2D:
|
||||
case GL_TEXTURE_3D:
|
||||
error = GL_FALSE;
|
||||
break;
|
||||
case GL_TEXTURE_3D:
|
||||
error = ctx->API == API_OPENGLES;
|
||||
break;
|
||||
case GL_TEXTURE_CUBE_MAP:
|
||||
error = !ctx->Extensions.ARB_texture_cube_map;
|
||||
break;
|
||||
case GL_TEXTURE_1D_ARRAY:
|
||||
error = _mesa_is_gles(ctx) || !ctx->Extensions.EXT_texture_array;
|
||||
break;
|
||||
case GL_TEXTURE_2D_ARRAY:
|
||||
error = !ctx->Extensions.EXT_texture_array;
|
||||
error = (_mesa_is_gles(ctx) && ctx->Version < 30)
|
||||
|| !ctx->Extensions.EXT_texture_array;
|
||||
break;
|
||||
default:
|
||||
error = GL_TRUE;
|
||||
|
Reference in New Issue
Block a user