Mesa (master): r600: cubemap levels seem to be aligned to 8 images

Andre Maasikas andrem at kemper.freedesktop.org
Fri Jan 22 11:33:44 UTC 2010


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

Author: Andre Maasikas <amaasikas at gmail.com>
Date:   Fri Jan 22 13:32:04 2010 +0200

r600: cubemap levels seem to be aligned to 8 images

---

 src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c b/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c
index 3a3658c..5ea213d 100644
--- a/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c
+++ b/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c
@@ -177,6 +177,12 @@ static void calculate_miptree_layout_r300(radeonContextPtr rmesa, radeon_mipmap_
 
 		for(face = 0; face < mt->faces; face++)
 			compute_tex_image_offset(rmesa, mt, face, level, &curOffset);
+		/* r600 cube levels seems to be aligned to 8 faces but
+		 * we have separate register for 1'st level offset so add
+		 * 2 image alignment after 1'st mip level */
+		if(rmesa->radeonScreen->chip_family >= CHIP_FAMILY_R600 &&
+		   level >= 1)
+			curOffset += 2 * mt->levels[level].size;
 	}
 
 	/* Note the required size in memory */




More information about the mesa-commit mailing list