diff options
author | Eric Anholt <eric@anholt.net> | 2012-12-18 12:03:49 -0800 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2013-07-03 13:17:25 -0700 |
commit | ba73bea5d057f44cd04f63ef3933551eb8052197 (patch) | |
tree | c12780e3b2eaeb70cbd8cc3312bc223c74bfbc1f | |
parent | 4d07d52e279668c5ab71147ccee02f332806e5b6 (diff) |
i965: Fix validation of ETC miptrees.
When comparing to the teximage's format, we have to look at the
format-the-mt-was-created-for not the format-actually-stored-in-the-mt.
Improves glbenchmark 2.1 offscreen test performance 159% +/- 17% (n=3).
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54582
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
(cherry picked from commit 46386816a77c6e5751a0685776c0a6320f46f8fe)
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
The original patch needed some backporting for the old tree.
-rw-r--r-- | src/mesa/drivers/dri/intel/intel_mipmap_tree.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c index 556a82fc7ff..3b6f0728ff7 100644 --- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c +++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c @@ -573,12 +573,14 @@ intel_miptree_match_image(struct intel_mipmap_tree *mt, if (target_to_target(image->TexObject->Target) != mt->target) return false; - if (image->TexFormat != mt->format && - !(image->TexFormat == MESA_FORMAT_S8_Z24 && - mt->format == MESA_FORMAT_X8_Z24 && - mt->stencil_mt)) { + gl_format mt_format = mt->format; + if (mt->format == MESA_FORMAT_X8_Z24 && mt->stencil_mt) + mt_format = MESA_FORMAT_S8_Z24; + if (mt->wraps_etc1) + mt_format = MESA_FORMAT_RGBX8888_REV; + + if (image->TexFormat != mt_format) return false; - } intel_miptree_get_dimensions_for_image(image, &width, &height, &depth); |