mesa: move some code in _mesa_test_texobj_completeness()
authorBrian Paul <brianp@vmware.com>
Sat, 17 Mar 2012 22:30:02 +0000 (16:30 -0600)
committerBrian Paul <brianp@vmware.com>
Tue, 20 Mar 2012 14:23:32 +0000 (08:23 -0600)
Move the simple MaxLevel < BaseLevel test earlier to be closer to where
we error-check BaseLevel.  Also, use the local baseLevel var in more places.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/main/texobj.c

index 1611ba7f8d5583ccee5c36f0c615ee4b4134241f..9934f2a446c0e9325e130bde24d771952a4c2a94 100644 (file)
@@ -438,6 +438,12 @@ _mesa_test_texobj_completeness( const struct gl_context *ctx,
       return;
    }
 
+   if (t->MaxLevel < baseLevel) {
+      incomplete(t, "MAX_LEVEL (%d) < BASE_LEVEL (%d)",
+                t->MaxLevel, baseLevel);
+      return;
+   }
+
    /* Always need the base level image */
    if (!t->Image[0][baseLevel]) {
       incomplete(t, "Image[baseLevel=%d] == NULL", baseLevel);
@@ -491,18 +497,12 @@ _mesa_test_texobj_completeness( const struct gl_context *ctx,
 
    ASSERT(maxLevels > 0);
 
-   if (t->MaxLevel < t->BaseLevel) {
-      incomplete(t, "MAX_LEVEL (%d) < BASE_LEVEL (%d)",
-                t->MaxLevel, t->BaseLevel);
-      return;
-   }
-
    t->_MaxLevel = baseLevel + maxLog2;
    t->_MaxLevel = MIN2(t->_MaxLevel, t->MaxLevel);
    t->_MaxLevel = MIN2(t->_MaxLevel, maxLevels - 1);
 
    /* Compute _MaxLambda = q - b (see the 1.2 spec) used during mipmapping */
-   t->_MaxLambda = (GLfloat) (t->_MaxLevel - t->BaseLevel);
+   t->_MaxLambda = (GLfloat) (t->_MaxLevel - baseLevel);
 
    if (t->Immutable) {
       /* This texture object was created with glTexStorage1/2/3D() so we