summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri
diff options
context:
space:
mode:
authorAndre Maasikas <amaasikas@gmail.com>2010-01-22 13:32:04 +0200
committerAndre Maasikas <amaasikas@gmail.com>2010-01-22 13:33:15 +0200
commit714d9c21ecc97134a0f9fd58075152acd55cde32 (patch)
treefb41c9ff674d76376ed4964a1d35c8a167a63b20 /src/mesa/drivers/dri
parent278ad74fe060ab8ba21d21b675a40f6758edaeca (diff)
r600: cubemap levels seem to be aligned to 8 images
Diffstat (limited to 'src/mesa/drivers/dri')
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c6
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 3a3658c314..5ea213dc5f 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 */