summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2011-12-16 13:18:55 -0800
committerEric Anholt <[email protected]>2011-12-29 09:33:56 -0800
commit7f854a5028ef00a0e041e78a770456204dc58eef (patch)
tree91424ee3e4c8601a51289589ebe530329446cbdb
parentab7794cada02f3b3b5e3a642c20eeedeb17b65a6 (diff)
intel: Fix performance regression in Lightsmark since HiZ changes.
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
-rw-r--r--src/mesa/drivers/dri/intel/intel_mipmap_tree.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
index 9e0f2014556..95764897d4f 100644
--- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
+++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
@@ -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.