summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2011-02-28 11:20:44 -0500
committerAlex Deucher <alexdeucher@gmail.com>2011-02-28 11:20:44 -0500
commit99141761e947e2153ed1a3bc485dc5716a22acb1 (patch)
tree6161d2d7ee849e190c171a5cdd386a0384a51e05
parent7928c120fb629a782846bcd5734d9fa14cbb099d (diff)
kms: don't enable tiling if accel is off
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
-rw-r--r--src/radeon_kms.c42
1 files changed, 23 insertions, 19 deletions
diff --git a/src/radeon_kms.c b/src/radeon_kms.c
index 158dc57..4f6f120 100644
--- a/src/radeon_kms.c
+++ b/src/radeon_kms.c
@@ -625,25 +625,31 @@ Bool RADEONPreInit_KMS(ScrnInfoPtr pScrn, int flags)
goto fail;
}
- colorTilingDefault = info->ChipFamily >= CHIP_FAMILY_R300 &&
- info->ChipFamily <= CHIP_FAMILY_RS740;
-
- if (info->ChipFamily >= CHIP_FAMILY_R600) {
- /* set default group bytes, overridden by kernel info below */
- info->group_bytes = 256;
- info->have_tiling_info = FALSE;
- if (info->dri->pKernelDRMVersion->version_minor >= 6) {
- if (r600_get_tile_config(pScrn))
- info->allowColorTiling = xf86ReturnOptValBool(info->Options,
- OPTION_COLOR_TILING, colorTilingDefault);
- else
- info->allowColorTiling = FALSE;
+ if (!RADEONPreInitAccel_KMS(pScrn)) goto fail;
+
+ /* don't enable tiling if accel is not enabled */
+ if (!info->r600_shadow_fb) {
+ colorTilingDefault = info->ChipFamily >= CHIP_FAMILY_R300 &&
+ info->ChipFamily <= CHIP_FAMILY_RS740;
+
+ if (info->ChipFamily >= CHIP_FAMILY_R600) {
+ /* set default group bytes, overridden by kernel info below */
+ info->group_bytes = 256;
+ info->have_tiling_info = FALSE;
+ if (info->dri->pKernelDRMVersion->version_minor >= 6) {
+ if (r600_get_tile_config(pScrn))
+ info->allowColorTiling = xf86ReturnOptValBool(info->Options,
+ OPTION_COLOR_TILING, colorTilingDefault);
+ else
+ info->allowColorTiling = FALSE;
+ } else
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "R6xx+ KMS Color Tiling requires radeon drm 2.6.0 or newer\n");
} else
- xf86DrvMsg(pScrn->scrnIndex, X_INFO,
- "R6xx+ KMS Color Tiling requires radeon drm 2.6.0 or newer\n");
+ info->allowColorTiling = xf86ReturnOptValBool(info->Options,
+ OPTION_COLOR_TILING, colorTilingDefault);
} else
- info->allowColorTiling = xf86ReturnOptValBool(info->Options,
- OPTION_COLOR_TILING, colorTilingDefault);
+ info->allowColorTiling = FALSE;
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
"KMS Color Tiling: %sabled\n", info->allowColorTiling ? "en" : "dis");
@@ -740,8 +746,6 @@ Bool RADEONPreInit_KMS(ScrnInfoPtr pScrn, int flags)
if (!xf86LoadSubModule(pScrn, "ramdac")) return FALSE;
}
- if (!RADEONPreInitAccel_KMS(pScrn)) goto fail;
-
if (pScrn->modes == NULL) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "No modes.\n");
goto fail;