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

xorg-server: Changes to 'upstream-experimental'



 GL/glx/glxglcore.c                       |   13 
 Xext/sync.c                              |    5 
 config/hal.c                             |   35 
 config/x11-input.fdi                     |   10 
 configure.ac                             |   39 
 dix/getevents.c                          |    2 
 exa/exa.c                                |    4 
 exa/exa_priv.h                           |    6 
 exa/exa_render.c                         |  126 
 exa/exa_unaccel.c                        |   24 
 fb/fb.h                                  |    3 
 fb/fbcopy.c                              |    4 
 fb/fbpict.c                              |   30 
 fb/fbtrap.c                              |    8 
 fb/wfbrename.h                           |    1 
 hw/kdrive/Makefile.am                    |    2 
 hw/kdrive/ephyr/ephyrinit.c              |   35 
 hw/kdrive/linux/evdev.c                  |  309 +
 hw/kdrive/linux/linux.c                  |    2 
 hw/kdrive/linux/tslib.c                  |    2 
 hw/kdrive/neomagic/Makefile.am           |    2 
 hw/kdrive/neomagic/backend.c             |   86 
 hw/kdrive/neomagic/backend.h             |   70 
 hw/kdrive/src/kdrive.c                   |    7 
 hw/kdrive/src/kdrive.h                   |    8 
 hw/kdrive/src/kinput.c                   |  161 
 hw/xfree86/int10/helper_exec.c           |    4 
 hw/xfree86/loader/xf86sym.c              |   13 
 hw/xfree86/modes/xf86Crtc.c              |  174 -
 hw/xfree86/modes/xf86Crtc.h              |   19 
 hw/xfree86/modes/xf86Cursors.c           |   21 
 hw/xfree86/modes/xf86DiDGA.c             |    4 
 hw/xfree86/modes/xf86EdidModes.c         |   57 
 hw/xfree86/modes/xf86Modes.c             |   38 
 hw/xfree86/modes/xf86RandR12.c           |   18 
 hw/xfree86/modes/xf86Rotate.c            |    4 
 hw/xfree86/os-support/hurd/hurd_mouse.c  |   24 
 hw/xfree86/os-support/linux/Makefile.am  |    2 
 hw/xfree86/os-support/misc/SlowBcopy.c   |   30 
 hw/xfree86/os-support/xf86_OSproc.h      |    1 
 hw/xfree86/scanpci/extrapci.ids          |   17 
 hw/xfree86/scanpci/pci.ids               |  652 +++
 hw/xfree86/scanpci/xf86PciStdIds.h       | 5315 ++++++++++++++++++++++++++++++-
 hw/xfree86/utils/xorgconfig/xorgconfig.c |    2 
 include/miscstruct.h                     |    2 
 mi/miregion.c                            |    2 
 os/io.c                                  |    4 
 os/osdep.h                               |    3 
 randr/rrinfo.c                           |    9 
 randr/rroutput.c                         |    1 
 render/picture.h                         |    2 
 render/picturestr.h                      |    2 
 xorg-server.pc.in                        |    2 
 53 files changed, 6712 insertions(+), 704 deletions(-)

New commits:
commit ec56c5e958248ea0161dda885fa59752b20f5d7c
Author: Eric Anholt <eric@anholt.net>
Date:   Fri Aug 31 20:02:52 2007 -0700

    Bump version to 1.3.99.2.

diff --git a/configure.ac b/configure.ac
index da90ede..60f34c3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -28,7 +28,7 @@ dnl Process this file with autoconf to create configure.
 AC_PREREQ(2.57)
 dnl This is the not the Xorg version number, it's the server version number.
 dnl Yes, that's weird.
-AC_INIT([xorg-server], 1.3.99.1, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+AC_INIT([xorg-server], 1.3.99.2, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_INIT_AUTOMAKE([dist-bzip2 foreign])
 AM_MAINTAINER_MODE

commit 5efc4bd7d0e2020242127d8ed83efb8d2d76a151
Author: Eric Anholt <eric@anholt.net>
Date:   Fri Aug 31 18:27:41 2007 -0700

    Remove backend.[ch] from neomagic to fix distcheck.
    (cherry picked from commit 917e3bb83a48da7618fce463cf6283be36cd9084)

diff --git a/hw/kdrive/neomagic/Makefile.am b/hw/kdrive/neomagic/Makefile.am
index 4686547..95f0e1e 100644
--- a/hw/kdrive/neomagic/Makefile.am
+++ b/hw/kdrive/neomagic/Makefile.am
@@ -19,8 +19,6 @@ bin_PROGRAMS = Xneomagic
 noinst_LIBRARIES = libneomagic.a
 
 libneomagic_a_SOURCES =         \
-	backend.h                   \
-	backend.c                   \
 	neomagic.c                  \
 	neomagic.h                  \
 	neo_draw.c

commit 1a125b521434da7ba3a41b6398c7f094867908e0
Author: Eric Anholt <eric@anholt.net>
Date:   Fri Aug 31 15:16:01 2007 -0700

    Bug #7364: Require renderproto 0.9.3 on 64-bit, and fix build with it.
    
    (cherry picked from commit 07630d897ef37cad8b79d073d9edc891d5a7bddd)

diff --git a/configure.ac b/configure.ac
index ad6ae4b..da90ede 100644
--- a/configure.ac
+++ b/configure.ac
@@ -628,7 +628,13 @@ PKG_CHECK_MODULES(PIXMAN, $PIXMAN)
 AC_SUBST(PIXMAN_CFLAGS)
 
 dnl Core modules for most extensions, et al.
-REQUIRED_MODULES="[randrproto >= 1.2] renderproto [fixesproto >= 4.0] [damageproto >= 1.1] xcmiscproto xextproto [xproto >= 7.0.9] xtrans [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto [inputproto >= 1.4.2] [kbproto >= 1.0.3]"
+# Require updated renderproto for ABI sanity if we're 64-bit.
+if test "$ac_cv_sizeof_unsigned_long" = 8; then
+	RENDERPROTO="[renderproto >= 0.9.3]"
+else
+	RENDERPROTO="renderproto"
+fi
+REQUIRED_MODULES="[randrproto >= 1.2] $RENDERPROTO [fixesproto >= 4.0] [damageproto >= 1.1] xcmiscproto xextproto [xproto >= 7.0.9] xtrans [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto [inputproto >= 1.4.2] [kbproto >= 1.0.3]"
 REQUIRED_LIBS="xfont xau fontenc $PIXMAN"
 
 dnl HAVE_DBUS is true if we actually have the D-Bus library, whereas
diff --git a/render/picturestr.h b/render/picturestr.h
index 01572ec..aabce84 100644
--- a/render/picturestr.h
+++ b/render/picturestr.h
@@ -24,8 +24,8 @@
 #ifndef _PICTURESTR_H_
 #define _PICTURESTR_H_
 
-#include "glyphstr.h"
 #include "scrnintstr.h"
+#include "glyphstr.h"
 #include "resource.h"
 
 typedef struct _DirectFormat {

commit f499c2ea0a90a69713daef8f9497463229384964
Author: Eric Anholt <eric@anholt.net>
Date:   Fri Aug 31 13:00:23 2007 -0700

    Bug #7186: Fix an excessive request size limitation that broke big-requests.
    
    MAXBUFSIZE appears to be a leftover of some previous time.  Instead, just
    use maxBigRequestSize when bigreqs are available (limiting buffers to ~16MB).
    When bigreqs are not available, needed won't be larger than the maximum
    size of a non-bigreqs request (256kB).
    (cherry picked from commit ca82d4bddf235c9b68d51d68636bab40eafb9889)

diff --git a/os/io.c b/os/io.c
index 835af54..9de75ee 100644
--- a/os/io.c
+++ b/os/io.c
@@ -304,12 +304,14 @@ ReadRequestFromClient(ClientPtr client)
 	 */
 
 	oci->lenLastReq = 0;
-	if (needed > MAXBUFSIZE)
+#ifdef BIGREQS
+	if (needed > maxBigRequestSize << 2)
 	{
 	    /* request is too big for us to handle */
 	    YieldControlDeath();
 	    return -1;
 	}
+#endif
 	if ((gotnow == 0) ||
 	    ((oci->bufptr - oci->buffer + needed) > oci->size))
 	{
diff --git a/os/osdep.h b/os/osdep.h
index 965436d..2d455aa 100644
--- a/os/osdep.h
+++ b/os/osdep.h
@@ -55,9 +55,6 @@ SOFTWARE.
 #define BOTIMEOUT 200 /* in milliseconds */
 #define BUFSIZE 4096
 #define BUFWATERMARK 8192
-#ifndef MAXBUFSIZE
-#define MAXBUFSIZE (1 << 22)
-#endif
 
 #include <X11/Xdmcp.h>
 

commit 3e9ecdcb132bb223febc396626211aa2681e4c79
Author: Matthieu Herrb <matthieu@bluenote.herrb.com>
Date:   Thu Aug 23 22:11:56 2007 +0200

    Remove an extra cast.
    
    Thou should not apply patches manually without testing.
    (cherry picked from commit a66c0f1dca2958835ff65a5b50579e3304ed316a)

diff --git a/dix/getevents.c b/dix/getevents.c
index 52b74bd..162fa45 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -250,7 +250,7 @@ acceleratePointer(DeviceIntPtr pDev, int first_valuator, int num_valuators,
             }
         }
         else {
-		mult = pow((float)((float)dx * (float)dx + (float)dy * (float)dy),
+		mult = pow((float)dx * (float)dx + (float)dy * (float)dy,
                        ((float)(pDev->ptrfeed->ctrl.num) /
                         (float)(pDev->ptrfeed->ctrl.den) - 1.0) /
                        2.0) / 2.0;

commit a964d541283e93b1096150275ba2d95594bf77ea
Author: Otto Moerbeek <otto@openbsd.org>
Date:   Thu Aug 23 21:59:25 2007 +0200

    A high resolution device that's moving fast can potentially generate
    an int overflow, making dx*dx+dy*dy negative. Now pow(negative,
    non-integer) yields NaN, so you loose.  Use fp math to avoid that.
    (cherry picked from commit 12d27cf33c6d963eae77795c0d247175907162a5)

diff --git a/dix/getevents.c b/dix/getevents.c
index 2a10038..52b74bd 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -250,7 +250,7 @@ acceleratePointer(DeviceIntPtr pDev, int first_valuator, int num_valuators,
             }
         }
         else {
-            mult = pow((float)(dx * dx + dy * dy),
+		mult = pow((float)((float)dx * (float)dx + (float)dy * (float)dy),
                        ((float)(pDev->ptrfeed->ctrl.num) /
                         (float)(pDev->ptrfeed->ctrl.den) - 1.0) /
                        2.0) / 2.0;

commit bcd6708895e5c2fda423bb13fe42b078ef293b13
Author: Egbert Eich <eich@freedesktop.org>
Date:   Thu Aug 30 12:50:21 2007 +0200

    Fixing a misleading comment which could suggest a GPL violation.
    
    The author of the int10 code looked at the VBIOS POSTing code
    in DOSEMU to get some initial idea on how to POST a VBIOS.
    To give credit to the DOSEMU Team for this inspiration a comment
    was added to the code which could suggest that code from the
    GPLed DOSEMU was directly incorporated into this code.
    This patch should clearify the situation.
    (cherry picked from commit 1d11e4bc4ccb169fb23fc18583f0b648f0a6a4e0)

diff --git a/hw/xfree86/int10/helper_exec.c b/hw/xfree86/int10/helper_exec.c
index a41965d..a12a9a0 100644
--- a/hw/xfree86/int10/helper_exec.c
+++ b/hw/xfree86/int10/helper_exec.c
@@ -3,8 +3,8 @@
  *   execute BIOS int 10h calls in x86 real mode environment
  *                 Copyright 1999 Egbert Eich
  *
- *   Part of this is based on code taken from DOSEMU
- *   (C) Copyright 1992, ..., 1999 the "DOSEMU-Development-Team"
+ *   Part of this code was inspired  by the VBIOS POSTing code in DOSEMU
+ *   developed by the "DOSEMU-Development-Team"
  */
 
 /*

commit ed001ed363d11aff3df9a7de2f72075e0b2cfb7b
Author: Eric Anholt <eric@anholt.net>
Date:   Wed Aug 29 15:54:32 2007 -0700

    Bug #9629: Remove badly-licensed neomagic kdrive files.
    
    Licensing issues of these files include:
    - They claim to be licensed under the GPL, yet we haven't allowed that in the
      xserver repository in the past.
    - They refer the user to the top of the tree for GPL license text, yet it isn't
      there.
    - They claim to be derived from the (MIT-licensed) ati kdrive code, yet don't
      follow the licensing terms of those files.
    (cherry picked from commit 87295b66a972a2bd194a79af6aa4f715018fcded)

diff --git a/hw/kdrive/Makefile.am b/hw/kdrive/Makefile.am
index 267d772..5803644 100644
--- a/hw/kdrive/Makefile.am
+++ b/hw/kdrive/Makefile.am
@@ -1,5 +1,5 @@
 if KDRIVEVESA
-VESA_SUBDIRS = vesa ati chips epson i810 mach64 mga neomagic nvidia pm2 r128 \
+VESA_SUBDIRS = vesa ati chips epson i810 mach64 mga nvidia pm2 r128 \
                smi via
 endif
 
diff --git a/hw/kdrive/neomagic/backend.c b/hw/kdrive/neomagic/backend.c
deleted file mode 100644
index 12fbf03..0000000
--- a/hw/kdrive/neomagic/backend.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Generic card driving functions.
- * Essentially, cascades calls to fbdev and vesa to initialize cards that
- * do not have hardware-specific routines yet. Copied from the ati driver.
- *
- * Copyright (c) 2004 Brent Cook <busterb@mail.utexas.edu>
- *
- * This code is licensed under the GPL.  See the file COPYING in the root
- * directory of the sources for details.
- */
-
-#ifdef HAVE_CONFIG_H
-#include <kdrive-config.h>
-#endif
-#include "backend.h"
-
-Bool
-backendInitialize(KdCardInfo *card, BackendInfo *backend)
-{
-    Bool success = FALSE;
-
-#ifdef KDRIVEVESA
-    if (!success && vesaInitialize(card, &backend->priv.vesa)) {
-        success = TRUE;
-        backend->type = VESA;
-        backend->cardfini = vesaCardFini;
-        backend->scrfini = vesaScreenFini;
-        backend->initScreen = vesaInitScreen;
-        backend->finishInitScreen = vesaFinishInitScreen;
-        backend->createRes = vesaCreateResources;
-        backend->preserve = vesaPreserve;
-        backend->restore = vesaRestore;
-        backend->dpms = vesaDPMS;
-        backend->enable = vesaEnable;
-        backend->disable = vesaDisable;
-        backend->getColors = vesaGetColors;
-        backend->putColors = vesaPutColors;
-    }
-#endif
-#ifdef KDRIVEFBDEV
-    if (!success && fbdevInitialize(card, &backend->priv.fbdev)) {
-        success = TRUE;
-        backend->type = FBDEV;
-        backend->cardfini = fbdevCardFini;
-        backend->scrfini = fbdevScreenFini;
-        backend->initScreen = fbdevInitScreen;
-        backend->finishInitScreen = fbdevFinishInitScreen;
-        backend->createRes = fbdevCreateResources;
-        backend->preserve = fbdevPreserve;
-        backend->restore = fbdevRestore;
-        backend->dpms = fbdevDPMS;
-        backend->enable = fbdevEnable;
-        backend->disable = fbdevDisable;
-        backend->getColors = fbdevGetColors;
-        backend->putColors = fbdevPutColors;
-    }
-#endif
-    return success;
-}
-
-Bool
-backendScreenInitialize(KdScreenInfo *screen, BackendScreen *backendScreen,
-                        BackendInfo *backendCard)
-{
-    Bool success = FALSE;
-
-#ifdef KDRIVEFBDEV
-    if (backendCard->type == FBDEV) {
-        screen->card->driver = &backendCard->priv.fbdev;
-        success = fbdevScreenInitialize(screen, &backendScreen->fbdev);
-        screen->memory_size = backendCard->priv.fbdev.fix.smem_len;
-        screen->off_screen_base = backendCard->priv.fbdev.var.yres_virtual
-                                * screen->fb[0].byteStride;
-    }
-#endif
-#ifdef KDRIVEVESA
-    if (backendCard->type == VESA) {
-		screen->card->driver = &backendCard->priv.vesa;
-        if (screen->fb[0].depth == 0) {
-            screen->fb[0].depth = 16;
-        }
-        success = vesaScreenInitialize(screen, &backendScreen->vesa);
-    }
-#endif
-    return success;
-}
diff --git a/hw/kdrive/neomagic/backend.h b/hw/kdrive/neomagic/backend.h
deleted file mode 100644
index 33eae26..0000000
--- a/hw/kdrive/neomagic/backend.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Generic card driving functions.
- * Essentially, cascades calls to fbdev and vesa to initialize cards that
- * do not have hardware-specific routines yet. Copied from the ati driver.
- *
- * Copyright (c) 2004 Brent Cook <busterb@mail.utexas.edu>
- *
- * This code is licensed under the GPL.  See the file COPYING in the root
- * directory of the sources for details.
- */
-
-#ifndef _BACKEND_H_
-#define _BACKEND_H_
-#include "kdrive.h"
-
-#ifdef KDRIVEFBDEV
-#include <fbdev.h>
-#endif
-#ifdef KDRIVEVESA
-#include <vesa.h>
-#endif
-
-typedef enum _BackendType {VESA, FBDEV} BackendType;
-
-typedef struct _BackendInfo {
-    // backend info
-    BackendType type;
-
-    // backend internal structures
-    union {
-#ifdef KDRIVEFBDEV
-        FbdevPriv fbdev;
-#endif
-#ifdef KDRIVEVESA
-        VesaCardPrivRec vesa;
-#endif
-    } priv;
-
-    // pointers to helper functions for this backend
-    void (*cardfini)(KdCardInfo *);
-    void (*scrfini)(KdScreenInfo *);
-    Bool (*initScreen)(ScreenPtr);
-    Bool (*finishInitScreen)(ScreenPtr pScreen);
-    Bool (*createRes)(ScreenPtr);
-    void (*preserve)(KdCardInfo *);
-    void (*restore)(KdCardInfo *);
-    Bool (*dpms)(ScreenPtr, int);
-    Bool (*enable)(ScreenPtr);
-    void (*disable)(ScreenPtr);
-    void (*getColors)(ScreenPtr, int, int, xColorItem *);
-    void (*putColors)(ScreenPtr, int, int, xColorItem *);
-} BackendInfo;
-
-typedef union _BackendScreen {
-#ifdef KDRIVEFBDEV
-    FbdevScrPriv fbdev;
-#endif
-#ifdef KDRIVEVESA
-    VesaScreenPrivRec vesa;
-#endif
-} BackendScreen;
-
-Bool
-backendInitialize(KdCardInfo *card, BackendInfo *backend);
-
-Bool
-backendScreenInitialize(KdScreenInfo *screen, BackendScreen *backendScreen,
-                        BackendInfo *backendCard);
-
-#endif

commit 5182fbf302beae93ea5b71a40a23528ee83fa1cc
Author: Alex Deucher <alex@botch2.(none)>
Date:   Wed Aug 22 19:26:34 2007 -0400

    Add _X_EXPORT to exported functions in hw/xfree86/modes/*
    
    Also add missing exports to hw/xfree86/loader/xf86sym.c
    (cherry picked from commit 81f8b652d99ee0f7116c1e34aed0e585d23a91fb)

diff --git a/hw/xfree86/loader/xf86sym.c b/hw/xfree86/loader/xf86sym.c
index 185eb80..23f8208 100644
--- a/hw/xfree86/loader/xf86sym.c
+++ b/hw/xfree86/loader/xf86sym.c
@@ -1153,9 +1153,12 @@ _X_HIDDEN void *xfree86LookupTab[] = {
     SYMFUNC(xf86CrtcCreate)
     SYMFUNC(xf86CrtcDestroy)
     SYMFUNC(xf86CrtcInUse)
+    SYMFUNC(xf86CrtcSetScreenSubpixelOrder)
+    SYMFUNC(xf86RotateCloseScreen)
     SYMFUNC(xf86CrtcRotate)
     SYMFUNC(xf86CrtcSetMode)
     SYMFUNC(xf86CrtcSetSizeRange)
+    SYMFUNC(xf86CrtcScreenInit)
     SYMFUNC(xf86CVTMode)
     SYMFUNC(xf86DisableUnusedFunctions)
     SYMFUNC(xf86DPMSSet)
@@ -1168,18 +1171,25 @@ _X_HIDDEN void *xfree86LookupTab[] = {
     SYMFUNC(xf86ModesAdd)
     SYMFUNC(xf86ModesEqual)
     SYMFUNC(xf86ModeVRefresh)
+    SYMFUNC(xf86ModeWidth)
+    SYMFUNC(xf86ModeHeight)
     SYMFUNC(xf86OutputCreate)
     SYMFUNC(xf86OutputDestroy)
     SYMFUNC(xf86OutputGetEDID)
+    SYMFUNC(xf86ConnectorGetName)
     SYMFUNC(xf86OutputGetEDIDModes)
     SYMFUNC(xf86OutputRename)
+    SYMFUNC(xf86OutputUseScreenMonitor)
     SYMFUNC(xf86OutputSetEDID)
+    SYMFUNC(xf86OutputFindClosestMode)
     SYMFUNC(xf86PrintModeline)
     SYMFUNC(xf86ProbeOutputModes)
     SYMFUNC(xf86PruneInvalidModes)
     SYMFUNC(xf86SetModeCrtc)
     SYMFUNC(xf86SetModeDefaultName)
     SYMFUNC(xf86SetScrnInfoModes)
+    SYMFUNC(xf86SetDesiredModes)
+    SYMFUNC(xf86SetSingleMode)
     SYMFUNC(xf86ValidateModesClocks)
     SYMFUNC(xf86ValidateModesFlags)
     SYMFUNC(xf86ValidateModesSize)
@@ -1197,6 +1207,7 @@ _X_HIDDEN void *xfree86LookupTab[] = {
     SYMFUNC(xf86RandR12PreInit)
     SYMFUNC(xf86RandR12SetConfig)
     SYMFUNC(xf86RandR12SetRotations)
+    SYMFUNC(xf86RandR12TellChanged)
 #endif
     SYMFUNC(xf86_cursors_init)
     SYMFUNC(xf86_reload_cursors)
diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index 5a6fc3a..d375da8 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -53,7 +53,7 @@
 
 int xf86CrtcConfigPrivateIndex = -1;
 
-void
+_X_EXPORT void
 xf86CrtcConfigInit (ScrnInfoPtr scrn,
 		    const xf86CrtcConfigFuncsRec *funcs)
 {
@@ -68,7 +68,7 @@ xf86CrtcConfigInit (ScrnInfoPtr scrn,
     scrn->privates[xf86CrtcConfigPrivateIndex].ptr = config;
 }
  
-void
+_X_EXPORT void
 xf86CrtcSetSizeRange (ScrnInfoPtr scrn,
 		      int minWidth, int minHeight,
 		      int maxWidth, int maxHeight)
@@ -84,7 +84,7 @@ xf86CrtcSetSizeRange (ScrnInfoPtr scrn,
 /*
  * Crtc functions
  */
-xf86CrtcPtr
+_X_EXPORT xf86CrtcPtr
 xf86CrtcCreate (ScrnInfoPtr		scrn,
 		const xf86CrtcFuncsRec	*funcs)
 {
@@ -116,7 +116,7 @@ xf86CrtcCreate (ScrnInfoPtr		scrn,
     return crtc;
 }
 
-void
+_X_EXPORT void
 xf86CrtcDestroy (xf86CrtcPtr crtc)
 {
     xf86CrtcConfigPtr   xf86_config = XF86_CRTC_CONFIG_PTR(crtc->scrn);
@@ -140,7 +140,7 @@ xf86CrtcDestroy (xf86CrtcPtr crtc)
  * Return whether any outputs are connected to the specified pipe
  */
 
-Bool
+_X_EXPORT Bool
 xf86CrtcInUse (xf86CrtcPtr crtc)
 {
     ScrnInfoPtr		pScrn = crtc->scrn;
@@ -153,7 +153,7 @@ xf86CrtcInUse (xf86CrtcPtr crtc)
     return FALSE;
 }
 
-void
+_X_EXPORT void
 xf86CrtcSetScreenSubpixelOrder (ScreenPtr pScreen)
 {
 #ifdef RENDER
@@ -221,7 +221,7 @@ xf86CrtcSetScreenSubpixelOrder (ScreenPtr pScreen)
 /**
  * Sets the given video mode on the given crtc
  */
-Bool
+_X_EXPORT Bool
 xf86CrtcSetMode (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation,
 		 int x, int y)
 {
@@ -492,7 +492,7 @@ xf86OutputInitialRotation (xf86OutputPtr output)
     return RR_Rotate_0;
 }
 
-xf86OutputPtr
+_X_EXPORT xf86OutputPtr
 xf86OutputCreate (ScrnInfoPtr		    scrn,
 		  const xf86OutputFuncsRec  *funcs,
 		  const char		    *name)
@@ -552,7 +552,7 @@ xf86OutputCreate (ScrnInfoPtr		    scrn,
     return output;
 }
 
-Bool
+_X_EXPORT Bool
 xf86OutputRename (xf86OutputPtr output, const char *name)
 {
     int	    len = strlen(name) + 1;
@@ -571,7 +571,7 @@ xf86OutputRename (xf86OutputPtr output, const char *name)
     return TRUE;
 }
 
-void
+_X_EXPORT void
 xf86OutputUseScreenMonitor (xf86OutputPtr output, Bool use_screen_monitor)
 {
     if (use_screen_monitor != output->use_screen_monitor)
@@ -581,7 +581,7 @@ xf86OutputUseScreenMonitor (xf86OutputPtr output, Bool use_screen_monitor)
     }
 }
 
-void
+_X_EXPORT void
 xf86OutputDestroy (xf86OutputPtr output)
 {
     ScrnInfoPtr		scrn = output->scrn;
@@ -657,7 +657,7 @@ xf86CrtcCloseScreen (int index, ScreenPtr screen)
 /*
  * Called at ScreenInit time to set up
  */
-Bool
+_X_EXPORT Bool
 xf86CrtcScreenInit (ScreenPtr screen)
 {
     ScrnInfoPtr		scrn = xf86Screens[screen->myNum];
@@ -1214,7 +1214,7 @@ xf86SortModes (DisplayModePtr input)
     return output;
 }
 
-void
+_X_EXPORT void
 xf86ProbeOutputModes (ScrnInfoPtr scrn, int maxX, int maxY)
 {
     xf86CrtcConfigPtr	config = XF86_CRTC_CONFIG_PTR(scrn);
@@ -1455,10 +1455,10 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, int maxX, int maxY)
  */
 
 /* XXX where does this function belong? Here? */
-void
+_X_EXPORT void
 xf86RandR12GetOriginalVirtualSize(ScrnInfoPtr scrn, int *x, int *y);
 
-void
+_X_EXPORT void
 xf86SetScrnInfoModes (ScrnInfoPtr scrn)
 {
     xf86CrtcConfigPtr	config = XF86_CRTC_CONFIG_PTR(scrn);
@@ -1526,7 +1526,7 @@ xf86SetScrnInfoModes (ScrnInfoPtr scrn)
  * accordingly.
  */
 
-Bool
+_X_EXPORT Bool
 xf86InitialConfiguration (ScrnInfoPtr scrn, Bool canGrow)
 {
     xf86CrtcConfigPtr	config = XF86_CRTC_CONFIG_PTR(scrn);
@@ -1730,7 +1730,7 @@ xf86InitialConfiguration (ScrnInfoPtr scrn, Bool canGrow)
  * modes (used in EnterVT functions, or at server startup)
  */
 
-Bool
+_X_EXPORT Bool
 xf86SetDesiredModes (ScrnInfoPtr scrn)
 {
     xf86CrtcConfigPtr   config = XF86_CRTC_CONFIG_PTR(scrn);
@@ -1810,7 +1810,7 @@ xf86SetDesiredModes (ScrnInfoPtr scrn)
  * - Closer in refresh rate to the requested mode.
  */
 
-DisplayModePtr
+_X_EXPORT DisplayModePtr
 xf86OutputFindClosestMode (xf86OutputPtr output, DisplayModePtr desired)
 {
     DisplayModePtr	best = NULL, scan = NULL;
@@ -1873,7 +1873,7 @@ xf86OutputFindClosestMode (xf86OutputPtr output, DisplayModePtr desired)
  * mode across all outputs that are currently active.
  */
 
-Bool
+_X_EXPORT Bool
 xf86SetSingleMode (ScrnInfoPtr pScrn, DisplayModePtr desired, Rotation rotation)
 {
     xf86CrtcConfigPtr	config = XF86_CRTC_CONFIG_PTR(pScrn);
@@ -1945,7 +1945,7 @@ xf86SetSingleMode (ScrnInfoPtr pScrn, DisplayModePtr desired, Rotation rotation)
  * If the new mode is off, it will turn off outputs and then CRTCs.
  * Otherwise, it will affect CRTCs before outputs.
  */
-void
+_X_EXPORT void
 xf86DPMSSet(ScrnInfoPtr scrn, int mode, int flags)
 {
     xf86CrtcConfigPtr	config = XF86_CRTC_CONFIG_PTR(scrn);
@@ -1983,7 +1983,7 @@ xf86DPMSSet(ScrnInfoPtr scrn, int mode, int flags)
  * Even for monitors with no DPMS support, by the definition of our DPMS hooks,
  * the outputs will still get disabled (blanked).
  */
-Bool
+_X_EXPORT Bool
 xf86SaveScreen(ScreenPtr pScreen, int mode)
 {
     ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
@@ -1999,7 +1999,7 @@ xf86SaveScreen(ScreenPtr pScreen, int mode)
 /**
  * Disable all inactive crtcs and outputs
  */
-void
+_X_EXPORT void
 xf86DisableUnusedFunctions(ScrnInfoPtr pScrn)
 {
     xf86CrtcConfigPtr   xf86_config = XF86_CRTC_CONFIG_PTR(pScrn);
@@ -2053,7 +2053,7 @@ xf86OutputSetEDIDProperty (xf86OutputPtr output, void *data, int data_len)
 /**
  * Set the EDID information for the specified output
  */
-void
+_X_EXPORT void
 xf86OutputSetEDID (xf86OutputPtr output, xf86MonPtr edid_mon)
 {
     ScrnInfoPtr		scrn = output->scrn;
@@ -2119,7 +2119,7 @@ xf86OutputSetEDID (xf86OutputPtr output, xf86MonPtr edid_mon)
  * Return the list of modes supported by the EDID information
  * stored in 'output'
  */
-DisplayModePtr
+_X_EXPORT DisplayModePtr
 xf86OutputGetEDIDModes (xf86OutputPtr output)
 {
     ScrnInfoPtr	scrn = output->scrn;
@@ -2130,7 +2130,7 @@ xf86OutputGetEDIDModes (xf86OutputPtr output)
     return xf86DDCGetModes(scrn->scrnIndex, edid_mon);
 }
 
-xf86MonPtr
+_X_EXPORT xf86MonPtr
 xf86OutputGetEDID (xf86OutputPtr output, I2CBusPtr pDDCBus)
 {
     ScrnInfoPtr	scrn = output->scrn;
@@ -2141,7 +2141,7 @@ xf86OutputGetEDID (xf86OutputPtr output, I2CBusPtr pDDCBus)
 static char *_xf86ConnectorNames[] = { "None", "VGA", "DVI-I", "DVI-D",
 				      "DVI-A", "Composite", "S-Video",
 				      "Component", "LFP", "Proprietary" };
-char *
+_X_EXPORT char *
 xf86ConnectorGetName(xf86ConnectorType connector)
 {
     return _xf86ConnectorNames[connector];
@@ -2223,7 +2223,7 @@ xf86_covering_crtc(ScrnInfoPtr pScrn,
  * clip video to that
  */
 
-Bool
+_X_EXPORT Bool
 xf86_crtc_clip_video_helper(ScrnInfoPtr pScrn,
 			    xf86CrtcPtr *crtc_ret,
 			    xf86CrtcPtr desired_crtc,
diff --git a/hw/xfree86/modes/xf86Cursors.c b/hw/xfree86/modes/xf86Cursors.c
index 92b90a9..b510164 100644
--- a/hw/xfree86/modes/xf86Cursors.c
+++ b/hw/xfree86/modes/xf86Cursors.c
@@ -256,7 +256,7 @@ xf86_crtc_hide_cursor (xf86CrtcPtr crtc)
     }
 }
 
-void
+_X_EXPORT void
 xf86_hide_cursors (ScrnInfoPtr scrn)
 {
     xf86CrtcConfigPtr   xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
@@ -282,7 +282,7 @@ xf86_crtc_show_cursor (xf86CrtcPtr crtc)
     }
 }
 
-void
+_X_EXPORT void
 xf86_show_cursors (ScrnInfoPtr scrn)
 {
     xf86CrtcConfigPtr   xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
@@ -528,7 +528,7 @@ xf86_load_cursor_argb (ScrnInfoPtr scrn, CursorPtr cursor)
     }
 }
 
-Bool
+_X_EXPORT Bool
 xf86_cursors_init (ScreenPtr screen, int max_width, int max_height, int flags)
 {
     ScrnInfoPtr		scrn = xf86Screens[screen->myNum];
@@ -579,7 +579,7 @@ xf86_cursors_init (ScreenPtr screen, int max_width, int max_height, int flags)
  * Reloads cursor images as needed, then adjusts cursor positions
  */
 
-void
+_X_EXPORT void
 xf86_reload_cursors (ScreenPtr screen)
 {
     ScrnInfoPtr		scrn;
@@ -622,7 +622,7 @@ xf86_reload_cursors (ScreenPtr screen)
 /**
  * Clean up CRTC-based cursor code
  */
-void
+_X_EXPORT void
 xf86_cursors_fini (ScreenPtr screen)
 {
     ScrnInfoPtr		scrn = xf86Screens[screen->myNum];
diff --git a/hw/xfree86/modes/xf86DiDGA.c b/hw/xfree86/modes/xf86DiDGA.c
index 0964cef..f40d0ab 100644
--- a/hw/xfree86/modes/xf86DiDGA.c
+++ b/hw/xfree86/modes/xf86DiDGA.c
@@ -255,7 +255,7 @@ static DGAFunctionRec xf86_dga_funcs = {
    NULL
 };
 
-Bool
+_X_EXPORT Bool
 xf86DiDGAReInit (ScreenPtr pScreen)
 {
     ScrnInfoPtr		scrn = xf86Screens[pScreen->myNum];
@@ -267,7 +267,7 @@ xf86DiDGAReInit (ScreenPtr pScreen)
     return DGAReInitModes (pScreen, xf86_config->dga_modes, xf86_config->dga_nmode);
 }
 
-Bool
+_X_EXPORT Bool
 xf86DiDGAInit (ScreenPtr pScreen, unsigned long dga_address)
 {
     ScrnInfoPtr		scrn = xf86Screens[pScreen->myNum];
diff --git a/hw/xfree86/modes/xf86EdidModes.c b/hw/xfree86/modes/xf86EdidModes.c
index 908593b..8b5e69d 100644
--- a/hw/xfree86/modes/xf86EdidModes.c
+++ b/hw/xfree86/modes/xf86EdidModes.c
@@ -303,7 +303,7 @@ DDCGuessRangesFromModes(int scrnIndex, MonPtr Monitor, DisplayModePtr Modes)
     }
 }
 
-DisplayModePtr
+_X_EXPORT DisplayModePtr
 xf86DDCGetModes(int scrnIndex, xf86MonPtr DDC)
 {
     int preferred, i;
@@ -389,7 +389,7 @@ xf86DDCGetModes(int scrnIndex, xf86MonPtr DDC)
 /*
  * Fill out MonPtr with xf86MonPtr information.
  */
-void
+_X_EXPORT void
 xf86DDCMonitorSet(int scrnIndex, MonPtr Monitor, xf86MonPtr DDC)
 {
     DisplayModePtr Modes = NULL, Mode;
diff --git a/hw/xfree86/modes/xf86Modes.c b/hw/xfree86/modes/xf86Modes.c
index ea9f85b..f49c292 100644
--- a/hw/xfree86/modes/xf86Modes.c
+++ b/hw/xfree86/modes/xf86Modes.c
@@ -49,7 +49,7 @@ extern XF86ConfigPtr xf86configptr;
  *
  * Exact copy of xf86Mode.c's.
  */
-double
+_X_EXPORT double
 xf86ModeHSync(DisplayModePtr mode)
 {
     double hsync = 0.0;
@@ -67,7 +67,7 @@ xf86ModeHSync(DisplayModePtr mode)
  *
  * Exact copy of xf86Mode.c's.
  */
-double
+_X_EXPORT double
 xf86ModeVRefresh(DisplayModePtr mode)
 {
     double refresh = 0.0;
@@ -86,7 +86,7 @@ xf86ModeVRefresh(DisplayModePtr mode)
     return refresh;
 }
 
-int
+_X_EXPORT int
 xf86ModeWidth (DisplayModePtr mode, Rotation rotation)
 {
     switch (rotation & 0xf) {
@@ -101,7 +101,7 @@ xf86ModeWidth (DisplayModePtr mode, Rotation rotation)
     }
 }
 
-int
+_X_EXPORT int
 xf86ModeHeight (DisplayModePtr mode, Rotation rotation)
 {
     switch (rotation & 0xf) {
@@ -117,7 +117,7 @@ xf86ModeHeight (DisplayModePtr mode, Rotation rotation)
 }
 
 /** Sets a default mode name of <width>x<height> on a mode. */
-void
+_X_EXPORT void
 xf86SetModeDefaultName(DisplayModePtr mode)
 {
     if (mode->name != NULL)
@@ -134,7 +134,7 @@ xf86SetModeDefaultName(DisplayModePtr mode)
  *
  * Exact copy of xf86Mode.c's.
  */
-void
+_X_EXPORT void
 xf86SetModeCrtc(DisplayModePtr p, int adjustFlags)
 {
     if ((p == NULL) || ((p->type & M_T_CRTC_C) == M_T_BUILTIN))
@@ -185,7 +185,7 @@ xf86SetModeCrtc(DisplayModePtr p, int adjustFlags)
 /**
  * Allocates and returns a copy of pMode, including pointers within pMode.
  */
-DisplayModePtr
+_X_EXPORT DisplayModePtr
 xf86DuplicateMode(DisplayModePtr pMode)
 {
     DisplayModePtr pNew;
@@ -209,7 +209,7 @@ xf86DuplicateMode(DisplayModePtr pMode)
  *
  * \param modeList doubly-linked mode list
  */
-DisplayModePtr
+_X_EXPORT DisplayModePtr
 xf86DuplicateModes(ScrnInfoPtr pScrn, DisplayModePtr modeList)
 {
     DisplayModePtr first = NULL, last = NULL;
@@ -243,7 +243,7 @@ xf86DuplicateModes(ScrnInfoPtr pScrn, DisplayModePtr modeList)
  *
  * This isn't in xf86Modes.c, but it might deserve to be there.
  */
-Bool
+_X_EXPORT Bool
 xf86ModesEqual(DisplayModePtr pMode1, DisplayModePtr pMode2)
 {
      if (pMode1->Clock == pMode2->Clock &&
@@ -279,7 +279,7 @@ add(char **p, char *new)
  *
  * Convenient VRefresh printing was added, though, compared to xf86Mode.c
  */
-void
+_X_EXPORT void
 xf86PrintModeline(int scrnIndex,DisplayModePtr mode)
 {
     char tmp[256];
@@ -327,7 +327,7 @@ xf86PrintModeline(int scrnIndex,DisplayModePtr mode)
  *
  * This is not in xf86Modes.c, but would be part of the proposed new API.
  */
-void
+_X_EXPORT void
 xf86ValidateModesFlags(ScrnInfoPtr pScrn, DisplayModePtr modeList,
 			    int flags)
 {
@@ -348,7 +348,7 @@ xf86ValidateModesFlags(ScrnInfoPtr pScrn, DisplayModePtr modeList,
  *
  * This is not in xf86Modes.c, but would be part of the proposed new API.
  */
-void
+_X_EXPORT void
 xf86ValidateModesSize(ScrnInfoPtr pScrn, DisplayModePtr modeList,
 			  int maxX, int maxY, int maxPitch)
 {
@@ -377,7 +377,7 @@ xf86ValidateModesSize(ScrnInfoPtr pScrn, DisplayModePtr modeList,
  *
  * This is not in xf86Modes.c, but would be part of the proposed new API.
  */
-void
+_X_EXPORT void
 xf86ValidateModesSync(ScrnInfoPtr pScrn, DisplayModePtr modeList,
 			  MonPtr mon)
 {
@@ -424,7 +424,7 @@ xf86ValidateModesSync(ScrnInfoPtr pScrn, DisplayModePtr modeList,
  *
  * This is not in xf86Modes.c, but would be part of the proposed new API.
  */
-void
+_X_EXPORT void
 xf86ValidateModesClocks(ScrnInfoPtr pScrn, DisplayModePtr modeList,
 			    int *min, int *max, int n_ranges)
 {
@@ -458,7 +458,7 @@ xf86ValidateModesClocks(ScrnInfoPtr pScrn, DisplayModePtr modeList,
  *
  * This is not in xf86Modes.c, but would be part of the proposed new API.
  */
-void
+_X_EXPORT void
 xf86ValidateModesUserConfig(ScrnInfoPtr pScrn, DisplayModePtr modeList)
 {
     DisplayModePtr mode;
@@ -492,7 +492,7 @@ xf86ValidateModesUserConfig(ScrnInfoPtr pScrn, DisplayModePtr modeList)
  *
  * This is not in xf86Modes.c, but would be part of the proposed new API.
  */
-void
+_X_EXPORT void
 xf86PruneInvalidModes(ScrnInfoPtr pScrn, DisplayModePtr *modeList,
 			  Bool verbose)
 {



Reply to: