xf86: add helper functions to convert to from ScrnInfoPtr/ScreenPtr (v2)

These are just simple functions that we should start migrating drivers
to using.

The end goal is to remove xf86Screens and screenInfo from the ABI.

This includes a define XF86_HAS_SCRN_CONV that drivers can ifdef to provide
their own copies. I'll probably post a generic compat.h file for drivers later.

v2: add asserts.

Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Dave Airlie 2012-04-10 15:47:32 +01:00 committed by Dave Airlie
parent 39f73e813f
commit 53932b3803
2 changed files with 21 additions and 0 deletions

View File

@ -449,6 +449,13 @@ xf86RandRSetNewVirtualAndDimensions(ScreenPtr pScreen,
extern _X_EXPORT Bool
VidModeExtensionInit(ScreenPtr pScreen);
/* convert ScreenPtr to ScrnInfoPtr */
extern _X_EXPORT ScrnInfoPtr xf86ScreenToScrn(ScreenPtr pScreen);
/* convert ScrnInfoPtr to ScreenPtr */
extern _X_EXPORT ScreenPtr xf86ScrnToScreen(ScrnInfoPtr pScrn);
#endif /* _NO_XF86_PROTOTYPES */
#define XF86_HAS_SCRN_CONV 1 /* define for drivers to use in api compat */
#endif /* _XF86_H */

View File

@ -1834,3 +1834,17 @@ xf86MotionHistoryAllocate(InputInfoPtr pInfo)
{
AllocateMotionHistory(pInfo->dev);
}
ScrnInfoPtr
xf86ScreenToScrn(ScreenPtr pScreen)
{
assert(pScreen->myNum < xf86NumScreens);
return xf86Screens[pScreen->myNum];
}
ScreenPtr
xf86ScrnToScreen(ScrnInfoPtr pScrn)
{
assert(pScrn->scrnIndex < screenInfo.numScreens);
return screenInfo.screens[pScrn->scrnIndex];
}