summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mesa/main/genmipmap.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/mesa/main/genmipmap.c b/src/mesa/main/genmipmap.c
index f9ef2d14664..2a67777164e 100644
--- a/src/mesa/main/genmipmap.c
+++ b/src/mesa/main/genmipmap.c
@@ -99,12 +99,6 @@ _mesa_generate_texture_mipmap(struct gl_context *ctx,
FLUSH_VERTICES(ctx, 0);
- if (!_mesa_is_valid_generate_texture_mipmap_target(ctx, target)) {
- _mesa_error(ctx, GL_INVALID_ENUM, "glGenerate%sMipmap(target=%s)",
- suffix, _mesa_enum_to_string(target));
- return;
- }
-
if (texObj->BaseLevel >= texObj->MaxLevel) {
/* nothing to do */
return;
@@ -159,6 +153,12 @@ _mesa_GenerateMipmap(GLenum target)
struct gl_texture_object *texObj;
GET_CURRENT_CONTEXT(ctx);
+ if (!_mesa_is_valid_generate_texture_mipmap_target(ctx, target)) {
+ _mesa_error(ctx, GL_INVALID_ENUM, "glGenerateMipmap(target=%s)",
+ _mesa_enum_to_string(target));
+ return;
+ }
+
texObj = _mesa_get_current_tex_object(ctx, target);
if (!texObj)
return;
@@ -179,5 +179,11 @@ _mesa_GenerateTextureMipmap(GLuint texture)
if (!texObj)
return;
+ if (!_mesa_is_valid_generate_texture_mipmap_target(ctx, texObj->Target)) {
+ _mesa_error(ctx, GL_INVALID_ENUM, "glGenerateTextureMipmap(target=%s)",
+ _mesa_enum_to_string(texObj->Target));
+ return;
+ }
+
_mesa_generate_texture_mipmap(ctx, texObj, texObj->Target, true);
}