xserver-xorg-video-vesa: Changes to 'debian-unstable'
ChangeLog | 44 ++++++++++++++++++++++++
configure.ac | 2 -
debian/changelog | 12 ++++++
debian/control | 4 +-
src/Makefile.am | 1
src/compat-api.h | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/vesa.c | 92 ++++++++++++++++++++++++++-------------------------
7 files changed, 205 insertions(+), 48 deletions(-)
New commits:
commit 5b8f68814e95a305be5bc7c765d705db6b7ddaf2
Author: Michele Cane <michele.cane@gmail.com>
Date: Wed Jul 17 15:09:21 2013 +0200
Build against Xserver 1.14.
diff --git a/debian/changelog b/debian/changelog
index d123ea3..8c35048 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,6 +6,7 @@ xserver-xorg-video-vesa (1:2.3.2-1) UNRELEASED; urgency=low
[ Michele Cane ]
* Bump Standards-Version to 3.9.4, no changes needed.
+ * Build against Xserver 1.14.
-- Maarten Lankhorst <maarten.lankhorst@canonical.com> Thu, 19 Jul 2012 09:44:43 +0200
diff --git a/debian/control b/debian/control
index f35f0b0..673aef5 100644
--- a/debian/control
+++ b/debian/control
@@ -7,7 +7,7 @@ Build-Depends:
debhelper (>= 8),
dh-autoreconf,
pkg-config,
- xserver-xorg-dev (>= 2:1.11),
+ xserver-xorg-dev (>= 2:1.14),
x11proto-xext-dev,
x11proto-core-dev,
x11proto-fonts-dev,
commit 4316aa89b98af7d90814a222cfd10d25496531c1
Author: Michele Cane <michele.cane@gmail.com>
Date: Wed Jul 17 14:48:40 2013 +0200
Bump Standards-Version to 3.9.4, no changes needed.
diff --git a/debian/changelog b/debian/changelog
index 98c6188..d123ea3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,12 @@
xserver-xorg-video-vesa (1:2.3.2-1) UNRELEASED; urgency=low
+ [ Maarten Lankhorst ]
* New upstream release.
* Bump Standards-Version to 3.9.3 (no changes needed).
+ [ Michele Cane ]
+ * Bump Standards-Version to 3.9.4, no changes needed.
+
-- Maarten Lankhorst <maarten.lankhorst@canonical.com> Thu, 19 Jul 2012 09:44:43 +0200
xserver-xorg-video-vesa (1:2.3.1-1) unstable; urgency=low
diff --git a/debian/control b/debian/control
index 88e9a9b..f35f0b0 100644
--- a/debian/control
+++ b/debian/control
@@ -16,7 +16,7 @@ Build-Depends:
xutils-dev (>= 1:7.5+4),
quilt,
libpciaccess-dev (>= 0.12.901),
-Standards-Version: 3.9.3
+Standards-Version: 3.9.4
Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-video-vesa
Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-video-vesa.git
commit 7e5d4d96ec77b7a1396a6bc9d0877aae99317d81
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Thu Jul 19 09:46:24 2012 +0200
Bump Standards-Version to 3.9.3 (no changes needed).
diff --git a/debian/changelog b/debian/changelog
index 2c4a40e..98c6188 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
xserver-xorg-video-vesa (1:2.3.2-1) UNRELEASED; urgency=low
* New upstream release.
+ * Bump Standards-Version to 3.9.3 (no changes needed).
-- Maarten Lankhorst <maarten.lankhorst@canonical.com> Thu, 19 Jul 2012 09:44:43 +0200
diff --git a/debian/control b/debian/control
index 99a71a7..88e9a9b 100644
--- a/debian/control
+++ b/debian/control
@@ -16,7 +16,7 @@ Build-Depends:
xutils-dev (>= 1:7.5+4),
quilt,
libpciaccess-dev (>= 0.12.901),
-Standards-Version: 3.9.1
+Standards-Version: 3.9.3
Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-video-vesa
Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-video-vesa.git
commit 6526371be953097a74b4211153b1925ca9fb2c04
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Thu Jul 19 09:45:03 2012 +0200
New upstream release.
diff --git a/debian/changelog b/debian/changelog
index 2fc5392..2c4a40e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xserver-xorg-video-vesa (1:2.3.2-1) UNRELEASED; urgency=low
+
+ * New upstream release.
+
+ -- Maarten Lankhorst <maarten.lankhorst@canonical.com> Thu, 19 Jul 2012 09:44:43 +0200
+
xserver-xorg-video-vesa (1:2.3.1-1) unstable; urgency=low
* New upstream release.
commit a456e0ebf79a38b76b06468408dc7b2e7bc39b4e
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Thu Jul 19 09:44:28 2012 +0200
Bump changelog
diff --git a/ChangeLog b/ChangeLog
index f7bd897..01da09e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,47 @@
+commit 0249d01a2623c4f7769914fc0a7b50657a50560f
+Author: Dave Airlie <airlied@gmail.com>
+Date: Wed Jul 18 20:02:49 2012 +1000
+
+ vesa: bump to 2.3.2
+
+ Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit 86f1d894cd3c06a61abbd16e3e73d60db2c98621
+Author: Dave Airlie <airlied@redhat.com>
+Date: Fri Jun 1 12:55:19 2012 +0100
+
+ vesa: add api 13 compat layer.
+
+ Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit 378e55e375cbb659d66d6739891553d7a83e6a65
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed May 23 11:30:51 2012 +0100
+
+ vesa: fix make distcheck.
+
+ Add missing compat-api header
+
+ Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit 18bf00600c75b1dc055d174c8ba9ec1dc4ae8b5a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed May 23 11:25:14 2012 +0100
+
+ vesa: convert to new screen conversion APIs.
+
+ Generated by util/modular/x-driver-screen-scrn-conv.sh
+
+ Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit 76c67b2735a5b0ee1cf231ff85eb3273a30b4ccc
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed May 23 11:24:57 2012 +0100
+
+ vesa: add compat-api.h
+
+ Signed-off-by: Dave Airlie <airlied@redhat.com>
+
commit 8cd553551767c0f970912fb73cae3aa733434106
Author: Adam Jackson <ajax@redhat.com>
Date: Thu Mar 22 17:32:22 2012 -0400
commit 0249d01a2623c4f7769914fc0a7b50657a50560f
Author: Dave Airlie <airlied@gmail.com>
Date: Wed Jul 18 20:02:49 2012 +1000
vesa: bump to 2.3.2
Signed-off-by: Dave Airlie <airlied@redhat.com>
diff --git a/configure.ac b/configure.ac
index 4288bdd..6317acd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
# Initialize Autoconf
AC_PREREQ([2.60])
AC_INIT([xf86-video-vesa],
- [2.3.1],
+ [2.3.2],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
[xf86-video-vesa])
AC_CONFIG_SRCDIR([Makefile.am])
commit 86f1d894cd3c06a61abbd16e3e73d60db2c98621
Author: Dave Airlie <airlied@redhat.com>
Date: Fri Jun 1 12:55:19 2012 +0100
vesa: add api 13 compat layer.
Signed-off-by: Dave Airlie <airlied@redhat.com>
diff --git a/src/compat-api.h b/src/compat-api.h
index 1bb7724..d4d3882 100644
--- a/src/compat-api.h
+++ b/src/compat-api.h
@@ -38,4 +38,61 @@
#define xf86ScrnToScreen(s) screenInfo.screens[(s)->scrnIndex]
#endif
+#ifndef XF86_SCRN_INTERFACE
+
+#define SCRN_ARG_TYPE int
+#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = xf86Screens[(arg1)]
+
+#define SCREEN_ARG_TYPE int
+#define SCREEN_PTR(arg1) ScreenPtr pScreen = screenInfo.screens[(arg1)]
+
+#define SCREEN_INIT_ARGS_DECL int i, ScreenPtr pScreen, int argc, char **argv
+
+#define BLOCKHANDLER_ARGS_DECL int arg, pointer blockData, pointer pTimeout, pointer pReadmask
+#define BLOCKHANDLER_ARGS arg, blockData, pTimeout, pReadmask
+
+#define CLOSE_SCREEN_ARGS_DECL int scrnIndex, ScreenPtr pScreen
+#define CLOSE_SCREEN_ARGS scrnIndex, pScreen
+
+#define ADJUST_FRAME_ARGS_DECL int arg, int x, int y, int flags
+#define ADJUST_FRAME_ARGS(arg, x, y) (arg)->scrnIndex, x, y, 0
+
+#define SWITCH_MODE_ARGS_DECL int arg, DisplayModePtr mode, int flags
+#define SWITCH_MODE_ARGS(arg, m) (arg)->scrnIndex, m, 0
+
+#define FREE_SCREEN_ARGS_DECL int arg, int flags
+
+#define VT_FUNC_ARGS_DECL int arg, int flags
+#define VT_FUNC_ARGS pScrn->scrnIndex, 0
+
+#define SCRN_OR_INDEX_ARG(x) ((x)->scrnIndex)
+#else
+#define SCRN_ARG_TYPE ScrnInfoPtr
+#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = (arg1)
+
+#define SCREEN_ARG_TYPE ScreenPtr
+#define SCREEN_PTR(arg1) ScreenPtr pScreen = (arg1)
+
+#define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv
+
+#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask
+#define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask
+
+#define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen
+#define CLOSE_SCREEN_ARGS pScreen
+
+#define ADJUST_FRAME_ARGS_DECL ScrnInfoPtr arg, int x, int y
+#define ADJUST_FRAME_ARGS(arg, x, y) arg, x, y
+
+#define SWITCH_MODE_ARGS_DECL ScrnInfoPtr arg, DisplayModePtr mode
+#define SWITCH_MODE_ARGS(arg, m) arg, m
+#define FREE_SCREEN_ARGS_DECL ScrnInfoPtr arg
+
+#define VT_FUNC_ARGS_DECL ScrnInfoPtr arg
+#define VT_FUNC_ARGS pScrn
+
+#define SCRN_OR_INDEX_ARG(x) (x)
+
+#endif
+
#endif
diff --git a/src/vesa.c b/src/vesa.c
index ab64060..8ac77da 100644
--- a/src/vesa.c
+++ b/src/vesa.c
@@ -75,17 +75,16 @@ static Bool VESAPciProbe(DriverPtr drv, int entity_num,
struct pci_device *dev, intptr_t match_data);
#endif
static Bool VESAPreInit(ScrnInfoPtr pScrn, int flags);
-static Bool VESAScreenInit(int Index, ScreenPtr pScreen, int argc,
- char **argv);
-static Bool VESAEnterVT(int scrnIndex, int flags);
-static void VESALeaveVT(int scrnIndex, int flags);
-static Bool VESACloseScreen(int scrnIndex, ScreenPtr pScreen);
+static Bool VESAScreenInit(SCREEN_INIT_ARGS_DECL);
+static Bool VESAEnterVT(VT_FUNC_ARGS_DECL);
+static void VESALeaveVT(VT_FUNC_ARGS_DECL);
+static Bool VESACloseScreen(CLOSE_SCREEN_ARGS_DECL);
static Bool VESASaveScreen(ScreenPtr pScreen, int mode);
-static Bool VESASwitchMode(int scrnIndex, DisplayModePtr pMode, int flags);
+static Bool VESASwitchMode(SWITCH_MODE_ARGS_DECL);
static Bool VESASetMode(ScrnInfoPtr pScrn, DisplayModePtr pMode);
-static void VESAAdjustFrame(int scrnIndex, int x, int y, int flags);
-static void VESAFreeScreen(int scrnIndex, int flags);
+static void VESAAdjustFrame(ADJUST_FRAME_ARGS_DECL);
+static void VESAFreeScreen(FREE_SCREEN_ARGS_DECL);
static void VESAFreeRec(ScrnInfoPtr pScrn);
static VESAPtr VESAGetRec(ScrnInfoPtr pScrn);
@@ -342,11 +341,11 @@ vesaModesCloseEnough(DisplayModePtr edid, DisplayModePtr vbe)
}
static ModeStatus
-VESAValidMode(int scrn, DisplayModePtr p, Bool flag, int pass)
+VESAValidMode(SCRN_ARG_TYPE arg, DisplayModePtr p, Bool flag, int pass)
{
+ SCRN_INFO_PTR(arg);
static int warned = 0;
int found = 0;
- ScrnInfoPtr pScrn = xf86Screens[scrn];
VESAPtr pVesa = VESAGetRec(pScrn);
MonPtr mon = pScrn->monitor;
ModeStatus ret = MODE_BAD;
@@ -357,7 +356,7 @@ VESAValidMode(int scrn, DisplayModePtr p, Bool flag, int pass)
if (pass != MODECHECK_FINAL) {
if (!warned) {
- xf86DrvMsg(scrn, X_WARNING, "VESAValidMode called unexpectedly\n");
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "VESAValidMode called unexpectedly\n");
warned = 1;
}
return MODE_OK;
@@ -740,7 +739,7 @@ VESAPreInit(ScrnInfoPtr pScrn, int flags)
#ifdef HAVE_PANELID
else {
void *panelid = VBEReadPanelID(pVesa->pVbe);
- VBEInterpretPanelID(pScrn->scrnIndex, panelid);
+ VBEInterpretPanelID(SCRN_OR_INDEX_ARG(pScrn), panelid);
free(panelid);
}
#endif
@@ -918,19 +917,19 @@ vesaCreateScreenResources(ScreenPtr pScreen)
}
static void
-vesaEnableDisableFBAccess(int scrnIndex, Bool enable)
+vesaEnableDisableFBAccess(SCRN_ARG_TYPE arg, Bool enable)
{
- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+ SCRN_INFO_PTR(arg);
VESAPtr pVesa = VESAGetRec(pScrn);
pVesa->accessEnabled = enable;
- pVesa->EnableDisableFBAccess(scrnIndex, enable);
+ pVesa->EnableDisableFBAccess(arg, enable);
}
static Bool
-VESAScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+VESAScreenInit(SCREEN_INIT_ARGS_DECL)
{
- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
VESAPtr pVesa = VESAGetRec(pScrn);
VisualPtr visual;
VbeModeInfoBlock *mode;
@@ -988,7 +987,7 @@ VESAScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
return (FALSE);
/* set the viewport */
- VESAAdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0);
+ VESAAdjustFrame(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, pScrn->frameY0));
/* Blank the screen for aesthetic reasons. */
VESASaveScreen(pScreen, SCREEN_SAVER_ON);
@@ -1117,30 +1116,31 @@ VESAScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
}
static Bool
-VESAEnterVT(int scrnIndex, int flags)
+VESAEnterVT(VT_FUNC_ARGS_DECL)
{
- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+ SCRN_INFO_PTR(arg);
if (!VESASetMode(pScrn, pScrn->currentMode))
return FALSE;
- VESAAdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0);
+ VESAAdjustFrame(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, pScrn->frameY0));
return TRUE;
}
static void
-VESALeaveVT(int scrnIndex, int flags)
+VESALeaveVT(VT_FUNC_ARGS_DECL)
{
- VESASaveRestore(xf86Screens[scrnIndex], MODE_RESTORE);
+ SCRN_INFO_PTR(arg);
+ VESASaveRestore(pScrn, MODE_RESTORE);
}
static Bool
-VESACloseScreen(int scrnIndex, ScreenPtr pScreen)
+VESACloseScreen(CLOSE_SCREEN_ARGS_DECL)
{
- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
VESAPtr pVesa = VESAGetRec(pScrn);
if (pScrn->vtSema) {
- VESASaveRestore(xf86Screens[scrnIndex], MODE_RESTORE);
+ VESASaveRestore(pScrn, MODE_RESTORE);
if (pVesa->savedPal)
VBESetGetPaletteData(pVesa->pVbe, TRUE, 0, 256,
pVesa->savedPal, FALSE, TRUE);
@@ -1160,21 +1160,21 @@ VESACloseScreen(int scrnIndex, ScreenPtr pScreen)
pScrn->EnableDisableFBAccess = pVesa->EnableDisableFBAccess;
pScreen->CreateScreenResources = pVesa->CreateScreenResources;
pScreen->CloseScreen = pVesa->CloseScreen;
- return pScreen->CloseScreen(scrnIndex, pScreen);
+ return pScreen->CloseScreen(CLOSE_SCREEN_ARGS);
}
static Bool
-VESASwitchMode(int scrnIndex, DisplayModePtr pMode, int flags)
+VESASwitchMode(SWITCH_MODE_ARGS_DECL)
{
- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+ SCRN_INFO_PTR(arg);
VESAPtr pVesa = VESAGetRec(pScrn);
Bool ret, disableAccess = pVesa->ModeSetClearScreen && pVesa->accessEnabled;
if (disableAccess)
- pScrn->EnableDisableFBAccess(scrnIndex,FALSE);
- ret = VESASetMode(xf86Screens[scrnIndex], pMode);
+ pScrn->EnableDisableFBAccess(SCRN_OR_INDEX_ARG(pScrn),FALSE);
+ ret = VESASetMode(pScrn, mode);
if (disableAccess)
- pScrn->EnableDisableFBAccess(scrnIndex,TRUE);
+ pScrn->EnableDisableFBAccess(SCRN_OR_INDEX_ARG(pScrn),TRUE);
return ret;
}
@@ -1235,17 +1235,19 @@ VESASetMode(ScrnInfoPtr pScrn, DisplayModePtr pMode)
}
static void
-VESAAdjustFrame(int scrnIndex, int x, int y, int flags)
+VESAAdjustFrame(ADJUST_FRAME_ARGS_DECL)
{
- VESAPtr pVesa = VESAGetRec(xf86Screens[scrnIndex]);
+ SCRN_INFO_PTR(arg);
+ VESAPtr pVesa = VESAGetRec(pScrn);
VBESetDisplayStart(pVesa->pVbe, x, y, TRUE);
}
static void
-VESAFreeScreen(int scrnIndex, int flags)
+VESAFreeScreen(FREE_SCREEN_ARGS_DECL)
{
- VESAFreeRec(xf86Screens[scrnIndex]);
+ SCRN_INFO_PTR(arg);
+ VESAFreeRec(pScrn);
}
static Bool
@@ -1735,9 +1737,9 @@ VESADGASetMode(ScrnInfoPtr pScrn, DGAModePtr pDGAMode)
frameY0 = pScrn->frameY0;
}
- if (!(*pScrn->SwitchMode)(scrnIdx, pMode, 0))
+ if (!(*pScrn->SwitchMode)(SWITCH_MODE_ARGS(pScrn, pMode)))
return (FALSE);
- (*pScrn->AdjustFrame)(scrnIdx, frameX0, frameY0, 0);
+ (*pScrn->AdjustFrame)(ADJUST_FRAME_ARGS(pScrn, frameX0, frameY0));
return (TRUE);
}
@@ -1745,7 +1747,7 @@ VESADGASetMode(ScrnInfoPtr pScrn, DGAModePtr pDGAMode)
static void
VESADGASetViewport(ScrnInfoPtr pScrn, int x, int y, int flags)
{
- (*pScrn->AdjustFrame)(pScrn->pScreen->myNum, x, y, flags);
+ (*pScrn->AdjustFrame)(ADJUST_FRAME_ARGS(pScrn, x, y));
}
static int
commit 378e55e375cbb659d66d6739891553d7a83e6a65
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 11:30:51 2012 +0100
vesa: fix make distcheck.
Add missing compat-api header
Signed-off-by: Dave Airlie <airlied@redhat.com>
diff --git a/src/Makefile.am b/src/Makefile.am
index dc702f0..35fcd5c 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -32,5 +32,6 @@ vesa_drv_la_LDFLAGS = -module -avoid-version
vesa_drv_ladir = @moduledir@/drivers
vesa_drv_la_SOURCES = \
+ compat-api.h \
vesa.c \
vesa.h
commit 18bf00600c75b1dc055d174c8ba9ec1dc4ae8b5a
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 11:25:14 2012 +0100
vesa: convert to new screen conversion APIs.
Generated by util/modular/x-driver-screen-scrn-conv.sh
Signed-off-by: Dave Airlie <airlied@redhat.com>
diff --git a/src/vesa.c b/src/vesa.c
index 9b2f664..ab64060 100644
--- a/src/vesa.c
+++ b/src/vesa.c
@@ -111,7 +111,7 @@ static void *
VESAWindowLinear(ScreenPtr pScreen, CARD32 row, CARD32 offset, int mode,
CARD32 *size, void *closure)
{
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
VESAPtr pVesa = VESAGetRec(pScrn);
*size = pVesa->maxBytesPerScanline;
@@ -122,7 +122,7 @@ static void *
VESAWindowWindowed(ScreenPtr pScreen, CARD32 row, CARD32 offset, int mode,
CARD32 *size, void *closure)
{
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
VESAPtr pVesa = VESAGetRec(pScrn);
VbeModeInfoBlock *data = ((VbeModeInfoData*)(pScrn->currentMode->Private))->data;
int window;
@@ -903,7 +903,7 @@ VESAPreInit(ScrnInfoPtr pScrn, int flags)
static Bool
vesaCreateScreenResources(ScreenPtr pScreen)
{
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
VESAPtr pVesa = VESAGetRec(pScrn);
Bool ret;
@@ -1578,7 +1578,7 @@ RestoreFonts(ScrnInfoPtr pScrn)
static Bool
VESASaveScreen(ScreenPtr pScreen, int mode)
{
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
VESAPtr pVesa = VESAGetRec(pScrn);
Bool on = xf86IsUnblank(mode);
@@ -1603,7 +1603,7 @@ VESASaveScreen(ScreenPtr pScreen, int mode)
static int
VESABankSwitch(ScreenPtr pScreen, unsigned int iBank)
{
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
VESAPtr pVesa = VESAGetRec(pScrn);
if (pVesa->curBank == iBank)
commit 76c67b2735a5b0ee1cf231ff85eb3273a30b4ccc
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 11:24:57 2012 +0100
vesa: add compat-api.h
Signed-off-by: Dave Airlie <airlied@redhat.com>
diff --git a/src/compat-api.h b/src/compat-api.h
new file mode 100644
index 0000000..1bb7724
--- /dev/null
+++ b/src/compat-api.h
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2012 Red Hat, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Author: Dave Airlie <airlied@redhat.com>
+ */
+
+/* this file provides API compat between server post 1.13 and pre it,
+ it should be reused inside as many drivers as possible */
+#ifndef COMPAT_API_H
+#define COMPAT_API_H
+
+#ifndef GLYPH_HAS_GLYPH_PICTURE_ACCESSOR
+#define GetGlyphPicture(g, s) GlyphPicture((g))[(s)->myNum]
+#define SetGlyphPicture(g, s, p) GlyphPicture((g))[(s)->myNum] = p
+#endif
+
+#ifndef XF86_HAS_SCRN_CONV
+#define xf86ScreenToScrn(s) xf86Screens[(s)->myNum]
+#define xf86ScrnToScreen(s) screenInfo.screens[(s)->scrnIndex]
+#endif
+
+#endif
diff --git a/src/vesa.c b/src/vesa.c
index 23d9e14..9b2f664 100644
--- a/src/vesa.c
+++ b/src/vesa.c
@@ -64,7 +64,7 @@
#define DPMS_SERVER
#include <X11/extensions/dpms.h>
#endif
-
+#include "compat-api.h"
/* Mandatory functions */
static const OptionInfoRec * VESAAvailableOptions(int chipid, int busid);
Reply to: