Mesa (master): intel: Fix miptree height alignment for compressed NPOT textures.

Eric Anholt anholt at kemper.freedesktop.org
Tue Jun 14 18:24:26 UTC 2011


Module: Mesa
Branch: master
Commit: b9fbb9df22ab8ef869730c8b5c1eb79f4f48038e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b9fbb9df22ab8ef869730c8b5c1eb79f4f48038e

Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jun  9 17:04:12 2011 -0700

intel: Fix miptree height alignment for compressed NPOT textures.

This is effectively just "round up when dividing by 4" compared to the
previous code.  Fixes the broken stripe at the top of
fbo-generatemipmap-formats GL_EXT_texture_compression_rgtc.

---

 src/mesa/drivers/dri/intel/intel_tex_layout.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/mesa/drivers/dri/intel/intel_tex_layout.c b/src/mesa/drivers/dri/intel/intel_tex_layout.c
index 91ee55e..9d81523 100644
--- a/src/mesa/drivers/dri/intel/intel_tex_layout.c
+++ b/src/mesa/drivers/dri/intel/intel_tex_layout.c
@@ -97,11 +97,9 @@ void i945_miptree_layout_2d(struct intel_context *intel,
       intel_miptree_set_level_info(mt, level, nr_images, x, y, width,
 				   height, 1);
 
+      img_height = ALIGN(height, align_h);
       if (mt->compressed)
-	 img_height = MAX2(1, height/4);
-      else
-	 img_height = ALIGN(height, align_h);
-
+	 img_height /= align_h;
 
       /* Because the images are packed better, the final offset
        * might not be the maximal one:




More information about the mesa-commit mailing list