diff options
Diffstat (limited to 'extras/Mesa/src/mesa/main/teximage.c')
-rw-r--r-- | extras/Mesa/src/mesa/main/teximage.c | 8 |
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; |