summaryrefslogtreecommitdiff
path: root/src/radeon_kms.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2010-01-25 13:18:47 -0500
committerAlex Deucher <alexdeucher@gmail.com>2010-01-25 13:28:34 -0500
commite5933fd74923a07aa401bdb4ecd8d1d641148440 (patch)
tree55f69537290f4c5b3822ae7cf1433421ef47da1b /src/radeon_kms.c
parentba99a82ced1a6101365876723d22bcfec4607537 (diff)
KMS: fix no accel option
NO_ACCEL wasn't handled correctly with KMS. fixes fdo bug 26198
Diffstat (limited to 'src/radeon_kms.c')
-rw-r--r--src/radeon_kms.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/radeon_kms.c b/src/radeon_kms.c
index b464b66d..e9e5b5d6 100644
--- a/src/radeon_kms.c
+++ b/src/radeon_kms.c
@@ -225,9 +225,11 @@ static Bool RADEONPreInitAccel_KMS(ScrnInfoPtr pScrn)
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Unable to allocate accel_state rec!\n");
return FALSE;
}
- if (!RADEONIsAccelWorking(pScrn)) {
+
+ if (xf86ReturnOptValBool(info->Options, OPTION_NOACCEL, FALSE) ||
+ (!RADEONIsAccelWorking(pScrn))) {
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
- "GPU accel not working, using shadowfb for KMS\n");
+ "GPU accel disabled or not working, using shadowfb for KMS\n");
info->r600_shadow_fb = TRUE;
if (!xf86LoadSubModule(pScrn, "shadow"))
info->r600_shadow_fb = FALSE;
@@ -725,10 +727,9 @@ Bool RADEONScreenInit_KMS(int scrnIndex, ScreenPtr pScreen,
}
if (info->r600_shadow_fb) {
- xf86DrvMsg(scrnIndex, X_INFO, "Acceleration disabled\n");
- info->accelOn = FALSE;
+ xf86DrvMsg(scrnIndex, X_INFO, "Acceleration disabled\n");
+ info->accelOn = FALSE;
} else {
- if (!xf86ReturnOptValBool(info->Options, OPTION_NOACCEL, FALSE)) {
xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG,
"Initializing Acceleration\n");
if (RADEONAccelInit(pScreen)) {
@@ -740,10 +741,6 @@ Bool RADEONScreenInit_KMS(int scrnIndex, ScreenPtr pScreen,
xf86DrvMsg(scrnIndex, X_INFO, "Acceleration disabled\n");
info->accelOn = FALSE;
}
- } else {
- xf86DrvMsg(scrnIndex, X_INFO, "Acceleration disabled\n");
- info->accelOn = FALSE;
- }
}
/* Init DPMS */