summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Brace <kevinbrace@gmx.com>2018-07-25 19:50:40 -0700
committerKevin Brace <kevinbrace@gmx.com>2018-07-25 20:15:37 -0700
commit680aeee6730aa5b00bbc457b199b7643a6b0a1cb (patch)
tree9f986d3ce5245458b6b07967403f1254a861639d
parent23012b520e16fe2687e50c635e6c0a1f9d740c4e (diff)
Evaluate NoAccel option inside R128PreInit
Since NoAccel option is referenced only once, it should be handled inside R128PreInit callback function rather than R128ScreenInit callback function. Signed-off-by: Kevin Brace <kevinbrace@gmx.com>
-rw-r--r--src/r128.h2
-rw-r--r--src/r128_driver.c20
2 files changed, 14 insertions, 8 deletions
diff --git a/src/r128.h b/src/r128.h
index 7438757..17ffbc5 100644
--- a/src/r128.h
+++ b/src/r128.h
@@ -335,6 +335,8 @@ typedef struct {
#ifdef HAVE_XAA_H
XAAInfoRecPtr accel;
#endif
+
+ Bool noAccel;
Bool accelOn;
Bool useEXA;
Bool RenderAccel;
diff --git a/src/r128_driver.c b/src/r128_driver.c
index 9725ee2..723c56b 100644
--- a/src/r128_driver.c
+++ b/src/r128_driver.c
@@ -1333,6 +1333,8 @@ Bool R128PreInit(ScrnInfoPtr pScrn, int flags)
memcpy(info->Options, R128Options, sizeof(R128Options));
xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, info->Options);
+ info->noAccel = FALSE;
+
/* By default, don't do VGA IOs on ppc */
#if defined(__powerpc__) || defined(__sparc__) || !defined(WITH_VGAHW)
info->VGAAccess = FALSE;
@@ -1373,6 +1375,10 @@ Bool R128PreInit(ScrnInfoPtr pScrn, int flags)
info->videoKey = 0x1E;
}
+ if (xf86ReturnOptValBool(info->Options, OPTION_NOACCEL, FALSE)) {
+ info->noAccel = TRUE;
+ }
+
if (xf86ReturnOptValBool(info->Options, OPTION_SHOW_CACHE, FALSE)) {
info->showCache = TRUE;
xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "ShowCache enabled\n");
@@ -1612,7 +1618,6 @@ Bool R128ScreenInit(SCREEN_INIT_ARGS_DECL)
int width_bytes = (pScrn->displayWidth *
info->CurrentLayout.pixel_bytes);
int x1 = 0, x2 = 0, y1 = 0, y2 = 0;
- Bool noAccel;
#ifdef USE_EXA
ExaOffscreenArea* osArea = NULL;
#else
@@ -1676,8 +1681,7 @@ Bool R128ScreenInit(SCREEN_INIT_ARGS_DECL)
pScrn->defaultVisual)) return FALSE;
miSetPixmapDepths ();
- noAccel = xf86ReturnOptValBool(info->Options, OPTION_NOACCEL, FALSE);
- if (noAccel) info->useEXA = FALSE;
+ if (info->noAccel) info->useEXA = FALSE;
#ifdef R128DRI
/* Setup DRI after visuals have been
@@ -1689,7 +1693,7 @@ Bool R128ScreenInit(SCREEN_INIT_ARGS_DECL)
times the virtual size of the screen below. */
int maxy = info->FbMapSize / width_bytes;
- if (noAccel) {
+ if (info->noAccel) {
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
"Acceleration disabled, not initializing the DRI\n");
info->directRenderingEnabled = FALSE;
@@ -1843,7 +1847,7 @@ Bool R128ScreenInit(SCREEN_INIT_ARGS_DECL)
width, height);
}
- R128AccelInit(noAccel, pScreen);
+ R128AccelInit(info->noAccel, pScreen);
}
}
#ifdef USE_EXA
@@ -1851,7 +1855,7 @@ Bool R128ScreenInit(SCREEN_INIT_ARGS_DECL)
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
"Filling in EXA memory info\n");
- R128AccelInit(noAccel, pScreen);
+ R128AccelInit(info->noAccel, pScreen);
info->ExaDriver->offScreenBase = pScrn->virtualY * width_bytes;
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
@@ -2016,7 +2020,7 @@ Bool R128ScreenInit(SCREEN_INIT_ARGS_DECL)
width, height);
}
- R128AccelInit(noAccel, pScreen);
+ R128AccelInit(info->noAccel, pScreen);
}
}
#ifdef USE_EXA
@@ -2024,7 +2028,7 @@ Bool R128ScreenInit(SCREEN_INIT_ARGS_DECL)
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
"Filling in EXA memory info\n");
- R128AccelInit(noAccel, pScreen);
+ R128AccelInit(info->noAccel, pScreen);
info->ExaDriver->offScreenBase = pScrn->virtualY * width_bytes;
xf86DrvMsg(pScrn->scrnIndex, X_INFO,