[PATCH 2/2] r6xx/r7xx: default to micro (1D) tiling for now

Alex Deucher alexdeucher at gmail.com
Tue May 25 16:14:51 PDT 2010


SW de-tiling used in the r600c 3D driver has issues with
certain configurations.

Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
---
 src/radeon_dri2.c |   32 +++++++++++++++++++++++++-------
 1 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c
index d10d9a8..0811bb1 100644
--- a/src/radeon_dri2.c
+++ b/src/radeon_dri2.c
@@ -102,7 +102,10 @@ radeon_dri2_create_buffers(DrawablePtr drawable,
 	    case DRI2BufferDepth:
 	    case DRI2BufferDepthStencil:
 		if (info->ChipFamily >= CHIP_FAMILY_R600)
-		    flags = RADEON_CREATE_PIXMAP_TILING_MACRO;
+		    /* macro is the preferred setting, but the 2D detiling for software
+		     * fallbacks in mesa still has issues on some configurations
+		     */
+		    flags = RADEON_CREATE_PIXMAP_TILING_MICRO;
 		else
 		    flags = RADEON_CREATE_PIXMAP_TILING_MACRO | RADEON_CREATE_PIXMAP_TILING_MICRO;
 		break;
@@ -110,7 +113,13 @@ radeon_dri2_create_buffers(DrawablePtr drawable,
 	    case DRI2BufferBackRight:
 	    case DRI2BufferFakeFrontLeft:
 	    case DRI2BufferFakeFrontRight:
-		flags = RADEON_CREATE_PIXMAP_TILING_MACRO;
+		if (info->ChipFamily >= CHIP_FAMILY_R600)
+		    /* macro is the preferred setting, but the 2D detiling for software
+		     * fallbacks in mesa still has issues on some configurations
+		     */
+		    flags = RADEON_CREATE_PIXMAP_TILING_MICRO;
+		else
+		    flags = RADEON_CREATE_PIXMAP_TILING_MACRO;
 		break;
 	    default:
 		flags = 0;
@@ -186,16 +195,25 @@ radeon_dri2_create_buffer(DrawablePtr drawable,
 	switch(attachment) {
 	case DRI2BufferDepth:
 	case DRI2BufferDepthStencil:
-		if (info->ChipFamily >= CHIP_FAMILY_R600)
-		    flags = RADEON_CREATE_PIXMAP_TILING_MACRO;
-		else
-		    flags = RADEON_CREATE_PIXMAP_TILING_MACRO | RADEON_CREATE_PIXMAP_TILING_MICRO;
+	    /* macro is the preferred setting, but the 2D detiling for software
+	     * fallbacks in mesa still has issues on some configurations
+	     */
+	    if (info->ChipFamily >= CHIP_FAMILY_R600)
+		flags = RADEON_CREATE_PIXMAP_TILING_MICRO;
+	    else
+		flags = RADEON_CREATE_PIXMAP_TILING_MACRO | RADEON_CREATE_PIXMAP_TILING_MICRO;
 	    break;
 	case DRI2BufferBackLeft:
 	case DRI2BufferBackRight:
 	case DRI2BufferFakeFrontLeft:
 	case DRI2BufferFakeFrontRight:
-	    flags = RADEON_CREATE_PIXMAP_TILING_MACRO;
+	    if (info->ChipFamily >= CHIP_FAMILY_R600)
+		/* macro is the preferred setting, but the 2D detiling for software
+		 * fallbacks in mesa still has issues on some configurations
+		 */
+		flags = RADEON_CREATE_PIXMAP_TILING_MICRO;
+	    else
+		flags = RADEON_CREATE_PIXMAP_TILING_MACRO;
 	    break;
 	default:
 	    flags = 0;
-- 
1.5.6.3



More information about the dri-devel mailing list