When generating or uploading a new (higher) mipmap level for an image,
we can need to allocate a miptree for a level greater than
texObj->MaxLevel.
---
 src/mesa/drivers/dri/radeon/radeon_texture.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/mesa/drivers/dri/radeon/radeon_texture.c 
b/src/mesa/drivers/dri/radeon/radeon_texture.c
index 2b655fb..6ceff88 100644
--- a/src/mesa/drivers/dri/radeon/radeon_texture.c
+++ b/src/mesa/drivers/dri/radeon/radeon_texture.c
@@ -588,8 +588,9 @@ static int image_matches_texture_obj(struct 
gl_texture_object *texObj,
        if (!baseImage)
                return 0;
 
-       if (level < texObj->BaseLevel || level > texObj->MaxLevel)
+       if (level < texObj->BaseLevel)
                return 0;
+       
 
        const unsigned levelDiff = level - texObj->BaseLevel;
        const unsigned refWidth = MAX2(baseImage->Width >> levelDiff, 1);
@@ -610,8 +611,8 @@ static void teximage_assign_miptree(radeonContextPtr rmesa,
        radeonTexObj *t = radeon_tex_obj(texObj);
        radeon_texture_image* image = get_radeon_texture_image(texImage);
 
-       /* Since miptree holds only images for levels <BaseLevel..MaxLevel>
-        * don't allocate the miptree if the teximage won't fit.
+       /* Check to make sure texture dimensions are appropriate
+        * and that there is a base level
         */
        if (!image_matches_texture_obj(texObj, texImage, level))
                return;
-- 
1.7.1

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to