update to xorg-server-20090717

This commit is contained in:
Stephan Raue 2009-07-20 02:23:04 +02:00
parent 9006b9037d
commit dc715d1d13
8 changed files with 138 additions and 5702 deletions

View File

@ -106,7 +106,7 @@ cd $PKG_BUILD
make
$STRIP hw/xfree86/Xorg
$STRIP hw/xfree86/.libs/Xorg
$STRIP hw/xfree86/utils/gtf/gtf
make DESTDIR=$SYSROOT_PREFIX install

View File

@ -19,13 +19,16 @@ XORG_SRC="$PKG_BUILD/hw/xfree86"
XORG_DST="$INSTALL/$XORG_PATH_MODULES"
mkdir -p $INSTALL/usr/bin
cp $XORG_SRC/Xorg $INSTALL/usr/bin
cp $XORG_SRC/.libs/Xorg $INSTALL/usr/bin
ln -sf /usr/bin/Xorg $INSTALL/usr/bin/X
cp $XORG_SRC/utils/gtf/gtf $INSTALL/usr/bin
#opt:
cp $XORG_SRC/utils/cvt/cvt $INSTALL/usr/bin
mkdir -p $INSTALL/usr/lib
cp $XORG_SRC/parser/.libs/libxf86config.so* $INSTALL/usr/lib
mkdir -p $XORG_DST
cp $XORG_SRC/shadowfb/.libs/libshadowfb.so $XORG_DST
cp $XORG_SRC/dixmods/.libs/libfb.so $XORG_DST

View File

