summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mesa/drivers/dri/unichrome/via_context.c4
-rw-r--r--src/mesa/drivers/dri/unichrome/via_tex.c7
2 files changed, 9 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/unichrome/via_context.c b/src/mesa/drivers/dri/unichrome/via_context.c
index 2459336bd66..d92da8f4963 100644
--- a/src/mesa/drivers/dri/unichrome/via_context.c
+++ b/src/mesa/drivers/dri/unichrome/via_context.c
@@ -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;
diff --git a/src/mesa/drivers/dri/unichrome/via_tex.c b/src/mesa/drivers/dri/unichrome/via_tex.c
index 939422ce2f9..1cba08dee8e 100644
--- a/src/mesa/drivers/dri/unichrome/via_tex.c
+++ b/src/mesa/drivers/dri/unichrome/via_tex.c
@@ -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:
*/