diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2010-05-25 18:17:15 -0400 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2010-08-05 17:36:55 -0400 |
commit | cc0a167ff2db9b097891883ded147af1d67e4407 (patch) | |
tree | b550611dd81a6812d533a99b0a19ec6dbd779732 /src/radeon_dri2.c | |
parent | b5bfdbd70d9671250957ccd41dfc8818850d257e (diff) |
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 <alexdeucher@gmail.com>
Diffstat (limited to 'src/radeon_dri2.c')
-rw-r--r-- | 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 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; |