From cc0a167ff2db9b097891883ded147af1d67e4407 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Tue, 25 May 2010 18:17:15 -0400 Subject: r6xx/r7xx: default to micro (1D) tiling for now SW de-tiling used in the r600c 3D driver has issues with certain configurations. Signed-off-by: Alex Deucher --- src/radeon_dri2.c | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c index 9697bbc8..4cafbc65 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; -- cgit v1.2.3