[PATCH xf86-video-r128] Evaluate software cursor option inside R128PreInit

Kevin Brace kevinbrace at gmx.com
Thu Jul 26 16:46:44 UTC 2018


Since SWCursor option is referenced only once, it should be handled
inside R128PreInit callback function rather than R128ScreenInit
callback function.

Signed-off-by: Kevin Brace <kevinbrace at gmx.com>
---
 src/r128.h        | 1 +
 src/r128_driver.c | 9 ++++++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/r128.h b/src/r128.h
index 17ffbc5..032c40b 100644
--- a/src/r128.h
+++ b/src/r128.h
@@ -349,6 +349,7 @@ typedef struct {
     int               fifo_slots;   /* Free slots in the FIFO (64 max)       */
     int               pix24bpp;     /* Depth of pixmap for 24bpp framebuffer */
     Bool              dac6bits;     /* Use 6 bit DAC?                        */
+    Bool              swCursor;
 
 				/* Computed values for Rage 128 */
     int               pitch;
diff --git a/src/r128_driver.c b/src/r128_driver.c
index 7cc788b..5ae2da0 100644
--- a/src/r128_driver.c
+++ b/src/r128_driver.c
@@ -1345,6 +1345,8 @@ Bool R128PreInit(ScrnInfoPtr pScrn, int flags)
 #endif
 #endif
 
+    info->swCursor = FALSE;
+
     /* By default, don't do VGA IOs on ppc */
 #if defined(__powerpc__) || defined(__sparc__) || !defined(WITH_VGAHW)
     info->VGAAccess = FALSE;
@@ -1433,6 +1435,11 @@ Bool R128PreInit(ScrnInfoPtr pScrn, int flags)
 		   "Using framebuffer device\n");
     }
 
+    if (!xf86ReturnOptValBool(info->Options,
+                    OPTION_SW_CURSOR, FALSE)) {
+        info->swCursor = TRUE;
+    }
+
     /* Allocate an xf86CrtcConfig */
     xf86CrtcConfigInit(pScrn, &R128CRTCResizeFuncs);
 
@@ -2082,7 +2089,7 @@ Bool R128ScreenInit(SCREEN_INIT_ARGS_DECL)
     miDCInitialize(pScreen, xf86GetPointerScreenFuncs());
 
 				/* Hardware cursor setup */
-    if (!xf86ReturnOptValBool(info->Options, OPTION_SW_CURSOR, FALSE)) {
+    if (!info->swCursor) {
 	if (R128CursorInit(pScreen)) {
 	    int width, height;
 
-- 
2.7.4



More information about the xorg-driver-ati mailing list