[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-video-vesa: Changes to 'upstream-unstable'



 configure.ac     |    2 -
 src/Makefile.am  |    1 
 src/compat-api.h |   98 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/vesa.c       |   92 ++++++++++++++++++++++++++-------------------------
 4 files changed, 147 insertions(+), 46 deletions(-)

New commits:
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: