fix an error string, refactor _mesa_GetCompressedTexImageARB() to get rid of a goto

This commit is contained in:
Brian 2007-06-12 17:17:43 -06:00
parent 261ed74074
commit 144e1e439f

View file

@ -1,8 +1,8 @@
/*
* Mesa 3-D graphics library
* Version: 6.5.1
* Version: 7.1
*
* Copyright (C) 1999-2006 Brian Paul All Rights Reserved.
* Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@ -3768,7 +3768,7 @@ _mesa_CompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset,
width, height, depth, /*size*/
format, imageSize);
if (error) {
_mesa_error(ctx, error, "glCompressedTexSubImage2D");
_mesa_error(ctx, error, "glCompressedTexSubImage3D");
return;
}
@ -3819,7 +3819,6 @@ _mesa_GetCompressedTexImageARB(GLenum target, GLint level, GLvoid *img)
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
texObj = _mesa_select_tex_object(ctx, texUnit, target);
if (!texObj) {
@ -3840,24 +3839,25 @@ _mesa_GetCompressedTexImageARB(GLenum target, GLint level, GLvoid *img)
return;
}
_mesa_lock_texture(ctx, texObj);
{
texImage = _mesa_select_tex_image(ctx, texObj, target, level);
if (!texImage) {
/* probably invalid mipmap level */
_mesa_error(ctx, GL_INVALID_VALUE, "glGetCompressedTexImageARB(level)");
goto out;
if (texImage) {
if (texImage->IsCompressed) {
/* this typically calls _mesa_get_compressed_teximage() */
ctx->Driver.GetCompressedTexImage(ctx, target, level, img,
texObj, texImage);
}
else {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glGetCompressedTexImageARB");
}
}
if (!texImage->IsCompressed) {
_mesa_error(ctx, GL_INVALID_OPERATION, "glGetCompressedTexImageARB");
goto out;
else {
/* probably invalid mipmap level */
_mesa_error(ctx, GL_INVALID_VALUE,
"glGetCompressedTexImageARB(level)");
}
/* this typically calls _mesa_get_compressed_teximage() */
ctx->Driver.GetCompressedTexImage(ctx, target, level, img, texObj,texImage);
}
out:
_mesa_unlock_texture(ctx, texObj);
}