summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaciej Cencora <m.cencora@gmail.com>2009-11-29 12:36:09 +0100
committerMaciej Cencora <m.cencora@gmail.com>2009-11-29 17:27:47 +0100
commit2773556d55fe6043bee3d4c86f7b78906e5d60e0 (patch)
tree0ad240102239f7dd7fb41634a194271c76a2a359 /src
parente8f0c8ab9d3509dc399ea58c320056ed90895792 (diff)
radeon: don't check the same miptree many times when looking for matching miptrees
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c b/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c
index d0b9691204..39b6d50094 100644
--- a/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c
+++ b/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c
@@ -506,7 +506,7 @@ static radeon_mipmap_tree * get_biggest_matching_miptree(radeonTexObj *texObj,
if (!img)
break;
- if (!img->mt || !radeon_miptree_matches_texture(img->mt, &texObj->base))
+ if (!img->mt)
continue;
for (int i = 0; i < mtCount; ++i) {
@@ -517,8 +517,8 @@ static radeon_mipmap_tree * get_biggest_matching_miptree(radeonTexObj *texObj,
}
}
- if (!found) {
- mtSizes[mtCount] += img->mt->levels[img->mtlevel].size;
+ if (!found && radeon_miptree_matches_texture(img->mt, &texObj->base)) {
+ mtSizes[mtCount] = img->mt->levels[img->mtlevel].size;
mts[mtCount] = img->mt;
mtCount++;
}