From 5b007761fef03547ef09585bef6920a8dcedf1ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Sun, 11 Nov 2012 15:25:55 +0100 Subject: [PATCH] mesa: fix error checking of TexStorage(levels) for array and rect textures NOTE: This is a candidate for the stable branches. Reviewed-by: Brian Paul Reviewed-by: Dave Airlie (cherry picked from commit 985f2aec4a2ca74f6612f34ce0887eafcc163e08) Conflicts: src/mesa/main/texstorage.c --- src/mesa/main/texstorage.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/mesa/main/texstorage.c b/src/mesa/main/texstorage.c index f8a9397949a..b4dd13e5f1f 100644 --- a/src/mesa/main/texstorage.c +++ b/src/mesa/main/texstorage.c @@ -244,7 +244,6 @@ tex_storage_error_check(struct gl_context *ctx, GLuint dims, GLenum target, GLsizei width, GLsizei height, GLsizei depth) { struct gl_texture_object *texObj; - GLuint maxDim; GLboolean legalFormat; /* check internal format - note that only sized formats are allowed */ @@ -324,8 +323,7 @@ tex_storage_error_check(struct gl_context *ctx, GLuint dims, GLenum target, } /* check levels against width/height/depth */ - maxDim = MAX3(width, height, depth); - if (levels > _mesa_logbase2(maxDim) + 1) { + if (levels > _mesa_get_tex_max_num_levels(target, width, height, depth)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glTexStorage%uD(too many levels for max texture dimension)", dims);