@ -0,0 +1,132 @@
XdbeVisualInfo and XdbeScreenVisualInfo are structures used both by the
server and Xlib. Copy into dbestruct.h and rename to DbeVisualInfo and
DbeScreenVisualInfo to avoid potential conflicts with the Xlib headers.
This is technically an API (but not ABI) break.
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
Fixes the current build error with xserver.
dbe/dbe.c | 9 ++++-----
dbe/dbestruct.h | 20 +++++++++++++++++---
dbe/midbe.c | 6 +++---
3 files changed, 24 insertions(+), 11 deletions(-)
diff --git a/dbe/dbe.c b/dbe/dbe.c
index a4f853d..56a95e5 100644
--- a/dbe/dbe.c
+++ b/dbe/dbe.c
@@ -50,7 +50,6 @@
#include "extnsionst.h"
#include "gcstruct.h"
#include "dixstruct.h"
-#define NEED_DBE_PROTOCOL
#include "dbestruct.h"
#include "midbe.h"
#include "xace.h"
@@ -182,7 +181,7 @@ ProcDbeAllocateBackBufferName(ClientPtr client)
WindowPtr pWin;
DbeScreenPrivPtr pDbeScreenPriv;
DbeWindowPrivPtr pDbeWindowPriv;
- XdbeScreenVisualInfo scrVisInfo;
+ DbeScreenVisualInfo scrVisInfo;
register int i;
Bool visualMatched = FALSE;
xDbeSwapAction swapAction;
@@ -662,7 +661,7 @@ ProcDbeGetVisualInfo(ClientPtr client)
register int count; /* number of visual infos in reply */
register int length; /* length of reply */
ScreenPtr pScreen;
- XdbeScreenVisualInfo *pScrVisInfo;
+ DbeScreenVisualInfo *pScrVisInfo;
REQUEST_AT_LEAST_SIZE(xDbeGetVisualInfoReq);
@@ -692,8 +691,8 @@ ProcDbeGetVisualInfo(ClientPtr client)
}
count = (stuff->n == 0) ? screenInfo.numScreens : stuff->n;
- if (!(pScrVisInfo = (XdbeScreenVisualInfo *)xalloc(count *
- sizeof(XdbeScreenVisualInfo))))
+ if (!(pScrVisInfo = (DbeScreenVisualInfo *)xalloc(count *
+ sizeof(DbeScreenVisualInfo))))
{
if (pDrawables)
{
diff --git a/dbe/dbestruct.h b/dbe/dbestruct.h
index e067f37..4039113 100644
--- a/dbe/dbestruct.h
+++ b/dbe/dbestruct.h
@@ -36,8 +36,7 @@
/* INCLUDES */
-#define NEED_DBE_PROTOCOL
-#include <X11/extensions/Xdbeproto.h>
+#include <X11/extensions/dbeproto.h>
#include "windowstr.h"
#include "privates.h"
@@ -88,6 +87,21 @@ typedef struct _DbeSwapInfoRec
} DbeSwapInfoRec, *DbeSwapInfoPtr;
+typedef struct
+{
+ VisualID visual; /* one visual ID that supports double-buffering */
+ int depth; /* depth of visual in bits */
+ int perflevel; /* performance level of visual */
+}
+DbeVisualInfo;
+
+typedef struct
+{
+ int count; /* number of items in visual_depth */
+ DbeVisualInfo *visinfo; /* list of visuals & depths for scrn */
+}
+DbeScreenVisualInfo;
+
/*
******************************************************************************
** Per-window data
@@ -177,7 +191,7 @@ typedef struct _DbeScreenPrivRec
/* Per-screen DDX routines */
Bool (*GetVisualInfo)(
ScreenPtr /*pScreen*/,
- XdbeScreenVisualInfo * /*pVisInfo*/
+ DbeScreenVisualInfo * /*pVisInfo*/
);
int (*AllocBackBufferName)(
WindowPtr /*pWin*/,
diff --git a/dbe/midbe.c b/dbe/midbe.c
index 4426c9d..49b69f7 100644
--- a/dbe/midbe.c
+++ b/dbe/midbe.c
@@ -85,12 +85,12 @@ static DevPrivateKey dbeWindowPrivKey = &dbeWindowPrivKeyIndex;
*****************************************************************************/
static Bool
-miDbeGetVisualInfo(ScreenPtr pScreen, XdbeScreenVisualInfo *pScrVisInfo)
+miDbeGetVisualInfo(ScreenPtr pScreen, DbeScreenVisualInfo *pScrVisInfo)
{
register int i, j, k;
register int count;
DepthPtr pDepth;
- XdbeVisualInfo *visInfo;
+ DbeVisualInfo *visInfo;
/* Determine number of visuals for this screen. */
@@ -100,7 +100,7 @@ miDbeGetVisualInfo(ScreenPtr pScreen, XdbeScreenVisualInfo *pScrVisInfo)
}
/* Allocate an array of XdbeVisualInfo items. */
- if (!(visInfo = (XdbeVisualInfo *)xalloc(count * sizeof(XdbeVisualInfo))))
+ if (!(visInfo = (DbeVisualInfo *)xalloc(count * sizeof(DbeVisualInfo))))
{
return(FALSE); /* memory alloc failure */
}
--
1.6.3.rc1.2.g0164.dirty

View File

@ -1,28 +0,0 @@
Index: xorg-server/hw/xfree86/os-support/linux/lnx_init.c
===================================================================
--- xorg-server.orig/hw/xfree86/os-support/linux/lnx_init.c 2008-06-18 10:28:16.000000000 +0300
+++ xorg-server/hw/xfree86/os-support/linux/lnx_init.c 2008-06-18 12:06:06.000000000 +0300
@@ -283,9 +283,7 @@
FatalError("Unable to set screen info\n");
close(fbfd);
#endif
- } else { /* ShareVTs */
- close(xf86Info.consoleFd);
- }
+ }
signal(SIGUSR2, xf86ReloadInputDevs);
} else { /* serverGeneration != 1 */
if (!ShareVTs && VTSwitch)
@@ -314,7 +312,11 @@
int vtno = -1;
#endif
- if (ShareVTs) return;
+ if (ShareVTs)
+ {
+ close(xf86Info.consoleFd);
+ return;
+ }
#if defined(DO_OS_FONTRESTORE)
if (ioctl(xf86Info.consoleFd, VT_GETSTATE, &vts) < 0)

View File

@ -1,43 +0,0 @@
diff -Nurp xorg-server-1.4.99.906-patched/hw/xfree86/common/xf86Events.c xorg-server-1.4.99.906-working/hw/xfree86/common/xf86Events.c
--- xorg-server-1.4.99.906-patched/hw/xfree86/common/xf86Events.c 2008-09-01 13:17:47.000000000 -0700
+++ xorg-server-1.4.99.906-working/hw/xfree86/common/xf86Events.c 2008-09-01 13:19:35.000000000 -0700
@@ -741,6 +741,8 @@ static __inline__ void xorg_backtrace(vo
void
xf86SigHandler(int signo)
{
+ static Bool beenhere = FALSE;
+
if ((signo == SIGILL) && xf86SigIllHandler) {
(*xf86SigIllHandler)();
/* Re-arm handler just in case we unexpectedly return here */
@@ -763,6 +765,30 @@ xf86SigHandler(int signo)
xorg_backtrace();
+ switch (signo) {
+ case SIGSEGV:
+ case SIGBUS:
+ case SIGILL:
+ case SIGFPE:
+ signal(signo,SIG_DFL);
+ ErrorF ("Saw signal %d. Server aborting.\n", signo);
+#ifdef DDXOSFATALERROR
+ if (!beenhere) {
+ OsVendorFatalError();
+ }
+#endif
+#ifdef ABORTONFATALERROR
+ abort();
+#endif
+ if (!beenhere) {
+ beenhere = TRUE;
+ AbortServer();
+ } else {
+ abort();
+ }
+ return;
+ }
+
FatalError("Caught signal %d. Server aborting\n", signo);
}

View File

@ -1,33 +0,0 @@
This patch adds autodetection support for the Poulsbo ("psb") driver
needed by moblin.org for the Intel mobile chipset. Rather than add an
else if, I restructured things with a case statement to make it conform
in style to the savage driver section.
Bryce Harrington 23-Aug-2007
Index: xorg-server/hw/xfree86/common/xf86AutoConfig.c
===================================================================
--- xorg-server.orig/hw/xfree86/common/xf86AutoConfig.c 2008-09-02 10:47:16.000000000 +0300
+++ xorg-server/hw/xfree86/common/xf86AutoConfig.c 2008-09-02 10:58:57.000000000 +0300
@@ -166,11 +166,16 @@
case 0x102c: driverList[0] = "chips"; break;
case 0x1013: driverList[0] = "cirrus"; break;
case 0x8086:
- if ((dev->device_id == 0x00d1) || (dev->device_id == 0x7800)) {
- driverList[0] = "i740";
- } else {
- driverList[0] = "intel";
- driverList[1] = "i810";
+ switch (dev->device_id)
+ {
+ case 0x00d1: case 0x7800:
+ driverList[0] = "i740"; break;
+ case 0x8108:
+ driverList[0] = "psb"; break;
+ default:
+ driverList[0] = "intel";
+ driverList[1] = "i810";
+ break;
}
break;
case 0x102b: driverList[0] = "mga"; break;

View File

@ -1 +1 @@
http://xorg.freedesktop.org/archive/individual/xserver/xorg-server-1.6.1.901.tar.bz2
http://sources.openelec.tv/svn/xorg-server-20090717.tar.bz2