summaryrefslogtreecommitdiff
path: root/extras/Mesa/src/mesa/main/teximage.c
diff options
context:
space:
mode:
Diffstat (limited to 'extras/Mesa/src/mesa/main/teximage.c')
-rw-r--r--extras/Mesa/src/mesa/main/teximage.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/extras/Mesa/src/mesa/main/teximage.c b/extras/Mesa/src/mesa/main/teximage.c
index 8f27af970..87bb62751 100644
--- a/extras/Mesa/src/mesa/main/teximage.c
+++ b/extras/Mesa/src/mesa/main/teximage.c
@@ -330,6 +330,9 @@ static GLboolean
is_color_format(GLenum format)
{
switch (format) {
+ case GL_RED:
+ case GL_GREEN:
+ case GL_BLUE:
case GL_ALPHA:
case GL_ALPHA4:
case GL_ALPHA8:
@@ -882,11 +885,9 @@ _mesa_max_texture_levels(GLcontext *ctx, GLenum target)
case GL_TEXTURE_CUBE_MAP_ARB:
case GL_PROXY_TEXTURE_CUBE_MAP_ARB:
return ctx->Const.MaxCubeTextureLevels;
- break;
case GL_TEXTURE_RECTANGLE_NV:
case GL_PROXY_TEXTURE_RECTANGLE_NV:
return 1;
- break;
default:
return 0; /* bad target */
}
@@ -2798,6 +2799,9 @@ compressed_texture_error_check(GLcontext *ctx, GLint dimensions,
if (!is_compressed_format(ctx, internalFormat))
return GL_INVALID_ENUM;
+ if (_mesa_base_tex_format(ctx, internalFormat) < 0)
+ return GL_INVALID_ENUM;
+
if (border != 0)
return GL_INVALID_VALUE;