increate MaxTextureLevels to 11 (bug 3130)
authorBrian Paul <brian.paul@tungstengraphics.com>
Sun, 15 Oct 2006 17:57:53 +0000 (17:57 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Sun, 15 Oct 2006 17:57:53 +0000 (17:57 +0000)
src/mesa/drivers/dri/unichrome/via_context.c
src/mesa/drivers/dri/unichrome/via_tex.c

index 2459336bd6675add6338b237cb838ddc8c3820fe..d92da8f4963c3fe4381f487264cb2f0a4e5d5c71 100644 (file)
@@ -557,8 +557,8 @@ viaCreateContext(const __GLcontextModes *visual,
     driContextPriv->driverPrivate = vmesa;
 
     ctx = vmesa->glCtx;
-    
-    ctx->Const.MaxTextureLevels = 10;    
+
+    ctx->Const.MaxTextureLevels = 11;
     ctx->Const.MaxTextureUnits = 2;
     ctx->Const.MaxTextureImageUnits = ctx->Const.MaxTextureUnits;
     ctx->Const.MaxTextureCoordUnits = ctx->Const.MaxTextureUnits;
index 939422ce2f93cb619eef2890bce469dd75e57246..1cba08dee8eba3d41cc0c509ab252f0089f0bba9 100644 (file)
@@ -513,6 +513,13 @@ static GLboolean viaSetTexImages(GLcontext *ctx,
 
    numLevels = lastLevel - firstLevel + 1;
 
+   /* The hardware only supports 10 mipmap levels. Ignore higher levels.
+    */
+   if (numLevels > 10) {
+      lastLevel -= numLevels - 10;
+      numLevels = 10;
+   }
+
    /* save these values, check if they effect the residency of the
     * texture:
     */