summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@gmail.com>2012-04-10 14:18:59 +0100
committerDave Airlie <airlied@gmail.com>2012-04-10 15:37:41 +0100
commitf95de96b732511a553e81343a5b5c26345171614 (patch)
tree55e1b93826d05ae62559a8997943656790bff855
parent8ad86470675ea8a8417c97e838156499c95389b2 (diff)
xserver: convert block/wakeup handlers to passing ScreenPtr (ABI/API break)
Instead of passing an index, pass the actual ScreenPtr. This allows more moving towards not abusing xf86Screens + screenInfo. Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--composite/compalloc.c5
-rw-r--r--dix/dixutils.c4
-rw-r--r--exa/exa.c12
-rw-r--r--hw/kdrive/src/kdrive.h4
-rw-r--r--hw/kdrive/src/kinput.c4
-rw-r--r--hw/xfree86/common/xf86VGAarbiter.c12
-rw-r--r--hw/xfree86/common/xf86VGAarbiterPriv.h4
-rw-r--r--hw/xfree86/dri/dri.c10
-rw-r--r--hw/xfree86/dri/dri.h4
-rw-r--r--hw/xfree86/modes/xf86Rotate.c7
-rw-r--r--hw/xwin/win.h4
-rw-r--r--hw/xwin/winblock.c2
-rw-r--r--hw/xwin/winwakeup.c2
-rw-r--r--include/scrnintstr.h4
-rw-r--r--mi/misprite.c7
-rw-r--r--render/animcur.c5
16 files changed, 38 insertions, 52 deletions
diff --git a/composite/compalloc.c b/composite/compalloc.c
index 15a6cd24f..ea8fa994b 100644
--- a/composite/compalloc.c
+++ b/composite/compalloc.c
@@ -55,14 +55,13 @@ compScreenUpdate(ScreenPtr pScreen)
}
static void
-compBlockHandler(int i, pointer blockData, pointer pTimeout, pointer pReadmask)
+compBlockHandler(ScreenPtr pScreen, pointer blockData, pointer pTimeout, pointer pReadmask)
{
- ScreenPtr pScreen = screenInfo.screens[i];
CompScreenPtr cs = GetCompScreen(pScreen);
pScreen->BlockHandler = cs->BlockHandler;
compScreenUpdate(pScreen);
- (*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask);
+ (*pScreen->BlockHandler) (pScreen, blockData, pTimeout, pReadmask);
/* Next damage will restore the block handler */
cs->BlockHandler = NULL;
diff --git a/dix/dixutils.c b/dix/dixutils.c
index 9eb54893a..8abd39810 100644
--- a/dix/dixutils.c
+++ b/dix/dixutils.c
@@ -384,7 +384,7 @@ BlockHandler(pointer pTimeout, pointer pReadmask)
++inHandler;
for (i = 0; i < screenInfo.numScreens; i++)
- (*screenInfo.screens[i]->BlockHandler) (i,
+ (*screenInfo.screens[i]->BlockHandler) (screenInfo.screens[i],
screenInfo.screens[i]->
blockData, pTimeout, pReadmask);
for (i = 0; i < numHandlers; i++)
@@ -421,7 +421,7 @@ WakeupHandler(int result, pointer pReadmask)
(*handlers[i].WakeupHandler) (handlers[i].blockData,
result, pReadmask);
for (i = 0; i < screenInfo.numScreens; i++)
- (*screenInfo.screens[i]->WakeupHandler) (i,
+ (*screenInfo.screens[i]->WakeupHandler) (screenInfo.screens[i],
screenInfo.screens[i]->
wakeupData, result, pReadmask);
if (handlerDeleted) {
diff --git a/exa/exa.c b/exa/exa.c
index b5eb44ede..70ac89685 100644
--- a/exa/exa.c
+++ b/exa/exa.c
@@ -707,11 +707,9 @@ exaCreateScreenResources(ScreenPtr pScreen)
}
static void
-ExaBlockHandler(int screenNum, pointer blockData, pointer pTimeout,
+ExaBlockHandler(ScreenPtr pScreen, pointer blockData, pointer pTimeout,
pointer pReadmask)
{
- ScreenPtr pScreen = screenInfo.screens[screenNum];
-
ExaScreenPriv(pScreen);
/* Move any deferred results from a software fallback to the driver pixmap */
@@ -719,7 +717,7 @@ ExaBlockHandler(int screenNum, pointer blockData, pointer pTimeout,
exaMoveInPixmap_mixed(pExaScr->deferred_mixed_pixmap);
unwrap(pExaScr, pScreen, BlockHandler);
- (*pScreen->BlockHandler) (screenNum, blockData, pTimeout, pReadmask);
+ (*pScreen->BlockHandler) (pScreen, blockData, pTimeout, pReadmask);
wrap(pExaScr, pScreen, BlockHandler, ExaBlockHandler);
/* The rest only applies to classic EXA */
@@ -739,15 +737,13 @@ ExaBlockHandler(int screenNum, pointer blockData, pointer pTimeout,
}
static void
-ExaWakeupHandler(int screenNum, pointer wakeupData, unsigned long result,
+ExaWakeupHandler(ScreenPtr pScreen, pointer wakeupData, unsigned long result,
pointer pReadmask)
{
- ScreenPtr pScreen = screenInfo.screens[screenNum];
-
ExaScreenPriv(pScreen);
unwrap(pExaScr, pScreen, WakeupHandler);
- (*pScreen->WakeupHandler) (screenNum, wakeupData, result, pReadmask);
+ (*pScreen->WakeupHandler) (pScreen, wakeupData, result, pReadmask);
wrap(pExaScr, pScreen, WakeupHandler, ExaWakeupHandler);
if (result == 0 && pExaScr->numOffscreenAvailable > 1) {
diff --git a/hw/kdrive/src/kdrive.h b/hw/kdrive/src/kdrive.h
index 04a1cf7c0..293f4e9fa 100644
--- a/hw/kdrive/src/kdrive.h
+++ b/hw/kdrive/src/kdrive.h
@@ -537,12 +537,12 @@ void
void
-KdBlockHandler(int screen,
+KdBlockHandler(ScreenPtr pScreen,
pointer blockData, pointer timeout, pointer readmask);
void
-KdWakeupHandler(int screen,
+KdWakeupHandler(ScreenPtr pScreen,
pointer data, unsigned long result, pointer readmask);
void
diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c
index e16fe78f2..aed5a6a77 100644
--- a/hw/kdrive/src/kinput.c
+++ b/hw/kdrive/src/kinput.c
@@ -1974,7 +1974,7 @@ _KdEnqueuePointerEvent(KdPointerInfo * pi, int type, int x, int y, int z,
}
void
-KdBlockHandler(int screen, pointer blockData, pointer timeout, pointer readmask)
+KdBlockHandler(ScreenPtr pScreen, pointer blockData, pointer timeout, pointer readmask)
{
KdPointerInfo *pi;
int myTimeout = 0;
@@ -2000,7 +2000,7 @@ KdBlockHandler(int screen, pointer blockData, pointer timeout, pointer readmask)
}
void
-KdWakeupHandler(int screen,
+KdWakeupHandler(ScreenPtr pScreen,
pointer data, unsigned long lresult, pointer readmask)
{
int result = (int) lresult;
diff --git a/hw/xfree86/common/xf86VGAarbiter.c b/hw/xfree86/common/xf86VGAarbiter.c
index ea40cd89b..217016e09 100644
--- a/hw/xfree86/common/xf86VGAarbiter.c
+++ b/hw/xfree86/common/xf86VGAarbiter.c
@@ -265,27 +265,23 @@ VGAarbiterCloseScreen(ScreenPtr pScreen)
}
static void
-VGAarbiterBlockHandler(int i,
+VGAarbiterBlockHandler(ScreenPtr pScreen,
pointer blockData, pointer pTimeout, pointer pReadmask)
{
- ScreenPtr pScreen = screenInfo.screens[i];
-
SCREEN_PROLOG(BlockHandler);
VGAGet(pScreen);
- pScreen->BlockHandler(i, blockData, pTimeout, pReadmask);
+ pScreen->BlockHandler(pScreen, blockData, pTimeout, pReadmask);
VGAPut();
SCREEN_EPILOG(BlockHandler, VGAarbiterBlockHandler);
}
static void
-VGAarbiterWakeupHandler(int i, pointer blockData, unsigned long result,
+VGAarbiterWakeupHandler(ScreenPtr pScreen, pointer blockData, unsigned long result,
pointer pReadmask)
{
- ScreenPtr pScreen = screenInfo.screens[i];
-
SCREEN_PROLOG(WakeupHandler);
VGAGet(pScreen);
- pScreen->WakeupHandler(i, blockData, result, pReadmask);
+ pScreen->WakeupHandler(pScreen, blockData, result, pReadmask);
VGAPut();
SCREEN_EPILOG(WakeupHandler, VGAarbiterWakeupHandler);
}
diff --git a/hw/xfree86/common/xf86VGAarbiterPriv.h b/hw/xfree86/common/xf86VGAarbiterPriv.h
index 92a0cb687..e0f4e539f 100644
--- a/hw/xfree86/common/xf86VGAarbiterPriv.h
+++ b/hw/xfree86/common/xf86VGAarbiterPriv.h
@@ -142,9 +142,9 @@ typedef struct _VGAarbiterGC {
} VGAarbiterGCRec, *VGAarbiterGCPtr;
/* Screen funcs */
-static void VGAarbiterBlockHandler(int i, pointer blockData, pointer pTimeout,
+static void VGAarbiterBlockHandler(ScreenPtr pScreen, pointer blockData, pointer pTimeout,
pointer pReadmask);
-static void VGAarbiterWakeupHandler(int i, pointer blockData,
+static void VGAarbiterWakeupHandler(ScreenPtr pScreen, pointer blockData,
unsigned long result, pointer pReadmask);
static Bool VGAarbiterCloseScreen(ScreenPtr pScreen);
static void VGAarbiterGetImage(DrawablePtr pDrawable, int sx, int sy, int w,
diff --git a/hw/xfree86/dri/dri.c b/hw/xfree86/dri/dri.c
index 20eb683ad..ceb92c21b 100644
--- a/hw/xfree86/dri/dri.c
+++ b/hw/xfree86/dri/dri.c
@@ -1618,7 +1618,7 @@ DRIWakeupHandler(pointer wakeupData, int result, pointer pReadmask)
DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
if (pDRIPriv && pDRIPriv->pDriverInfo->wrap.WakeupHandler)
- (*pDRIPriv->pDriverInfo->wrap.WakeupHandler) (i, wakeupData,
+ (*pDRIPriv->pDriverInfo->wrap.WakeupHandler) (pScreen, wakeupData,
result, pReadmask);
}
}
@@ -1633,16 +1633,15 @@ DRIBlockHandler(pointer blockData, OSTimePtr pTimeout, pointer pReadmask)
DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
if (pDRIPriv && pDRIPriv->pDriverInfo->wrap.BlockHandler)
- (*pDRIPriv->pDriverInfo->wrap.BlockHandler) (i, blockData,
+ (*pDRIPriv->pDriverInfo->wrap.BlockHandler) (pScreen, blockData,
pTimeout, pReadmask);
}
}
void
-DRIDoWakeupHandler(int screenNum, pointer wakeupData,
+DRIDoWakeupHandler(ScreenPtr pScreen, pointer wakeupData,
unsigned long result, pointer pReadmask)
{
- ScreenPtr pScreen = screenInfo.screens[screenNum];
DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
DRILock(pScreen, 0);
@@ -1658,10 +1657,9 @@ DRIDoWakeupHandler(int screenNum, pointer wakeupData,
}
void
-DRIDoBlockHandler(int screenNum, pointer blockData,
+DRIDoBlockHandler(ScreenPtr pScreen, pointer blockData,
pointer pTimeout, pointer pReadmask)
{
- ScreenPtr pScreen = screenInfo.screens[screenNum];
DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
if (pDRIPriv->pDriverInfo->driverSwapMethod == DRI_HIDE_X_CONTEXT) {
diff --git a/hw/xfree86/dri/dri.h b/hw/xfree86/dri/dri.h
index 53458bb4a..664a50e06 100644
--- a/hw/xfree86/dri/dri.h
+++ b/hw/xfree86/dri/dri.h
@@ -271,12 +271,12 @@ extern _X_EXPORT void DRIWakeupHandler(pointer wakeupData,
extern _X_EXPORT void DRIBlockHandler(pointer blockData,
OSTimePtr pTimeout, pointer pReadmask);
-extern _X_EXPORT void DRIDoWakeupHandler(int screenNum,
+extern _X_EXPORT void DRIDoWakeupHandler(ScreenPtr pScreen,
pointer wakeupData,
unsigned long result,
pointer pReadmask);
-extern _X_EXPORT void DRIDoBlockHandler(int screenNum,
+extern _X_EXPORT void DRIDoBlockHandler(ScreenPtr pScreen,
pointer blockData,
pointer pTimeout, pointer pReadmask);
diff --git a/hw/xfree86/modes/xf86Rotate.c b/hw/xfree86/modes/xf86Rotate.c
index e0ba4c982..365ddbcb1 100644
--- a/hw/xfree86/modes/xf86Rotate.c
+++ b/hw/xfree86/modes/xf86Rotate.c
@@ -250,17 +250,16 @@ xf86RotateRedisplay(ScreenPtr pScreen)
}
static void
-xf86RotateBlockHandler(int screenNum, pointer blockData,
+xf86RotateBlockHandler(ScreenPtr pScreen, pointer blockData,
pointer pTimeout, pointer pReadmask)
{
- ScreenPtr pScreen = screenInfo.screens[screenNum];
- ScrnInfoPtr pScrn = xf86Screens[screenNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(pScrn);
Bool rotation_active;
rotation_active = xf86RotateRedisplay(pScreen);
pScreen->BlockHandler = xf86_config->BlockHandler;
- (*pScreen->BlockHandler) (screenNum, blockData, pTimeout, pReadmask);
+ (*pScreen->BlockHandler) (pScreen, blockData, pTimeout, pReadmask);
/* cannot avoid re-wrapping until all wrapping is audited */
xf86_config->BlockHandler = pScreen->BlockHandler;
pScreen->BlockHandler = xf86RotateBlockHandler;
diff --git a/hw/xwin/win.h b/hw/xwin/win.h
index 8d1712862..2bde18d8f 100644
--- a/hw/xwin/win.h
+++ b/hw/xwin/win.h
@@ -779,7 +779,7 @@ void winSetAuthorization(void);
void
-winBlockHandler(int nScreen,
+winBlockHandler(ScreenPtr pScreen,
pointer pBlockData, pointer pTimeout, pointer pReadMask);
#ifdef XWIN_NATIVEGDI
@@ -1122,7 +1122,7 @@ Bool
void
-winWakeupHandler(int nScreen,
+winWakeupHandler(ScreenPtr pScreen,
pointer pWakeupData,
unsigned long ulResult, pointer pReadmask);
diff --git a/hw/xwin/winblock.c b/hw/xwin/winblock.c
index c18d080fa..5faa1136d 100644
--- a/hw/xwin/winblock.c
+++ b/hw/xwin/winblock.c
@@ -36,7 +36,7 @@
/* See Porting Layer Definition - p. 6 */
void
-winBlockHandler(int nScreen,
+winBlockHandler(ScreenPtr pScreen,
pointer pBlockData, pointer pTimeout, pointer pReadMask)
{
#if defined(XWIN_CLIPBOARD) || defined(XWIN_MULTIWINDOW)
diff --git a/hw/xwin/winwakeup.c b/hw/xwin/winwakeup.c
index 1d2bfedbe..8c9140be6 100644
--- a/hw/xwin/winwakeup.c
+++ b/hw/xwin/winwakeup.c
@@ -38,7 +38,7 @@
/* See Porting Layer Definition - p. 7 */
void
-winWakeupHandler(int nScreen,
+winWakeupHandler(ScreenPtr pScreen,
pointer pWakeupData, unsigned long ulResult, pointer pReadmask)
{
MSG msg;
diff --git a/include/scrnintstr.h b/include/scrnintstr.h
index f77ace750..dae4a2e28 100644
--- a/include/scrnintstr.h
+++ b/include/scrnintstr.h
@@ -257,12 +257,12 @@ typedef void (*SendGraphicsExposeProcPtr) (ClientPtr /*client */ ,
int /*major */ ,
int /*minor */ );
-typedef void (*ScreenBlockHandlerProcPtr) (int /*screenNum */ ,
+typedef void (*ScreenBlockHandlerProcPtr) (ScreenPtr /*pScreen*/ ,
pointer /*blockData */ ,
pointer /*pTimeout */ ,
pointer /*pReadmask */ );
-typedef void (*ScreenWakeupHandlerProcPtr) (int /*screenNum */ ,
+typedef void (*ScreenWakeupHandlerProcPtr) (ScreenPtr /*pScreen*/ ,
pointer /*wakeupData */ ,
unsigned long /*result */ ,
pointer /*pReadMask */ );
diff --git a/mi/misprite.c b/mi/misprite.c
index 92fbe97a7..3c91e67a9 100644
--- a/mi/misprite.c
+++ b/mi/misprite.c
@@ -203,7 +203,7 @@ static void miSpriteSourceValidate(DrawablePtr pDrawable, int x, int y,
unsigned int subWindowMode);
static void miSpriteCopyWindow(WindowPtr pWindow,
DDXPointRec ptOldOrg, RegionPtr prgnSrc);
-static void miSpriteBlockHandler(int i, pointer blockData,
+static void miSpriteBlockHandler(ScreenPtr pScreen, pointer blockData,
pointer pTimeout, pointer pReadMask);
static void miSpriteInstallColormap(ColormapPtr pMap);
static void miSpriteStoreColors(ColormapPtr pMap, int ndef, xColorItem * pdef);
@@ -520,10 +520,9 @@ miSpriteCopyWindow(WindowPtr pWindow, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
}
static void
-miSpriteBlockHandler(int i, pointer blockData, pointer pTimeout,
+miSpriteBlockHandler(ScreenPtr pScreen, pointer blockData, pointer pTimeout,
pointer pReadmask)
{
- ScreenPtr pScreen = screenInfo.screens[i];
miSpriteScreenPtr pPriv = GetSpriteScreen(pScreen);
DeviceIntPtr pDev;
miCursorInfoPtr pCursorInfo;
@@ -554,7 +553,7 @@ miSpriteBlockHandler(int i, pointer blockData, pointer pTimeout,
SCREEN_PROLOGUE(pPriv, pScreen, BlockHandler);
- (*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask);
+ (*pScreen->BlockHandler) (pScreen, blockData, pTimeout, pReadmask);
if (WorkToDo)
SCREEN_EPILOGUE(pPriv, pScreen, BlockHandler);
diff --git a/render/animcur.c b/render/animcur.c
index b664b0741..6dc2c57a9 100644
--- a/render/animcur.c
+++ b/render/animcur.c
@@ -135,11 +135,10 @@ AnimCurCursorLimits(DeviceIntPtr pDev,
*/
static void
-AnimCurScreenBlockHandler(int screenNum,
+AnimCurScreenBlockHandler(ScreenPtr pScreen,
pointer blockData,
pointer pTimeout, pointer pReadmask)
{
- ScreenPtr pScreen = screenInfo.screens[screenNum];
AnimCurScreenPtr as = GetAnimCurScreen(pScreen);
DeviceIntPtr dev;
Bool activeDevice = FALSE;
@@ -183,7 +182,7 @@ AnimCurScreenBlockHandler(int screenNum,
AdjustWaitForDelay(pTimeout, soonest - now);
Unwrap(as, pScreen, BlockHandler);
- (*pScreen->BlockHandler) (screenNum, blockData, pTimeout, pReadmask);
+ (*pScreen->BlockHandler) (pScreen, blockData, pTimeout, pReadmask);
if (activeDevice)
Wrap(as, pScreen, BlockHandler, AnimCurScreenBlockHandler);
else