Mesa (master): i965: fix cube map on IGDNG

Haihao Xiang haihao at kemper.freedesktop.org
Thu Aug 13 02:44:59 UTC 2009


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

Author: Xiang, Haihao <haihao.xiang at intel.com>
Date:   Thu Aug 13 18:42:52 2009 +0800

i965: fix cube map on IGDNG

---

 src/mesa/drivers/dri/i965/brw_tex_layout.c |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_tex_layout.c b/src/mesa/drivers/dri/i965/brw_tex_layout.c
index 7f9b253..1d2e953 100644
--- a/src/mesa/drivers/dri/i965/brw_tex_layout.c
+++ b/src/mesa/drivers/dri/i965/brw_tex_layout.c
@@ -65,11 +65,6 @@ GLboolean brw_miptree_layout(struct intel_context *intel,
 
           if (mt->compressed) {
               mt->pitch = ALIGN(mt->width0, align_w);
-              qpitch = (y_pitch + ALIGN(minify(y_pitch), align_h) + 11 * align_h) / 4 * mt->pitch * mt->cpp;
-              mt->total_height = (y_pitch + ALIGN(minify(y_pitch), align_h) + 11 * align_h) / 4 * 6;
-          } else {
-              qpitch = (y_pitch + ALIGN(minify(y_pitch), align_h) + 11 * align_h) * mt->pitch * mt->cpp;
-              mt->total_height = (y_pitch + ALIGN(minify(y_pitch), align_h) + 11 * align_h) * 6;
           }
 
           if (mt->first_level != mt->last_level) {
@@ -90,6 +85,14 @@ GLboolean brw_miptree_layout(struct intel_context *intel,
 
           mt->pitch = intel_miptree_pitch_align(intel, mt, tiling, mt->pitch);
 
+          if (mt->compressed) {
+              qpitch = (y_pitch + ALIGN(minify(y_pitch), align_h) + 11 * align_h) / 4 * mt->pitch * mt->cpp;
+              mt->total_height = (y_pitch + ALIGN(minify(y_pitch), align_h) + 11 * align_h) / 4 * 6;
+          } else {
+              qpitch = (y_pitch + ALIGN(minify(y_pitch), align_h) + 11 * align_h) * mt->pitch * mt->cpp;
+              mt->total_height = (y_pitch + ALIGN(minify(y_pitch), align_h) + 11 * align_h) * 6;
+          }
+
           for (level = mt->first_level; level <= mt->last_level; level++) {
               GLuint img_height;
               GLuint nr_images = 6;




More information about the mesa-commit mailing list