intel: Fix performance regression in Lightsmark since HiZ changes.
authorEric Anholt <eric@anholt.net>
Fri, 16 Dec 2011 21:18:55 +0000 (13:18 -0800)
committerEric Anholt <eric@anholt.net>
Thu, 29 Dec 2011 17:33:56 +0000 (09:33 -0800)
Since the refactor in d7b33309fe160212f2eb73f471f3aedcb5d0b5c1, depth
in the miptree changed from 1 to 6, so we always decided it didn't
match, and we would relayout to something that would still not
"match".

Improves performance 23.8% (+/- 1.1%, n=4)

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43329

src/mesa/drivers/dri/intel/intel_mipmap_tree.c

index 9e0f20145561b5d4d8006c8ca58212ba2c055f0b..95764897d4fd27b50a8d72c3fc562a0ffd0cb22d 100644 (file)
@@ -345,6 +345,9 @@ intel_miptree_match_image(struct intel_mipmap_tree *mt,
 
    intel_miptree_get_dimensions_for_image(image, &width, &height, &depth);
 
+   if (mt->target == GL_TEXTURE_CUBE_MAP)
+      depth = 6;
+
    /* Test image dimensions against the base level image adjusted for
     * minification.  This will also catch images not present in the
     * tree, changed targets, etc.