diff options
Diffstat (limited to 'src/mesa/drivers/dri/unichrome')
-rw-r--r-- | src/mesa/drivers/dri/unichrome/via_context.c | 4 | ||||
-rw-r--r-- | src/mesa/drivers/dri/unichrome/via_tex.c | 7 |
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: */ |