i965/gen5+: Fix incorrect miptree layout for non-power-of-two cubemaps.
authorKenneth Graunke <kenneth@whitecape.org>
Sat, 30 Jul 2011 23:44:49 +0000 (16:44 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 2 Aug 2011 06:57:37 +0000 (23:57 -0700)
For power-of-two sizes, h0 == mt->height0 since it's already a multiple
of two.  However, for NPOT, they're different; h1 should be computed
based on the original size.

Fixes piglit test "cubemap npot" and oglconform test "textureNPOT".

NOTE: This is a candidate for stable release branches.

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_tex_layout.c

index f462f32b19a9473cefbc0cbaeb12507c08455acc..46a417a08edafd27eb216e13ecc23b6fc986bfc1 100644 (file)
@@ -60,7 +60,7 @@ GLboolean brw_miptree_layout(struct intel_context *intel,
           * given in Volume 1 of the BSpec.
           */
          h0 = ALIGN(mt->height0, align_h);
-         h1 = ALIGN(minify(h0), align_h);
+         h1 = ALIGN(minify(mt->height0), align_h);
          qpitch = (h0 + h1 + (intel->gen >= 7 ? 12 : 11) * align_h);
           if (mt->compressed)
             qpitch /= 4;