1
0
OBS User unknown 2007-10-02 23:21:25 +00:00 committed by Git OBS Bridge
parent 40658738d6
commit 008c66fbe7
36 changed files with 329 additions and 1560 deletions

View File

@ -11,13 +11,3 @@
for (i = 0; i < size; i++)
ErrorF("%d: %s\n", i, strings[i]);
free(strings);
--- hw/xfree86/dri/drimodule.c.orig 2006-12-08 20:54:05.218730315 +0100
+++ hw/xfree86/dri/drimodule.c 2006-12-08 20:54:46.246132159 +0100
@@ -88,6 +88,6 @@
drmSetServerInfo(&DRIDRMServerInfo);
/* Need a non-NULL return value to indicate success */
- return 1;
+ return (pointer) 1;
}

View File

@ -1,6 +1,6 @@
--- os/WaitFor.c.orig 2007-01-26 15:53:27.000000000 +0100
+++ os/WaitFor.c 2007-01-29 11:24:14.000000000 +0100
@@ -144,6 +144,7 @@ static OsTimerPtr timers = NULL;
--- os/WaitFor.c.orig 2007-08-23 21:04:55.000000000 +0200
+++ os/WaitFor.c 2007-09-29 17:25:11.868664250 +0200
@@ -141,6 +141,7 @@ static OsTimerPtr timers = NULL;
* For more info on ClientsWithInput, see ReadRequestFromClient().
* pClientsReady is an array to store ready client->index values into.
*****************/
@ -8,7 +8,7 @@
int
WaitForSomething(int *pClientsReady)
@@ -298,10 +299,9 @@ WaitForSomething(int *pClientsReady)
@@ -295,10 +296,9 @@ WaitForSomething(int *pClientsReady)
if (expired)
return 0;
}
@ -21,19 +21,22 @@
if (*checkForInput[0] == *checkForInput[1]) {
if (timers)
@@ -338,7 +338,8 @@ WaitForSomething(int *pClientsReady)
@@ -335,6 +335,12 @@ WaitForSomething(int *pClientsReady)
QueueWorkProc(EstablishNewConnections, NULL,
(pointer)&LastSelectMask);
#ifdef DPMSExtension
- if (XFD_ANYSET (&devicesReadable) && (DPMSPowerLevel != DPMSModeOn))
+#ifdef DPMSExtension
+ XFD_ANDSET(&tmp_set, &devicesReadable, &EnabledDevices);
+ if (XFD_ANYSET (&tmp_set) && (DPMSPowerLevel != DPMSModeOn))
DPMSSet(DPMSModeOn);
#endif
+ DPMSSet(DPMSModeOn);
+#endif
+
if (XFD_ANYSET (&devicesReadable) || XFD_ANYSET (&clientsReadable))
--- hw/xfree86/common/xf86Events.c.orig_1 2007-02-01 10:18:02.000000000 +0100
+++ hw/xfree86/common/xf86Events.c 2007-02-01 10:43:54.000000000 +0100
@@ -164,6 +164,7 @@ typedef struct x_IHRec {
break;
#ifdef WIN32
--- hw/xfree86/common/xf86Events.c.orig 2007-09-05 23:59:13.000000000 +0200
+++ hw/xfree86/common/xf86Events.c 2007-09-29 17:29:22.620335250 +0200
@@ -143,6 +143,7 @@ typedef struct x_IHRec {
InputHandlerProc ihproc;
pointer data;
Bool enabled;
@ -41,7 +44,7 @@
struct x_IHRec * next;
} IHRec, *IHPtr;
@@ -1526,8 +1527,12 @@ xf86VTSwitch()
@@ -877,8 +878,12 @@ xf86VTSwitch()
for (i = 0; i < xf86NumScreens; i++)
xf86Screens[i]->LeaveVT(i, 0);
@ -56,38 +59,38 @@
xf86AccessLeave(); /* We need this here, otherwise */
xf86AccessLeaveState(); /* console won't be restored */
@@ -1563,9 +1568,12 @@ xf86VTSwitch()
pInfo = pInfo->next;
@@ -916,9 +921,12 @@ xf86VTSwitch()
}
#endif /* !__UNIXOS2__ */
/* XXX HACK */
xf86ReleaseKeys(inputInfo.keyboard);
- for (ih = InputHandlers; ih; ih = ih->next)
- xf86EnableInputHandler(ih);
-
+ for (ih = InputHandlers; ih; ih = ih->next) {
+ if (ih->is_input)
+ xf86EnableInputHandler(ih);
+ else
+ xf86EnableGeneralHandler(ih);
+ if (ih->is_input)
+ xf86EnableInputHandler(ih);
+ else
+ xf86EnableGeneralHandler(ih);
+ }
xf86UnblockSIGIO(prevSIGIO);
} else {
@@ -1626,8 +1634,12 @@ xf86VTSwitch()
}
#endif /* !__UNIXOS2__ */
@@ -981,8 +989,12 @@ xf86VTSwitch()
/* XXX HACK */
xf86ReleaseKeys(inputInfo.keyboard);
- for (ih = InputHandlers; ih; ih = ih->next)
- xf86EnableInputHandler(ih);
+ for (ih = InputHandlers; ih; ih = ih->next) {
+ if (ih->is_input)
+ xf86EnableInputHandler(ih);
+ else
+ xf86EnableGeneralHandler(ih);
+ }
+ if (ih->is_input)
+ xf86EnableInputHandler(ih);
+ else
+ xf86EnableGeneralHandler(ih);
+ }
xf86UnblockSIGIO(prevSIGIO);
}
@@ -1664,8 +1676,10 @@ xf86AddInputHandler(int fd, InputHandler
@@ -1019,8 +1031,10 @@ xf86AddInputHandler(int fd, InputHandler
{
IHPtr ih = addInputHandler(fd, proc, data);

View File

@ -1,81 +0,0 @@
# On branch refs/heads/server-1.3-branch
# Updated but not checked in:
# (will commit)
#
# modified: fb/fbtrap.c
# modified: render/renderedge.c
#
# Changed but not updated:
# (use git-update-index to mark for commit)
#
# modified: randr/randr.c
# modified: randr/randrstr.h
# modified: randr/rrxinerama.c
#
# Untracked files:
# (use "git add" to add to commit)
#
# GL/apple/Makefile.am
# GL/glx/glxbyteorder.h
# GL/mesa/vbo/
# MakeOut
# dix/patch
# hw/xfree86/xf1bpp/maskbits.c
# hw/xfree86/xf1bpp/mfbbitblt.c
# hw/xfree86/xf1bpp/mfbbres.c
# hw/xfree86/xf1bpp/mfbbresd.c
# hw/xfree86/xf1bpp/mfbbstore.c
# hw/xfree86/xf1bpp/mfbclip.c
# hw/xfree86/xf1bpp/mfbcmap.c
# hw/xfree86/xf1bpp/mfbfillarc.c
# hw/xfree86/xf1bpp/mfbfillrct.c
# hw/xfree86/xf1bpp/mfbfillsp.c
# hw/xfree86/xf1bpp/mfbfont.c
# hw/xfree86/xf1bpp/mfbgc.c
# hw/xfree86/xf1bpp/mfbgetsp.c
# hw/xfree86/xf1bpp/mfbhrzvert.c
# hw/xfree86/xf1bpp/mfbimage.c
# hw/xfree86/xf1bpp/mfbline.c
# hw/xfree86/xf1bpp/mfbmisc.c
# hw/xfree86/xf1bpp/mfbpixmap.c
# hw/xfree86/xf1bpp/mfbpntwin.c
# hw/xfree86/xf1bpp/mfbpolypnt.c
# hw/xfree86/xf1bpp/mfbpushpxl.c
# hw/xfree86/xf1bpp/mfbscrclse.c
# hw/xfree86/xf1bpp/mfbscrinit.c
# hw/xfree86/xf1bpp/mfbsetsp.c
# hw/xfree86/xf1bpp/mfbwindow.c
# hw/xfree86/xf1bpp/mfbzerarc.c
# hw/xfree86/xorg.conf.example
# hw/xfree86/xorg.conf.example.pre
# hw/xwin/winprefslex.c
# hw/xwin/winprefsyacc.c
# hw/xwin/winprefsyacc.h
# xorg-server-1.2.99.902.tar.bz2
# xorg-server-1.2.99.902.tar.gz
diff --git a/fb/fbtrap.c b/fb/fbtrap.c
index 8639695..52fcfed 100644
--- a/fb/fbtrap.c
+++ b/fb/fbtrap.c
@@ -115,6 +115,9 @@ fbRasterizeTrapezoid (PicturePtr pPicture,
RenderEdge l, r;
xFixed t, b;
+ if (!xTrapezoidValid (trap))
+ return;
+
fbGetDrawable (pPicture->pDrawable, buf, stride, bpp, pxoff, pyoff);
width = pPicture->pDrawable->width;
diff --git a/render/renderedge.c b/render/renderedge.c
index 199ec22..c2ffabe 100644
--- a/render/renderedge.c
+++ b/render/renderedge.c
@@ -143,6 +143,7 @@ RenderEdgeInit (RenderEdge *e,
dx = x_bot - x_top;
dy = y_bot - y_top;
e->dy = dy;
+ e->dx = 0;
if (dy)
{
if (dx >= 0)

View File

@ -1,19 +1,15 @@
diff --git a/hw/xfree86/ddc/ddcProperty.c b/hw/xfree86/ddc/ddcProperty.c
index a1650bc..9e36388 100644
--- a/hw/xfree86/ddc/ddcProperty.c
+++ b/hw/xfree86/ddc/ddcProperty.c
@@ -313,9 +313,11 @@ xf86DDCMonitorSet(int scrnIndex, MonPtr
--- hw/xfree86/modes/xf86EdidModes.c.orig 2007-09-29 17:01:58.097559000 +0200
+++ hw/xfree86/modes/xf86EdidModes.c 2007-09-29 17:03:07.269882000 +0200
@@ -401,8 +401,10 @@ xf86DDCMonitorSet(int scrnIndex, MonPtr
preferred = PREFERRED_TIMING_MODE(DDC->features.msc);
Monitor->DDC = DDC;
- Monitor->widthmm = 10 * DDC->features.hsize;
- Monitor->heightmm = 10 * DDC->features.vsize;
-
+ if (!Monitor->widthmm)
+ Monitor->widthmm = 10 * DDC->features.hsize;
+ if (!Monitor->heightmm)
+ Monitor->heightmm = 10 * DDC->features.vsize;
+
/* If this is a digital display, then we can use reduced blanking */
if (DDC->features.input_type)
Monitor->reducedblanking = TRUE;

View File

@ -1,11 +0,0 @@
--- cfb/cfbteblt8.c.orig 2006-10-17 12:06:18.000000000 +0200
+++ cfb/cfbteblt8.c 2006-10-17 12:08:18.000000000 +0200
@@ -301,7 +301,7 @@
#define StorePixels(o,p) dst[o] = p
#define Loop dst += widthDst;
#else
-#define StorePixels(o,p) *dst++ = (p)
+#define StorePixels(o,p) do { *dst = (p); dst++; } while (0)
#define Loop dst += widthLeft;
#endif

View File

@ -1,30 +0,0 @@
commit c09e68ce30dabd6b7068b163b9d2382d85d0d0bc
Author: Adam Jackson <ajax@benzedrine.nwnk.net>
Date: Wed Apr 25 16:46:26 2007 -0400
Paper over a crash at exit during GLX teardown.
diff --git a/GL/mesa/X/xf86glx.c b/GL/mesa/X/xf86glx.c
index ecfa4d7..b50740c 100644
--- a/GL/mesa/X/xf86glx.c
+++ b/GL/mesa/X/xf86glx.c
@@ -258,12 +258,14 @@ __glXMesaScreenDestroy(__GLXscreen *scre
__GLXMESAscreen *mesaScreen = (__GLXMESAscreen *) screen;
int i;
- for (i = 0; i < mesaScreen->num_vis; i++) {
- if (mesaScreen->xm_vis[i])
- XMesaDestroyVisual(mesaScreen->xm_vis[i]);
- }
+ if (mesaScreen->xm_vis) {
+ for (i = 0; i < mesaScreen->num_vis; i++) {
+ if (mesaScreen->xm_vis[i])
+ XMesaDestroyVisual(mesaScreen->xm_vis[i]);
+ }
- xfree(mesaScreen->xm_vis);
+ xfree(mesaScreen->xm_vis);
+ }
__glXScreenDestroy(screen);

View File

@ -81,14 +81,6 @@ diff -p -u -r ../xorg-server-1.1.99.3.orig/hw/xfree86/utils/xorgcfg/config.h ./h
"/etc/X11/%X-%M," "/etc/X11/%X," "/etc/%X," \
"%P/etc/X11/%X.%H," "%P/etc/X11/%X-%M," \
"%P/etc/X11/%X," \
@@ -126,7 +125,6 @@ extern int config_mode;
"/etc/X11/%R," "%P/etc/X11/%R," \
"%E," "%F," \
"/etc/X11/%F," "%P/etc/X11/%F," \
- "%D/%X," \
"/etc/X11/%X-%M," "/etc/X11/%X," "/etc/%X," \
"%P/etc/X11/%X.%H," "%P/etc/X11/%X-%M," \
"%P/etc/X11/%X," \
diff -p -u -r ../xorg-server-1.1.99.3.orig/hw/xwin/winconfig.c ./hw/xwin/winconfig.c
--- ../xorg-server-1.1.99.3.orig/hw/xwin/winconfig.c 2006-07-22 01:12:41.000000000 +0200
+++ ./hw/xwin/winconfig.c 2006-08-31 10:22:29.000000000 +0200

View File

@ -4,8 +4,8 @@
DRI.c \
Extensions.c
-AM_CFLAGS = $(XORG_CFLAGS)
+AM_CFLAGS = $(XORG_CFLAGS) -fPIC
-AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS)
+AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) -fPIC
EXTRA_DIST = \
Configint.h \

View File

@ -38,9 +38,9 @@ diff -aur a/GL/glx/Makefile.am b/GL/glx/Makefile.am
--- a/GL/glx/Makefile.am 2006-07-05 11:31:36.000000000 -0700
+++ b/GL/glx/Makefile.am 2006-09-21 21:37:03.000000000 -0700
@@ -17,7 +17,8 @@
@MODULE_DEFINES@ \
@LOADER_DEFINES@ \
-DNO_LIBCWRAPPER \
-I@MESA_SOURCE@/src/mesa/glapi \
-I@MESA_SOURCE@/src/mesa/main \
-DXFree86Server \
- @GLX_DEFINES@
+ @GLX_DEFINES@ \
+ @GLX_ARCH_DEFINES@

View File

@ -1,50 +0,0 @@
diff --git a/GL/mesa/X/xf86glx.c b/GL/mesa/X/xf86glx.c
index df9be07..679d55c 100644
--- a/GL/mesa/X/xf86glx.c
+++ b/GL/mesa/X/xf86glx.c
@@ -296,7 +296,7 @@ static void init_screen_visuals(__GLXMESAscreen *screen)
__GLcontextModes *modes;
XMesaVisual *pXMesaVisual;
int *used;
- int i, j, size;
+ int num_vis, j, size;
/* Alloc space for the list of XMesa visuals */
size = screen->base.numVisuals * sizeof(XMesaVisual);
@@ -312,7 +312,7 @@ static void init_screen_visuals(__GLXMESAscreen *screen)
used = (int *) xalloc(pScreen->numVisuals * sizeof(int));
memset(used, 0, pScreen->numVisuals * sizeof(int));
- i = 0;
+ num_vis = 0;
for ( modes = screen->base.modes; modes != NULL; modes = modes->next ) {
const int vis_class = _gl_convert_to_x_visual_type( modes->visualType );
const int nplanes = (modes->rgbBits - modes->alphaBits);
@@ -327,7 +327,8 @@ static void init_screen_visuals(__GLXMESAscreen *screen)
!used[j]) {
/* Create the XMesa visual */
- pXMesaVisual[i] =
+ assert(num_vis < screen->base.numVisuals);
+ pXMesaVisual[num_vis] =
XMesaCreateVisual(pScreen,
&pVis[j],
modes->rgbMode,
@@ -364,13 +365,15 @@ static void init_screen_visuals(__GLXMESAscreen *screen)
FatalError( "Matching visual found, but visualID still -1!\n" );
}
- i++;
+ num_vis++;
}
xfree(used);
- screen->num_vis = pScreen->numVisuals;
+ screen->num_vis = num_vis;
screen->xm_vis = pXMesaVisual;
+
+ assert(screen->num_vis <= screen->base.numVisuals);
}
static __GLXscreen *

View File

@ -1,14 +1,6 @@
--- hw/xfree86/common/xf86Helper.c.orig 2006-12-13 16:21:35.000000000 +0100
+++ hw/xfree86/common/xf86Helper.c 2006-12-13 18:23:53.000000000 +0100
@@ -2386,22 +2386,29 @@
_X_EXPORT pointer
xf86LoadSubModule(ScrnInfoPtr pScrn, const char *name)
{
pointer ret;
int errmaj = 0, errmin = 0;
ret = LoadSubModule(pScrn->module, name, NULL, NULL, NULL, NULL,
@@ -2394,6 +2394,13 @@
&errmaj, &errmin);
if (!ret)
LoaderErrorMsg(pScrn->name, name, errmaj, errmin);
@ -22,11 +14,3 @@
return ret;
}
/*
* xf86LoadOneModule loads a single module.
*/
_X_EXPORT pointer
xf86LoadOneModule(char *name, pointer opt)
{
int errmaj, errmin;
char *Name;

View File

@ -1,48 +0,0 @@
Index: programs/Xserver/fb/fbcompose.c
===================================================================
RCS file: /work/cvsdir/cvs/xc/programs/Xserver/fb/fbcompose.c,v
retrieving revision 1.1.1.16
diff -u -r1.1.1.16 programs/Xserver/fb/fbcompose.c
--- programs/Xserver/fb/fbcompose.c 23 Jan 2006 11:13:59 -0000 1.1.1.16
+++ programs/Xserver/fb/fbcompose.c 20 Mar 2006 16:56:50 -0000
@@ -2610,6 +2610,7 @@
fetchPixelProc fetch = fetchPixelProcForPicture(pict);
miIndexedPtr indexed = (miIndexedPtr) pict->pFormat->index.devPrivate;
+ if (!fetch) return;
fbGetDrawable (pict->pDrawable, bits, stride, bpp, xoff, yoff);
bits += yoff*stride + (xoff*bpp >> FB_SHIFT);
@@ -2627,6 +2628,8 @@
int bpp;
int xoff, yoff;
fetchProc fetch = fetchProcForPicture(pict);
+ if (!fetch)
+ return;
miIndexedPtr indexed = (miIndexedPtr) pict->pFormat->index.devPrivate;
fbGetDrawable (pict->pDrawable, bits, stride, bpp, xoff, yoff);
@@ -2871,6 +2874,7 @@
fetch = fetchPixelProcForPicture(pict);
+ if (!fetch) return;
fbGetDrawable(pict->pDrawable, bits, stride, bpp, xoff, yoff);
x += xoff;
y += yoff;
@@ -3340,6 +3344,7 @@
int bpp;
int xoff, yoff;
storeProc store = storeProcForPicture(pict);
+ if (!store) return;
miIndexedPtr indexed = (miIndexedPtr) pict->pFormat->index.devPrivate;
fbGetDrawable (pict->pDrawable, bits, stride, bpp, xoff, yoff);
@@ -3369,6 +3374,7 @@
store = storeProcForPicture(pict);
astore = storeProcForPicture(pict->alphaMap);
+ if (!store || !astore) return;
aindexed = (miIndexedPtr) pict->alphaMap->pFormat->index.devPrivate;
ax = x;

View File

@ -1,26 +1,10 @@
Index: xf86Configure.c
===================================================================
RCS file: /home/eich/cvs/xc/programs/Xserver/hw/xfree86/common/xf86Configure.c,v
retrieving revision 1.1.1.43.10.1
diff -u -r1.1.1.43.10.1 xf86Configure.c
--- programs/Xserver/hw/xfree86/common/xf86Configure.c 28 Jan 2005 16:21:08 -0000 1.1.1.43.10.1
+++ programs/Xserver/hw/xfree86/common/xf86Configure.c 3 Aug 2005 14:54:46 -0000
@@ -267,34 +267,36 @@
--- hw/xfree86/common/xf86Configure.c.orig 2007-09-29 15:44:40.095702000 +0200
+++ hw/xfree86/common/xf86Configure.c 2007-09-29 15:50:35.625921250 +0200
@@ -267,23 +267,36 @@
/* Crude mechanism to auto-detect mouse (os dependent) */
{
- int fd;
-#if 0 && defined linux
- /* Our autodetection code can do a better job */
- int len;
- char path[32];
-
- if ((len = readlink(DFLT_MOUSE_DEV, path, sizeof(path) - 1)) > 0) {
- path[len] = '\0';
- if (strstr(path, "psaux") != NULL)
- DFLT_MOUSE_PROTO = "PS/2";
- }
-#endif
+ int fd = -1;
+
#ifdef WSCONS_SUPPORT
@ -31,15 +15,15 @@ diff -u -r1.1.1.43.10.1 xf86Configure.c
- close(fd);
- } else {
- ErrorF("cannot open /dev/wsmouse\n");
+ if (fd == -1) {
+ fd = open("/dev/wsmouse", 0);
+ if (fd != -1) {
+ DFLT_MOUSE_DEV = "/dev/wsmouse";
+ DFLT_MOUSE_PROTO = "wsmouse";
+ close(fd);
+ } else {
+ ErrorF("cannot open /dev/wsmouse\n");
+ }
+ if (fd == -1) {
+ fd = open("/dev/wsmouse", 0);
+ if (fd != -1) {
+ DFLT_MOUSE_DEV = "/dev/wsmouse";
+ DFLT_MOUSE_PROTO = "wsmouse";
+ close(fd);
+ } else {
+ ErrorF("cannot open /dev/wsmouse\n");
+ }
}
#endif
@ -48,20 +32,20 @@ diff -u -r1.1.1.43.10.1 xf86Configure.c
- if (fd != -1) {
- foundMouse = TRUE;
- close(fd);
+ if (fd == -1) {
+ fd = open(DFLT_MOUSE_DEV, 0);
+ if (fd == -1) {
+ fd = open(DFLT_MOUSE_DEV, 0);
+# ifdef linux
+ if (fd == -1) {
+ char *name = "/dev/input/mice";
+ fd = open(name, 0);
+ if (fd != -1)
+ DFLT_MOUSE_DEV = name;
+ }
+ if (fd == -1) {
+ char *name = "/dev/input/mice";
+ fd = open(name, 0);
+ if (fd != -1)
+ DFLT_MOUSE_DEV = name;
+ }
+# endif
+ if (fd != -1) {
+ foundMouse = TRUE;
+ close(fd);
+ }
+ if (fd != -1) {
+ foundMouse = TRUE;
+ close(fd);
+ }
}
#else
foundMouse = TRUE;

View File

@ -1,23 +0,0 @@
diff -urp ../xorg-server-1.1.99.3.pre-enable-altrix/hw/xfree86/os-support/linux/lnx_ia64.c ./hw/xfree86/os-support/linux/lnx_ia64.c
--- ../xorg-server-1.1.99.3.pre-enable-altrix/hw/xfree86/os-support/linux/lnx_ia64.c 2006-07-20 22:27:48.000000000 +0200
+++ ./hw/xfree86/os-support/linux/lnx_ia64.c 2006-10-09 15:53:48.000000000 +0200
@@ -34,7 +34,7 @@
#include <unistd.h>
#include <stdlib.h>
-#include "ia64Pci.h"
+#include "shared/ia64Pci.h"
#include "Pci.h"
#if defined OS_PROBE_PCI_CHIPSET
diff -urp ../xorg-server-1.1.99.3.pre-enable-altrix/hw/xfree86/os-support/shared/ia64Pci.h ./hw/xfree86/os-support/shared/ia64Pci.h
--- ../xorg-server-1.1.99.3.pre-enable-altrix/hw/xfree86/os-support/shared/ia64Pci.h 2006-07-20 22:27:48.000000000 +0200
+++ ./hw/xfree86/os-support/shared/ia64Pci.h 2006-10-09 15:53:25.000000000 +0200
@@ -40,6 +40,7 @@ typedef enum {
ALTIX_CHIPSET
} IA64Chipset;
+#define OS_PROBE_PCI_CHIPSET OS_PROBE_PCI_CHIPSET_do
# ifdef OS_PROBE_PCI_CHIPSET
extern IA64Chipset OS_PROBE_PCI_CHIPSET(scanpciWrapperOpt flags);
# endif

View File

@ -1,55 +1,3 @@
Index: linux/lnx_init.c
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_init.c,v
retrieving revision 1.9
diff -u -r1.9 lnx_init.c
--- linux/lnx_init.c 26 Aug 2005 07:35:55 -0000 1.9
+++ linux/lnx_init.c 29 Jun 2006 09:33:05 -0000
@@ -243,9 +243,6 @@
if (!ShareVTs)
{
-#if defined(DO_OS_FONTRESTORE)
- lnx_savefont();
-#endif
/*
* now get the VT
*/
@@ -256,7 +253,9 @@
if (ioctl(xf86Info.consoleFd, VT_WAITACTIVE, xf86Info.vtno) < 0)
xf86Msg(X_WARNING, "xf86OpenConsole: VT_WAITACTIVE failed: %s\n",
strerror(errno));
-
+#if defined(DO_OS_FONTRESTORE)
+ lnx_savefont();
+#endif
if (ioctl(xf86Info.consoleFd, VT_GETMODE, &VT) < 0)
FatalError("xf86OpenConsole: VT_GETMODE failed %s\n",
strerror(errno));
@@ -345,6 +344,11 @@
if (VTSwitch)
{
+#if defined(DO_OS_FONTRESTORE)
+ if (xf86Info.vtno == vtno) /* check if we are active */
+ lnx_restorefont();
+ lnx_freefontdata();
+#endif
/*
* Perform a switch back to the active VT when we were started
*/
@@ -355,11 +359,6 @@
activeVT = -1;
}
-#if defined(DO_OS_FONTRESTORE)
- if (xf86Info.vtno == vtno) /* check if we are active */
- lnx_restorefont();
- lnx_freefontdata();
-#endif
}
close(xf86Info.consoleFd); /* make the vt-manager happy */
Index: shared/VTsw_usl.c
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/os-support/shared/VTsw_usl.c,v
@ -76,3 +24,50 @@ diff -u -r1.5 VTsw_usl.c
return(TRUE);
}
}
--- linux/lnx_init.c.orig 2007-08-23 21:04:53.000000000 +0200
+++ linux/lnx_init.c 2007-09-29 16:19:53.771798500 +0200
@@ -240,9 +240,6 @@
if (!ShareVTs)
{
-#if defined(DO_OS_FONTRESTORE)
- lnx_savefont();
-#endif
/*
* now get the VT. This _must_ succeed, or else fail completely.
*/
@@ -254,6 +251,10 @@
FatalError("xf86OpenConsole: VT_WAITACTIVE failed: %s\n",
strerror(errno));
+#if defined(DO_OS_FONTRESTORE)
+ lnx_savefont();
+#endif
+
if (ioctl(xf86Info.consoleFd, VT_GETMODE, &VT) < 0)
FatalError("xf86OpenConsole: VT_GETMODE failed %s\n",
strerror(errno));
@@ -342,6 +343,11 @@
if (VTSwitch)
{
+#if defined(DO_OS_FONTRESTORE)
+ if (xf86Info.vtno == vtno) /* check if we are active */
+ lnx_restorefont();
+ lnx_freefontdata();
+#endif
/*
* Perform a switch back to the active VT when we were started
*/
@@ -356,11 +362,6 @@
activeVT = -1;
}
-#if defined(DO_OS_FONTRESTORE)
- if (xf86Info.vtno == vtno) /* check if we are active */
- lnx_restorefont();
- lnx_freefontdata();
-#endif
}
close(xf86Info.consoleFd); /* make the vt-manager happy */

View File

@ -1,238 +0,0 @@
diff -urp ../xorg-server-1.1.99.3.old/hw/xfree86/os-support/bus/altixPCI.c ./hw/xfree86/os-support/bus/altixPCI.c
--- ../xorg-server-1.1.99.3.old/hw/xfree86/os-support/bus/altixPCI.c 2006-08-22 15:35:31.000000000 +0200
+++ ./hw/xfree86/os-support/bus/altixPCI.c 2006-08-24 16:16:52.000000000 +0200
@@ -11,75 +11,6 @@
#include "xf86.h"
#include "Pci.h"
-/*
- * get_dev_on_bus - Return the first device we find on segnum, busnum
- *
- * Walk all the PCI devices and return the first one found on segnum, busnum.
- * There may be a better way to do this in some xf86* function I don't know
- * about.
- */
-static pciDevice *get_dev_on_bus(unsigned int segnum, unsigned int busnum)
-{
- pciDevice **pdev = xf86scanpci(0);
- int i;
-
- for (i = 0; pdev[i] != NULL; i++)
- if (PCI_DOM_FROM_TAG(pdev[i]->tag) == segnum &&
- pdev[i]->busnum == busnum)
- return pdev[i];
- /* Should never get here... */
- ErrorF("No PCI device found on %04x:%02x??", segnum, busnum);
- return NULL;
-}
-
-/*
- * get_bridge_info - fill in the bridge info for bus_info based on pdev
- *
- * Find the parent bus for pdev if it exists, otherwise assume pdev *is*
- * the parent bus. We need this on Altix because our bridges are transparent.
- */
-static void get_bridge_info(pciBusInfo_t *bus_info, pciDevice *pdev)
-{
- unsigned int parent_segnum, segnum = PCI_DOM_FROM_TAG(pdev->tag);
- unsigned int parent_busnum, parent_nodombus, busnum = pdev->busnum;
- unsigned int nodombus = PCI_BUS_NO_DOMAIN(PCI_BUS_FROM_TAG(pdev->tag));
- char bridge_path[] = "/sys/class/pci_bus/0000:00/bridge";
- char bridge_target[] = "../../../devices/pci0000:00";
-
- /* Path to this device's bridge */
- sprintf(bridge_path, "/sys/class/pci_bus/%04x:%02x/bridge", segnum,
- nodombus);
-
- if (readlink(bridge_path, bridge_target, strlen(bridge_target)) < 0) {
- perror("failed to dereference bridge link");
- ErrorF("failed to dereference bridge link, aborting\n");
- exit(-1);
- }
-
- sscanf(bridge_target, "../../../devices/pci%04x:%02x", &parent_segnum,
- &parent_nodombus);
-
- parent_busnum = PCI_MAKE_BUS(parent_segnum, parent_nodombus);
-
- /*
- * If there's no bridge or the bridge points to the device, use
- * pdev as the bridge
- */
- if (segnum == parent_segnum && busnum == parent_busnum) {
- bus_info->bridge = pdev;
- bus_info->secondary = FALSE;
- bus_info->primary_bus = busnum;
- } else {
- bus_info->bridge = get_dev_on_bus(parent_segnum,
- parent_busnum);
- bus_info->secondary = TRUE;
- bus_info->primary_bus = parent_busnum;
- }
- pdev->businfo = bus_info;
- pdev->pci_base_class = PCI_CLASS_DISPLAY;
- pdev->pci_sub_class = PCI_SUBCLASS_PREHISTORIC_VGA;
-}
-
void xf86PreScanAltix(void)
{
/* Nothing to see here... */
@@ -88,36 +19,65 @@ void xf86PreScanAltix(void)
void xf86PostScanAltix(void)
{
pciConfigPtr *pdev;
- pciBusInfo_t *bus_info;
- int prevBusNum, curBusNum, idx;
+ int idx, free_idx;
/*
- * Altix PCI bridges are invisible to userspace, so we make each device
- * look like it's its own bridge unless it actually has a parent (as in
- * the case of PCI to PCI bridges).
+ * Some altix pci chipsets do not expose themselves as host
+ * bridges.
+ *
+ * Walk the devices looking for buses for which there is not a
+ * corresponding pciDevice entry (ie. pciBusInfo[]->bridge is NULL).
+ *
+ * It is assumed that this indicates a root bridge for which we will
+ * construct a fake pci host bridge device.
*/
- bus_info = pciBusInfo[0];
+
pdev = xf86scanpci(0);
- prevBusNum = curBusNum = pdev[0]->busnum;
- bus_info = pciBusInfo[curBusNum];
- bus_info->bridge = pdev[0];
- bus_info->secondary = FALSE;
- bus_info->primary_bus = curBusNum;
-
- /* Walk all the PCI devices, assigning their bridge info */
- for (idx = 0; pdev[idx] != NULL; idx++) {
- if (pdev[idx]->busnum == prevBusNum)
- continue; /* Already fixed up this bus */
+ for (idx = 0; pdev[idx] != NULL; idx++)
+ ;
- curBusNum = pdev[idx]->busnum;
- bus_info = pciBusInfo[curBusNum];
+ free_idx = idx;
+
+ for (idx = 0; idx < free_idx; idx++) {
+ pciConfigPtr dev, fakedev;
+ pciBusInfo_t *businfo;
+
+ dev = pdev[idx];
+ businfo = pciBusInfo[dev->busnum];
+
+ if (! businfo) {
+ /* device has no bus ... should this be an error? */
+ continue;
+ }
+
+ if (businfo->bridge) {
+ /* bus has a device ... no need for fixup */
+ continue;
+ }
+
+ if (free_idx >= MAX_PCI_DEVICES)
+ FatalError("SN: No room for fake root bridge device\n");
/*
- * Fill in bus_info for pdev. The bridge field will either
- * be pdev[idx] or a device on the parent bus.
+ * Construct a fake device and stick it at the end of the
+ * pdev array. Make it look like a host bridge.
*/
- get_bridge_info(bus_info, pdev[idx]);
- prevBusNum = curBusNum;
+ fakedev = xnfcalloc(1, sizeof(pciDevice));
+ fakedev->tag = PCI_MAKE_TAG(dev->busnum, 0, 0);;
+ fakedev->busnum = dev->busnum;
+ fakedev->devnum = 0;
+ fakedev->funcnum = 0;
+ fakedev->fakeDevice = 1;
+ /* should figure out a better DEVID */
+ fakedev->pci_device_vendor = DEVID(VENDOR_GENERIC, CHIP_VGA);
+ fakedev->pci_base_class = PCI_CLASS_BRIDGE;
+
+ businfo->secondary = 0;
+ businfo->primary_bus = dev->busnum;
+ businfo->bridge = fakedev;
+
+ fakedev->businfo = businfo;
+
+ pdev[free_idx++] = fakedev;
}
- return;
}
diff -urp ../xorg-server-1.1.99.3.old/hw/xfree86/os-support/bus/linuxPci.c ./hw/xfree86/os-support/bus/linuxPci.c
--- ../xorg-server-1.1.99.3.old/hw/xfree86/os-support/bus/linuxPci.c 2006-08-22 17:47:35.000000000 +0200
+++ ./hw/xfree86/os-support/bus/linuxPci.c 2006-08-24 16:16:52.000000000 +0200
@@ -653,7 +653,7 @@ linuxOpenLegacy(PCITAG Tag, char *name)
return fd;
}
- pBusInfo = pciBusInfo[bus];
+ pBusInfo = pciBusInfo[PCI_BUS_FROM_TAG(Tag)];
if (!pBusInfo || (bridge == pBusInfo->bridge) ||
!(bridge = pBusInfo->bridge)) {
xfree(path);
@@ -685,7 +685,7 @@ xf86MapDomainMemory(int ScreenNum, int F
* We use /proc/bus/pci on non-legacy addresses or if the Linux sysfs
* legacy_mem interface is unavailable.
*/
- if (Base > 1024*1024)
+ if (Base >= 1024*1024)
return linuxMapPci(ScreenNum, Flags, Tag, Base, Size,
PCIIOC_MMAP_IS_MEM);
@@ -773,8 +773,8 @@ xf86ReadDomainMemory(PCITAG Tag, ADDRESS
bus = PCI_BUS_NO_DOMAIN(PCI_BUS_FROM_TAG(Tag));
dev = PCI_DEV_FROM_TAG(Tag);
func = PCI_FUNC_FROM_TAG(Tag);
- sprintf(file, "/sys/devices/pci%04x:%02x/%04x:%02x:%02x.%1x/rom",
- dom, bus, dom, bus, dev, func);
+ sprintf(file, "/sys/bus/pci/devices/%04x:%02x:%02x.%1x/rom",
+ dom, bus, dev, func);
/*
* If the caller wants the ROM and the sysfs rom interface exists,
@@ -1072,7 +1072,37 @@ ia64linuxPciFindNext(void)
}
if (sscanf(entry->d_name, "%02x . %01x", &dev, &func) == 2) {
+ CARD32 tmp;
+
pciDeviceTag = PCI_MAKE_TAG(PCI_MAKE_BUS(domain, bus), dev, func);
+
+ /*
+ * Check if the device is a pci-pci bridge. If so, make sure the
+ * primary_bus and secondary fields are set correctly.
+ */
+ tmp = pciReadLong(pciDeviceTag, PCI_CLASS_REG);
+ if ((PCI_CLASS_EXTRACT(tmp) == PCI_CLASS_BRIDGE) &&
+ (PCI_SUBCLASS_EXTRACT(tmp) == PCI_SUBCLASS_BRIDGE_PCI)) {
+
+ int sec_bus;
+ CARD32 bridge_reg;
+
+ bridge_reg = pciReadLong(pciDeviceTag, PCI_PCI_BRIDGE_BUS_REG);
+ sec_bus = PCI_SECONDARY_BUS_EXTRACT(bridge_reg, pciDeviceTag);
+
+ if (sec_bus < pciMaxBusNum) {
+ if (!pciBusInfo[sec_bus]) {
+ pciBusInfo[sec_bus] = xnfalloc(sizeof(pciBusInfo_t));
+ *pciBusInfo[sec_bus] = *pciBusInfo[0];
+ }
+
+ pciBusInfo[sec_bus]->primary_bus = PCI_MAKE_BUS(domain, bus);
+ pciBusInfo[sec_bus]->secondary = TRUE;
+ if (pciNumBuses <= sec_bus)
+ pciNumBuses = sec_bus + 1;
+ }
+ }
+
devid = pciReadLong(pciDeviceTag, PCI_ID_REG);
if ((devid & pciDevidMask) == pciDevid)
/* Yes - Return it. Otherwise, next device */

View File

@ -1,11 +0,0 @@
--- hw/xfree86/os-support/bus/linuxPci.c.orig 2006-11-20 22:04:35.000000000 +0100
+++ hw/xfree86/os-support/bus/linuxPci.c 2006-11-20 22:06:08.000000000 +0100
@@ -547,7 +547,7 @@
pPCI = xf86GetPciHostConfigFromTag(Tag);
if (pPCI && (result = PCI_DOM_FROM_BUS(pPCI->busnum)))
- return result;
+ return result + 1;
if (!pPCI || pPCI->fakeDevice)
return 1; /* Domain 0 is reserved */

View File

@ -0,0 +1,60 @@
--- hw/xfree86/os-support/bus/linuxPci.c
+++ hw/xfree86/os-support/bus/linuxPci.c
@@ -550,7 +550,7 @@ xf86GetPciDomain(PCITAG Tag)
return result;
if (!pPCI || pPCI->fakeDevice)
- return 1; /* Domain 0 is reserved */
+ return 0;
if ((fd = linuxPciOpenFile(pPCI ? pPCI->tag : 0,FALSE)) < 0)
return 0;
@@ -558,7 +558,7 @@ xf86GetPciDomain(PCITAG Tag)
if ((result = ioctl(fd, PCIIOC_CONTROLLER, 0)) < 0)
return 0;
- return result + 1; /* Domain 0 is reserved */
+ return result;
}
static pointer
@@ -628,7 +628,7 @@ linuxMapPci(int ScreenNum, int Flags, PC
return NULL;
}
-#define MAX_DOMAINS 257
+#define MAX_DOMAINS 256
static pointer DomainMmappedIO[MAX_DOMAINS];
static int
@@ -649,11 +649,10 @@ linuxOpenLegacy(PCITAG Tag, char *name)
domain = xf86GetPciDomain(Tag);
bus = PCI_BUS_NO_DOMAIN(PCI_BUS_FROM_TAG(Tag));
- /* Domain 0 is reserved -- see xf86GetPciDomain() */
- if ((domain <= 0) || (domain >= MAX_DOMAINS))
+ if ((domain < 0) || (domain >= MAX_DOMAINS))
FatalError("linuxOpenLegacy(): domain out of range\n");
- sprintf(path, PREFIX, domain - 1, bus, name);
+ sprintf(path, PREFIX, domain, bus, name);
fd = open(path, O_RDWR);
if (fd >= 0) {
xfree(path);
@@ -685,7 +684,6 @@ _X_EXPORT pointer
xf86MapDomainMemory(int ScreenNum, int Flags, PCITAG Tag,
ADDRESS Base, unsigned long Size)
{
- int domain = xf86GetPciDomain(Tag);
int fd;
pointer addr;
@@ -733,7 +731,7 @@ xf86MapDomainIO(int ScreenNum, int Flags
int domain = xf86GetPciDomain(Tag);
int fd;
- if ((domain <= 0) || (domain >= MAX_DOMAINS))
+ if ((domain < 0) || (domain >= MAX_DOMAINS))
FatalError("xf86MapDomainIO(): domain out of range\n");
if (DomainMmappedIO[domain])

View File

@ -1,19 +1,3 @@
Index: programs/Xserver/miext/cw/cw.c
===================================================================
RCS file: /home/eich/cvs/xc/programs/Xserver/miext/cw/cw.c,v
retrieving revision 1.1.1.5
diff -u -r1.1.1.5 cw.c
--- programs/Xserver/miext/cw/cw.c 25 Nov 2005 10:05:47 -0000 1.1.1.5
+++ programs/Xserver/miext/cw/cw.c 28 Nov 2005 18:24:10 -0000
@@ -659,7 +659,7 @@
SCREEN_EPILOGUE(pScreen, GetWindowPixmap, cwGetWindowPixmap);
#ifdef RENDER
- if (GetPictureScreen (pScreen))
+ if (GetPictureScreenIfSet (pScreen))
cwInitializeRender(pScreen);
#endif
}
Index: programs/Xserver/render/picture.c
===================================================================
RCS file: /home/eich/cvs/xc/programs/Xserver/render/picture.c,v

View File

@ -1,14 +0,0 @@
--- xc/programs/Xserver/hw/xfree86/os-support/bus/linuxPci.c.orig 2005-12-21 18:53:54.000000000 -0700
+++ xc/programs/Xserver/hw/xfree86/os-support/bus/linuxPci.c 2005-12-21 19:01:28.000000000 -0700
@@ -791,8 +791,10 @@
write(fd, "1", 2);
lseek(fd, 0, SEEK_SET);
+ len = min(Len, st.st_size);
+
/* copy the ROM until we hit Len, EOF or read error */
- for (i = 0; i < Len && read(fd, Buf, 1) > 0; Buf++, i++)
+ for (; len && (size = read(fd, Buf, len)) > 0 ; Buf+=size, len-=size)
;
write(fd, "0", 2);

11
pixman.diff Normal file
View File

@ -0,0 +1,11 @@
--- configure.ac.orig 2007-09-29 18:10:34.558821750 +0200
+++ configure.ac 2007-09-29 18:10:44.487442250 +0200
@@ -606,7 +606,7 @@
XEXT_LIB='$(top_builddir)/Xext/libXext.la'
XEXTXORG_LIB='$(top_builddir)/Xext/libXextbuiltin.la'
-PIXMAN="[pixman-1 >= 0.9.5]"
+PIXMAN="[pixman >= 0.9.5]"
PKG_CHECK_MODULES(PIXMAN, $PIXMAN)
AC_SUBST(PIXMAN_CFLAGS)

View File

@ -1,13 +0,0 @@
diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c
index 889be6f..9d74e53 100644
--- a/hw/xfree86/modes/xf86RandR12.c
+++ b/hw/xfree86/modes/xf86RandR12.c
@@ -716,7 +716,7 @@ xf86RandR12CrtcSet (ScreenPtr pScreen,
xf86CrtcPtr *save_crtcs;
Bool save_enabled = crtc->enabled;
- save_crtcs = ALLOCATE_LOCAL(config->num_crtc * sizeof (xf86CrtcPtr));
+ save_crtcs = ALLOCATE_LOCAL(config->num_output * sizeof (xf86CrtcPtr));
if ((randr_mode != NULL) != crtc->enabled)
changed = TRUE;
else if (randr_mode && !xf86RandRModeMatches (randr_mode, &crtc->mode))

View File

@ -1,94 +0,0 @@
diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c
index 6c3bf8d..889be6f 100644
--- a/hw/xfree86/modes/xf86RandR12.c
+++ b/hw/xfree86/modes/xf86RandR12.c
@@ -951,7 +951,6 @@ xf86RandR12SetInfo12 (ScreenPtr pScreen)
return FALSE;
}
- RROutputSetCrtc (output->randr_output, randr_crtc);
RROutputSetPhysicalSize(output->randr_output,
output->mm_width,
output->mm_height);
diff --git a/randr/randrstr.h b/randr/randrstr.h
index 4cc3a46..bd19fe9 100644
--- a/randr/randrstr.h
+++ b/randr/randrstr.h
@@ -694,9 +694,6 @@ RROutputSetCrtcs (RROutputPtr output,
RRCrtcPtr *crtcs,
int numCrtcs);
-void
-RROutputSetCrtc (RROutputPtr output, RRCrtcPtr crtc);
-
Bool
RROutputSetConnection (RROutputPtr output,
CARD8 connection);
@@ -802,7 +799,6 @@ Query state:
1.2:
RRScreenSetSizeRange
RROutputSetCrtcs
- RROutputSetCrtc
RRModeGet
RROutputSetModes
RROutputSetConnection
@@ -822,7 +818,6 @@ Query state:
RRCrtcCreate
RROutputCreate
RROutputSetCrtcs
- RROutputSetCrtc
RROutputSetConnection
RROutputSetSubpixelOrder
RROldModeAdd • This adds modes one-at-a-time
diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c
index 3ce9e21..db5007e 100644
--- a/randr/rrcrtc.c
+++ b/randr/rrcrtc.c
@@ -134,6 +134,7 @@ RRCrtcNotify (RRCrtcPtr crtc,
break;
if (j == crtc->numOutputs)
{
+ outputs[i]->crtc = crtc;
RROutputChanged (outputs[i], FALSE);
RRCrtcChanged (crtc, FALSE);
}
@@ -149,6 +150,7 @@ RRCrtcNotify (RRCrtcPtr crtc,
break;
if (i == numOutputs)
{
+ crtc->outputs[j]->crtc = NULL;
RROutputChanged (crtc->outputs[j], FALSE);
RRCrtcChanged (crtc, FALSE);
}
diff --git a/randr/rrinfo.c b/randr/rrinfo.c
index 5ef1a6b..858b1ed 100644
--- a/randr/rrinfo.c
+++ b/randr/rrinfo.c
@@ -98,7 +98,6 @@ RRScanOldConfig (ScreenPtr pScreen, Rotation rotations)
if (!output)
return;
RROutputSetCrtcs (output, &crtc, 1);
- RROutputSetCrtc (output, crtc);
RROutputSetConnection (output, RR_Connected);
#ifdef RENDER
RROutputSetSubpixelOrder (output, PictureGetSubpixelOrder (pScreen));
diff --git a/randr/rroutput.c b/randr/rroutput.c
index e001162..1e1cfa5 100644
--- a/randr/rroutput.c
+++ b/randr/rroutput.c
@@ -286,15 +286,6 @@ RROutputSetCrtcs (RROutputPtr output,
return TRUE;
}
-void
-RROutputSetCrtc (RROutputPtr output, RRCrtcPtr crtc)
-{
- if (output->crtc == crtc)
- return;
- output->crtc = crtc;
- RROutputChanged (output, FALSE);
-}
-
Bool
RROutputSetConnection (RROutputPtr output,
CARD8 connection)

View File

@ -1,41 +0,0 @@
diff --git a/randr/rrscreen.c b/randr/rrscreen.c
index d92a0ff..8798b42 100644
--- a/randr/rrscreen.c
+++ b/randr/rrscreen.c
@@ -738,6 +738,7 @@ ProcRRSetScreenConfig (ClientPtr client)
int rate;
Bool has_rate;
RROutputPtr output;
+ RRCrtcPtr crtc;
RRModePtr mode;
RR10DataPtr pData = NULL;
RRScreenSizePtr pSize;
@@ -783,7 +784,9 @@ ProcRRSetScreenConfig (ClientPtr client)
rep.status = RRSetConfigFailed;
goto sendReply;
}
-
+
+ crtc = output->crtc;
+
/*
* if the client's config timestamp is not the same as the last config
* timestamp, then the config information isn't up-to-date and
@@ -831,7 +834,7 @@ ProcRRSetScreenConfig (ClientPtr client)
return BadValue;
}
- if ((~output->crtc->rotations) & rotation)
+ if ((~crtc->rotations) & rotation)
{
/*
* requested rotation or reflection not supported by screen
@@ -914,7 +917,7 @@ ProcRRSetScreenConfig (ClientPtr client)
}
}
- if (!RRCrtcSet (output->crtc, mode, 0, 0, stuff->rotation, 1, &output))
+ if (!RRCrtcSet (crtc, mode, 0, 0, stuff->rotation, 1, &output))
rep.status = RRSetConfigFailed;
else
rep.status = RRSetConfigSuccess;

View File

@ -1,13 +0,0 @@
diff --git a/randr/rrinfo.c b/randr/rrinfo.c
index 8b0c93d..7e77d39 100644
--- a/randr/rrinfo.c
+++ b/randr/rrinfo.c
@@ -104,7 +104,7 @@ RRScanOldConfig (ScreenPtr pScreen, Rotation rotations)
#endif
}
- output = RRFirstOutput (pScreen);
+ output = pScrPriv->outputs[0];
if (!output)
return;
crtc = pScrPriv->crtcs[0];

View File

@ -1,32 +0,0 @@
diff --git a/randr/rrinfo.c b/randr/rrinfo.c
index bd5d5b1..8b0c93d 100644
--- a/randr/rrinfo.c
+++ b/randr/rrinfo.c
@@ -98,7 +98,6 @@ RRScanOldConfig (ScreenPtr pScreen, Rotation rotations)
if (!output)
return;
RROutputSetCrtcs (output, &crtc, 1);
- output->crtc = crtc;
RROutputSetConnection (output, RR_Connected);
#ifdef RENDER
RROutputSetSubpixelOrder (output, PictureGetSubpixelOrder (pScreen));
@@ -108,7 +107,9 @@ RRScanOldConfig (ScreenPtr pScreen, Rotation rotations)
output = RRFirstOutput (pScreen);
if (!output)
return;
- crtc = output->crtc;
+ crtc = pScrPriv->crtcs[0];
+ if (!crtc)
+ return;
/* check rotations */
if (rotations != crtc->rotations)
@@ -168,7 +169,7 @@ RRScanOldConfig (ScreenPtr pScreen, Rotation rotations)
/* notice current mode */
if (newMode)
- RRCrtcNotify (output->crtc, newMode, 0, 0, pScrPriv->rotation,
+ RRCrtcNotify (crtc, newMode, 0, 0, pScrPriv->rotation,
1, &output);
}
#endif

View File

@ -1,36 +0,0 @@
diff -Nur xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/glx/glxext.c xorg-server-7.2/xorg-server-1.3.0.0/GL/glx/glxext.c
--- xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/glx/glxext.c 2006-12-01 03:40:10.000000000 +0200
+++ xorg-server-7.2/xorg-server-1.3.0.0/GL/glx/glxext.c 2007-04-23 01:23:39.900111785 +0300
@@ -275,7 +275,7 @@
/*
** The GL was will call this routine if an error occurs.
*/
-void __glXErrorCallBack(__GLinterface *gc, GLenum code)
+void __glXErrorCallBack(GLenum code)
{
errorOccured = GL_TRUE;
}
diff -Nur xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/glx/glxext.h xorg-server-7.2/xorg-server-1.3.0.0/GL/glx/glxext.h
--- xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/glx/glxext.h 2006-09-18 09:04:17.000000000 +0300
+++ xorg-server-7.2/xorg-server-1.3.0.0/GL/glx/glxext.h 2007-04-23 01:23:39.900111785 +0300
@@ -66,7 +66,7 @@
extern GLboolean __glXFreeContext(__GLXcontext *glxc);
extern void __glXFlushContextCache(void);
-extern void __glXErrorCallBack(__GLinterface *gc, GLenum code);
+extern void __glXErrorCallBack(GLenum code);
extern void __glXClearErrorOccured(void);
extern GLboolean __glXErrorOccured(void);
extern void __glXResetLargeCommandStatus(__GLXclientState*);
diff -Nur xorg-server-7.2.orig/xorg-server-1.3.0.0/hw/dmx/glxProxy/glxext.h xorg-server-7.2/xorg-server-1.3.0.0/hw/dmx/glxProxy/glxext.h
--- xorg-server-7.2/xorg-server-1.3.0.0/hw/dmx/glxProxy/glxext.h 2006-09-18 09:04:17.000000000 +0300
+++ xorg-server-7.2/xorg-server-1.3.0.0/hw/dmx/glxProxy/glxext.h 2006-09-18 09:04:17.000000000 +0300
@@ -67,7 +67,7 @@
extern void __glXNoSuchRenderOpcode(GLbyte*);
extern int __glXNoSuchSingleOpcode(__GLXclientState*, GLbyte*);
-extern void __glXErrorCallBack(__GLinterface *gc, GLenum code);
+extern void __glXErrorCallBack(GLenum code);
extern void __glXClearErrorOccured(void);
extern GLboolean __glXErrorOccured(void);
extern void __glXResetLargeCommandStatus(__GLXclientState*);

View File

@ -1,407 +0,0 @@
diff -Nur xorg-server-7.2.orig/xorg-server-1.3.0.0/configure.ac xorg-server-7.2/xorg-server-1.3.0.0/configure.ac
--- xorg-server-7.2.orig/xorg-server-1.3.0.0/configure.ac 2007-04-20 04:23:40.000000000 +0300
+++ xorg-server-7.2/xorg-server-1.3.0.0/configure.ac 2007-04-23 01:31:47.325751948 +0300
@@ -1697,6 +1697,7 @@
GL/mesa/swrast/Makefile
GL/mesa/swrast_setup/Makefile
GL/mesa/tnl/Makefile
+GL/mesa/vbo/Makefile
GL/mesa/X/Makefile
include/Makefile
afb/Makefile
diff -Nur xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/glapi/Makefile.am xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/glapi/Makefile.am
--- xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/glapi/Makefile.am 2006-09-18 09:04:17.000000000 +0300
+++ xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/glapi/Makefile.am 2007-04-22 16:13:52.000000000 +0300
@@ -7,7 +7,6 @@
INCLUDES = -I@MESA_SOURCE@/include \
-I../X \
- -I../array_cache \
-I../glapi \
-I../main \
-I../math \
diff -Nur xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/main/Makefile.am xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/main/Makefile.am
--- xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/main/Makefile.am 2006-11-17 19:47:26.000000000 +0200
+++ xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/main/Makefile.am 2007-04-22 16:13:52.000000000 +0300
@@ -7,7 +7,6 @@
INCLUDES = -I@MESA_SOURCE@/include \
-I../X \
- -I../array_cache \
-I../glapi \
-I../main \
-I../math \
@@ -62,13 +61,14 @@
matrix.c \
mipmap.c \
mm.c \
- occlude.c \
pixel.c \
points.c \
polygon.c \
+ queryobj.c \
rastpos.c \
rbadaptors.c \
renderbuffer.c \
+ shaders.c \
state.c \
stencil.c \
texcompress.c \
diff -Nur xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/Makefile.am xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/Makefile.am
--- xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/Makefile.am 2006-06-06 20:13:51.000000000 +0300
+++ xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/Makefile.am 2007-04-22 16:13:52.000000000 +0300
@@ -1,15 +1,15 @@
-SUBDIRS = main math array_cache swrast swrast_setup tnl shader X glapi
+SUBDIRS = main math swrast swrast_setup tnl shader X glapi vbo
noinst_LTLIBRARIES = libGLcore.la
libGLcore_la_SOURCES = dummy.c
libGLcore_la_LIBADD = main/libmain.la \
math/libmath.la \
- array_cache/libac.la \
swrast/libswrast.la \
swrast_setup/libss.la \
tnl/libtnl.la \
shader/libshader.la \
shader/grammar/libgrammar.la \
shader/slang/libslang.la \
+ vbo/libvbo.la \
X/libX.la
diff -Nur xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/math/Makefile.am xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/math/Makefile.am
--- xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/math/Makefile.am 2006-09-18 09:04:17.000000000 +0300
+++ xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/math/Makefile.am 2007-04-22 16:13:52.000000000 +0300
@@ -7,7 +7,6 @@
INCLUDES = -I@MESA_SOURCE@/include \
-I../X \
- -I../array_cache \
-I../glapi \
-I../main \
-I../math \
diff -Nur xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/shader/grammar/Makefile.am xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/shader/grammar/Makefile.am
--- xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/shader/grammar/Makefile.am 2006-09-18 09:04:17.000000000 +0300
+++ xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/shader/grammar/Makefile.am 2007-04-22 16:13:52.000000000 +0300
@@ -7,7 +7,6 @@
INCLUDES = -I@MESA_SOURCE@/include \
-I../../X \
- -I../../array_cache \
-I../../glapi \
-I../../main \
-I../../math \
diff -Nur xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/shader/Makefile.am xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/shader/Makefile.am
--- xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/shader/Makefile.am 2006-09-18 09:04:17.000000000 +0300
+++ xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/shader/Makefile.am 2007-04-22 16:13:52.000000000 +0300
@@ -9,7 +9,6 @@
INCLUDES = -I@MESA_SOURCE@/include \
-I../X \
- -I../array_cache \
-I../glapi \
-I../main \
-I../math \
@@ -28,8 +27,13 @@
atifragshader.c \
nvfragparse.c \
nvprogram.c \
- nvvertexec.c \
- nvvertparse.c \
+ nvvertparse.c \
+ prog_debug.c \
+ prog_execute.c \
+ prog_instruction.c \
+ prog_parameter.c \
+ prog_print.c \
program.c \
- shaderobjects.c \
- shaderobjects_3dlabs.c
+ programopt.c \
+ prog_statevars.c \
+ shader_api.c
diff -Nur xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/shader/slang/Makefile.am xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/shader/slang/Makefile.am
--- xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/shader/slang/Makefile.am 2006-09-18 09:04:17.000000000 +0300
+++ xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/shader/slang/Makefile.am 2007-04-22 16:13:52.000000000 +0300
@@ -8,7 +8,6 @@
INCLUDES = -I@MESA_SOURCE@/include \
-I../grammar \
-I../../X \
- -I../../array_cache \
-I../../glapi \
-I../../main \
-I../../math \
@@ -19,23 +18,24 @@
-I../.. \
-I$(top_srcdir)/hw/xfree86/os-support
-nodist_libslang_la_SOURCES = slang_analyse.c \
- slang_assemble_assignment.c \
- slang_assemble.c \
- slang_assemble_conditional.c \
- slang_assemble_constructor.c \
- slang_assemble_typeinfo.c \
+nodist_libslang_la_SOURCES = slang_builtin.c \
+ slang_codegen.c \
slang_compile.c \
slang_compile_function.c \
slang_compile_operation.c \
slang_compile_struct.c \
slang_compile_variable.c \
- slang_execute.c \
- slang_execute_x86.c \
- slang_export.c \
- slang_library_texsample.c \
+ slang_emit.c \
+ slang_ir.c \
+ slang_label.c \
slang_library_noise.c \
slang_link.c \
+ slang_log.c \
+ slang_mem.c \
slang_preprocess.c \
+ slang_print.c \
+ slang_simplify.c \
slang_storage.c \
- slang_utility.c
+ slang_typeinfo.c \
+ slang_utility.c \
+ slang_vartable.c
diff -Nur xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/swrast/Makefile.am xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/swrast/Makefile.am
--- xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/swrast/Makefile.am 2006-09-18 09:04:17.000000000 +0300
+++ xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/swrast/Makefile.am 2007-04-22 16:13:52.000000000 +0300
@@ -7,7 +7,6 @@
INCLUDES = -I@MESA_SOURCE@/include \
-I../X \
- -I../array_cache \
-I../glapi \
-I../main \
-I../math \
@@ -24,7 +23,6 @@
s_aatriangle.c \
s_accum.c \
s_alpha.c \
- s_arbshader.c \
s_atifragshader.c \
s_bitmap.c \
s_blend.c \
@@ -36,11 +34,11 @@
s_drawpix.c \
s_feedback.c \
s_fog.c \
+ s_fragprog.c \
s_imaging.c \
s_lines.c \
s_logic.c \
s_masking.c \
- s_nvfragprog.c \
s_points.c \
s_readpix.c \
s_span.c \
diff -Nur xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/swrast_setup/Makefile.am xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/swrast_setup/Makefile.am
--- xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/swrast_setup/Makefile.am 2006-09-18 09:04:17.000000000 +0300
+++ xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/swrast_setup/Makefile.am 2007-04-22 16:13:52.000000000 +0300
@@ -7,7 +7,6 @@
INCLUDES = -I@MESA_SOURCE@/include \
-I../X \
- -I../array_cache \
-I../glapi \
-I../main \
-I../math \
diff -Nur xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/tnl/Makefile.am xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/tnl/Makefile.am
--- xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/tnl/Makefile.am 2006-09-18 09:04:17.000000000 +0300
+++ xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/tnl/Makefile.am 2007-04-22 16:13:52.000000000 +0300
@@ -7,7 +7,6 @@
INCLUDES = -I@MESA_SOURCE@/include \
-I../X \
- -I../array_cache \
-I../glapi \
-I../main \
-I../math \
@@ -19,16 +18,9 @@
-I.. \
-I$(top_srcdir)/hw/xfree86/os-support
-nodist_libtnl_la_SOURCES = t_array_api.c \
- t_array_import.c \
- t_context.c \
+nodist_libtnl_la_SOURCES = t_context.c \
+ t_draw.c \
t_pipeline.c \
- t_save_api.c \
- t_save_loopback.c \
- t_save_playback.c \
- t_vb_arbprogram.c \
- t_vb_arbprogram_sse.c \
- t_vb_arbshader.c \
t_vb_cull.c \
t_vb_fog.c \
t_vb_light.c \
@@ -42,9 +34,4 @@
t_vertex.c \
t_vertex_generic.c \
t_vertex_sse.c \
- t_vp_build.c \
- t_vtx_api.c \
- t_vtx_eval.c \
- t_vtx_exec.c \
- t_vtx_generic.c \
- t_vtx_x86.c
+ t_vp_build.c
diff -Nur xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/vbo/Makefile.am xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/vbo/Makefile.am
--- xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/vbo/Makefile.am 1970-01-01 02:00:00.000000000 +0200
+++ xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/vbo/Makefile.am 2007-04-22 16:13:52.000000000 +0300
@@ -0,0 +1,35 @@
+noinst_LTLIBRARIES = libvbo.la
+
+AM_CFLAGS = \
+ $(DIX_CFLAGS) \
+ -DXFree86Server \
+ @GLX_DEFINES@
+
+INCLUDES = -I@MESA_SOURCE@/include \
+ -I../X \
+ -I../glapi \
+ -I../main \
+ -I../math \
+ -I../shader \
+ -I../shader/slang \
+ -I../shader/slang \
+ -I../swrast \
+ -I../swrast_setup \
+ -I../tnl \
+ -I.. \
+ -I$(top_srcdir)/hw/xfree86/os-support
+
+nodist_libvbo_la_SOURCES = vbo_context.c \
+ vbo_exec_api.c \
+ vbo_exec_array.c \
+ vbo_exec.c \
+ vbo_exec_draw.c \
+ vbo_exec_eval.c \
+ vbo_rebase.c \
+ vbo_save_api.c \
+ vbo_save.c \
+ vbo_save_draw.c \
+ vbo_save_loopback.c \
+ vbo_split.c \
+ vbo_split_copy.c \
+ vbo_split_inplace.c
diff -Nur xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/X/Makefile.am xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/X/Makefile.am
--- xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/mesa/X/Makefile.am 2006-09-18 09:04:17.000000000 +0300
+++ xorg-server-7.2/xorg-server-1.3.0.0/GL/mesa/X/Makefile.am 2007-04-22 17:57:08.000000000 +0300
@@ -2,7 +2,6 @@
INCLUDES = -I@MESA_SOURCE@/include \
-I../X \
- -I../array_cache \
-I../glapi \
-I../main \
-I../math \
@@ -21,18 +20,15 @@
AM_CFLAGS = \
$(DIX_CFLAGS) \
-DXFree86Server \
- @GLX_DEFINES@ \
- -DXFree86Server
+ @GLX_DEFINES@
-libX_la_SOURCES = xf86glx.c \
- xf86glx_util.c \
- xf86glx_util.h \
- xf86glxint.h
+libX_la_SOURCES = xf86glx.c
nodist_libX_la_SOURCES = \
xm_api.c \
xm_buffer.c \
xm_dd.c \
+ xm_image.c \
xm_line.c \
xm_span.c \
xm_tri.c \
diff -Nur xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/symlink-mesa.sh xorg-server-7.2/xorg-server-1.3.0.0/GL/symlink-mesa.sh
--- xorg-server-7.2.orig/xorg-server-1.3.0.0/GL/symlink-mesa.sh 2006-10-05 00:46:03.000000000 +0300
+++ xorg-server-7.2/xorg-server-1.3.0.0/GL/symlink-mesa.sh 2007-04-22 16:13:52.000000000 +0300
@@ -85,15 +85,6 @@
done
}
-symlink_mesa_ac() {
- src_dir src/mesa/array_cache
- dst_dir mesa/array_cache
-
- for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
- action `basename $src`
- done
-}
-
symlink_mesa_swrast() {
src_dir src/mesa/swrast
dst_dir mesa/swrast
@@ -157,6 +148,15 @@
done
}
+symlink_mesa_vbo() {
+ src_dir src/mesa/vbo
+ dst_dir mesa/vbo
+
+ for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
+ action `basename $src`
+ done
+}
+
symlink_mesa_x() {
src_dir src/mesa/drivers/x11
dst_dir mesa/X
@@ -168,6 +168,8 @@
action xm_api.c
action xm_buffer.c
action xm_dd.c
+ action xm_image.c
+ action xm_image.h
action xm_line.c
action xm_span.c
action xm_tri.c
@@ -203,7 +205,6 @@
symlink_mesa() {
symlink_mesa_main
symlink_mesa_math
- symlink_mesa_ac
symlink_mesa_swrast
symlink_mesa_ss
symlink_mesa_tnl
@@ -215,6 +216,7 @@
symlink_mesa_glapi
symlink_mesa_ppc
symlink_mesa_sparc
+ symlink_mesa_vbo
symlink_mesa_x86
symlink_mesa_x8664
}
@@ -225,9 +227,6 @@
dst_dir glx
action indirect_size.h
-
- src_dir src/mesa/drivers/dri/common
-
action glcontextmodes.c
action glcontextmodes.h
@@ -289,9 +288,9 @@
}
usage() {
- echo symlink.sh src-dir dst-dir
- echo src-dir: the xc directory of the monolithic source tree
- echo dst-dir: the modular source tree containing proto, app, lib, ...
+ echo symlink-mesa.sh src-dir dst-dir
+ echo src-dir: the Mesa source directory
+ echo dst-dir: the GL subdirectory of the Xserver modular tree
}
# Check commandline args

View File

@ -1,132 +0,0 @@
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: composite/compalloc.c
# modified: composite/compint.h
# modified: composite/compwindow.c
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# randr/rrscreen.c.orig
diff --git a/composite/compalloc.c b/composite/compalloc.c
index f555411..006e808 100644
--- a/composite/compalloc.c
+++ b/composite/compalloc.c
@@ -461,7 +461,6 @@ compNewPixmap (WindowPtr pWin, int x, int y, int w, int h)
ScreenPtr pScreen = pWin->drawable.pScreen;
WindowPtr pParent = pWin->parent;
PixmapPtr pPixmap;
- GCPtr pGC;
pPixmap = (*pScreen->CreatePixmap) (pScreen, w, h, pWin->drawable.depth);
@@ -471,25 +470,63 @@ compNewPixmap (WindowPtr pWin, int x, int y, int w, int h)
pPixmap->screen_x = x;
pPixmap->screen_y = y;
- pGC = GetScratchGC (pWin->drawable.depth, pScreen);
-
- /*
- * Copy bits from the parent into the new pixmap so that it will
- * have "reasonable" contents in case for background None areas.
- */
- if (pGC)
+ if (pParent->drawable.depth == pWin->drawable.depth)
{
- XID val = IncludeInferiors;
+ GCPtr pGC = GetScratchGC (pWin->drawable.depth, pScreen);
- ValidateGC(&pPixmap->drawable, pGC);
- dixChangeGC (serverClient, pGC, GCSubwindowMode, &val, NULL);
- (*pGC->ops->CopyArea) (&pParent->drawable,
- &pPixmap->drawable,
- pGC,
- x - pParent->drawable.x,
- y - pParent->drawable.y,
- w, h, 0, 0);
- FreeScratchGC (pGC);
+ /*
+ * Copy bits from the parent into the new pixmap so that it will
+ * have "reasonable" contents in case for background None areas.
+ */
+ if (pGC)
+ {
+ XID val = IncludeInferiors;
+
+ ValidateGC(&pPixmap->drawable, pGC);
+ dixChangeGC (serverClient, pGC, GCSubwindowMode, &val, NULL);
+ (*pGC->ops->CopyArea) (&pParent->drawable,
+ &pPixmap->drawable,
+ pGC,
+ x - pParent->drawable.x,
+ y - pParent->drawable.y,
+ w, h, 0, 0);
+ FreeScratchGC (pGC);
+ }
+ }
+ else
+ {
+ PictFormatPtr pSrcFormat = compWindowFormat (pParent);
+ PictFormatPtr pDstFormat = compWindowFormat (pWin);
+ XID inferiors = IncludeInferiors;
+ int error;
+
+ PicturePtr pSrcPicture = CreatePicture (None,
+ &pParent->drawable,
+ pSrcFormat,
+ CPSubwindowMode,
+ &inferiors,
+ serverClient, &error);
+
+ PicturePtr pDstPicture = CreatePicture (None,
+ &pPixmap->drawable,
+ pDstFormat,
+ 0, 0,
+ serverClient, &error);
+
+ if (pSrcPicture && pDstPicture)
+ {
+ CompositePicture (PictOpSrc,
+ pSrcPicture,
+ NULL,
+ pDstPicture,
+ x - pParent->drawable.x,
+ y - pParent->drawable.y,
+ 0, 0, 0, 0, w, h);
+ }
+ if (pSrcPicture)
+ FreePicture (pSrcPicture, 0);
+ if (pDstPicture)
+ FreePicture (pDstPicture, 0);
}
return pPixmap;
}
diff --git a/composite/compint.h b/composite/compint.h
index 38b1777..f69595c 100644
--- a/composite/compint.h
+++ b/composite/compint.h
@@ -237,6 +237,9 @@ compCheckTree (ScreenPtr pScreen);
#define compCheckTree(s)
#endif
+PictFormatPtr
+compWindowFormat (WindowPtr pWin);
+
void
compSetPixmap (WindowPtr pWin, PixmapPtr pPixmap);
diff --git a/composite/compwindow.c b/composite/compwindow.c
index a4c4e6f..bfd2946 100644
--- a/composite/compwindow.c
+++ b/composite/compwindow.c
@@ -685,7 +685,7 @@ compGetWindowVisual (WindowPtr pWin)
return 0;
}
-static PictFormatPtr
+PictFormatPtr
compWindowFormat (WindowPtr pWin)
{
ScreenPtr pScreen = pWin->drawable.pScreen;

View File

@ -1,20 +0,0 @@
--- hw/xfree86/x86emu/prim_ops.c
+++ hw/xfree86/x86emu/prim_ops.c
@@ -2082,7 +2082,7 @@
void imul_long_direct(u32 *res_lo, u32* res_hi,u32 d, u32 s)
{
#ifdef __HAS_LONG_LONG__
- s64 res = (s32)d * (s32)s;
+ s64 res = (s64)(s32)d * (s32)s;
*res_lo = (u32)res;
*res_hi = (u32)(res >> 32);
@@ -2174,7 +2174,7 @@
void mul_long(u32 s)
{
#ifdef __HAS_LONG_LONG__
- u64 res = (u32)M.x86.R_EAX * (u32)s;
+ u64 res = (u64)M.x86.R_EAX * s;
M.x86.R_EAX = (u32)res;
M.x86.R_EDX = (u32)(res >> 32);

View File

@ -1,20 +0,0 @@
--- hw/kdrive/ephyr/hostx.c.orig 2007-07-20 00:12:36.000000000 +0200
+++ hw/kdrive/ephyr/hostx.c 2007-07-20 00:16:17.020852526 +0200
@@ -40,6 +40,7 @@
#include <X11/Xatom.h>
#include <X11/keysym.h>
#include <X11/extensions/XShm.h>
+#include <X11/Xmd.h>
/*
* All xlib calls go here, which gets built as its own .a .
@@ -79,7 +80,8 @@
extern KeySym EphyrKeymap[];
-extern KeySym kdKeymap[];
+extern CARD32 kdKeymap[]; /* really KeySym, but Xlib & Xserver
+ use different sizes for that */
extern int kdMinScanCode;
extern int kdMaxScanCode;
extern int kdMinKeyCode;

View File

@ -2,12 +2,12 @@
+++ hw/kdrive/Makefile.am 2006-10-23 16:23:34.000000000 +0200
@@ -1,10 +1,9 @@
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
+VESA_SUBDIRS =
endif
if KDRIVEFBDEV
if BUILD_KDRIVEFBDEVLIB
-FBDEV_SUBDIRS = fbdev
+FBDEV_SUBDIRS =
endif
@ -18,7 +18,7 @@
$(FBDEV_SUBDIRS) \
$(VESA_SUBDIRS) \
- $(XEPHYR_SUBDIRS) \
- fake
- $(XFAKE_SUBDIRS)
+ $(XEPHYR_SUBDIRS)
DIST_SUBDIRS = vesa ati chips epson i810 mach64 mga neomagic nvidia pm2 r128 \

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:93c656f142f37607c15372dd24c5de9eab82cd79c5d60449174a928d345c2975
size 5968263

3
xorg-server-1.4.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:51b142df328d427143705371f139a08ff3bcd6efe0eab91f4178ca4017c0ebc2
size 6179392

View File

@ -1,3 +1,62 @@
-------------------------------------------------------------------
Sat Sep 29 00:51:38 CEST 2007 - sndirsch@suse.de
- xorg-server 1.4
* Welcome to X.Org X Server 1.4, now with hotplugging input to go
with the hotplugging output. Also included in this release are
many performance and correctness fixes to the EXA acceleration
architecture, support for DTrace profiling of the X Server,
accelerated GLX_EXT_texture_from_pixmap with supporting DRI
drivers, and many improvements to the RandR 1.2 support that
was added in xorg-server-1.3. The X Server now relies on the
pixman library, which replaces the fb/fbcompose.c and
accelerated implementations that were previously shared through
code-duplication with the cairo project.
* obsolete patches:
- bug-259290_trapfault.diff
- cfb8-undefined.diff
- commit-c09e68c
- i810_dri_fix_freeze.diff
- p_bug159532.diff
- p_enable-altrix.diff
- p_pci-ce-x.diff
- p_pci-off-by-one.diff
- p_xorg_rom_read.diff
- randr12-2926cf1da7e4ed63573bfaecdd7e19beb3057d9b.diff
- randr12-5b424b562eee863b11571de4cd0019cd9bc5b379.diff
- randr12-aec0d06469a2fa7440fdd5ee03dc256a68704e77.diff
- randr12-b2dcfbca2441ca8c561f86a78a76ab59ecbb40e4.diff
- randr12-b4193a2eee80895c5641e77488df0e72a73a3d99.diff
- remove__GLinterface.patch
- support_mesa6.5.3.patch
- use-composite-for-unequal-depths.patch
- x86emu.diff
- xephyr-sig11-fix.diff
* adjusted patches:
- 64bit.diff
- bug-197858_dpms.diff
- bug227111-ddc_screensize.diff
- disable-root-xorg_conf.diff
- fpic.diff
- glx-align.patch
- libdrm.diff
- p_bug96328.diff
- p_ia64-console.diff
- p_vga-crashfix.diff
- xephyr.diff
- pixman.diff:
* search for pixman instead of pixman-1
- bumped version to 7.3
-------------------------------------------------------------------
Tue Sep 25 19:11:13 CEST 2007 - sndirsch@suse.de
- remove wrongly prebuilt xf1bpp files after extracting tarball;
fixes vga module loading (Bug #328201)
- do not use "make -j" to (quick)fix xf1bpp build
- do not apply p_pci-domain.diff on IA64
- use updated off-by-one patch by schwab for IA64
-------------------------------------------------------------------
Fri Sep 21 16:45:02 CEST 2007 - sndirsch@suse.de

View File

@ -1,5 +1,5 @@
#
# spec file for package xorg-x11-server (Version 7.2)
# spec file for package xorg-x11-server (Version 7.3)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@ -11,8 +11,8 @@
# norootforbuild
Name: xorg-x11-server
%define dirsuffix 1.3.0.0
%define fglrx_driver_hack 1
%define dirsuffix 1.4
%define fglrx_driver_hack 0
%define vnc 0
BuildRequires: Mesa-devel fontconfig-devel freetype2-devel ghostscript-library glitz-devel libdrm-devel pkgconfig xorg-x11 xorg-x11-devel xorg-x11-libICE-devel xorg-x11-libSM-devel xorg-x11-libX11-devel xorg-x11-libXau-devel xorg-x11-libXdmcp-devel xorg-x11-libXext-devel xorg-x11-libXfixes-devel xorg-x11-libXmu-devel xorg-x11-libXp-devel xorg-x11-libXpm-devel xorg-x11-libXprintUtil-devel xorg-x11-libXrender-devel xorg-x11-libXt-devel xorg-x11-libXv-devel xorg-x11-libfontenc-devel xorg-x11-libxkbfile-devel xorg-x11-proto-devel xorg-x11-xtrans-devel
%if %vnc
@ -20,8 +20,8 @@ BuildRequires: libjpeg-devel
%endif
Url: http://xorg.freedesktop.org/
%define EXPERIMENTAL 0
Version: 7.2
Release: 142
Version: 7.3
Release: 1
License: X11/MIT
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Group: System/X11/Servers/XF86_4
@ -56,25 +56,21 @@ Patch6: pu_fixes.diff
Patch7: p_mouse_misc.diff
Patch8: p_bug96328.diff
Patch9: p_vga-crashfix.diff
Patch10: p_xorg_rom_read.diff
Patch11: ps_showopts.diff
Patch12: p_xf86Mode.diff
Patch13: p_xorg_acpi.diff
Patch14: p_xkills_wrong_client.diff
Patch15: p_bug159532.diff
Patch16: p_xnest-ignore-getimage-errors.diff
Patch18: p_ia64-console.diff
Patch19: disable-aiglx.diff
Patch22: disable-root-xorg_conf.diff
Patch23: disable-fbblt-opt.diff
Patch25: glx-align.patch
Patch26: p_enable-altrix.diff
Patch27: mouse.diff
Patch28: cfb8-undefined.diff
Patch29: xephyr.diff
Patch30: p_ppc_domain_workaround.diff
Patch32: acpi_events.diff
Patch33: p_pci-off-by-one.diff
Patch34: p_pci-off-by-one.diff.ia64
Patch36: libdrm.diff
%if %vnc
Patch39: 0018-vnc-support.txt
@ -83,27 +79,14 @@ Patch40: 0018-vnc-support.txt.diff
Patch41: loadmod-bug197195.diff
Patch42: bug227111-ddc_screensize.diff
Patch45: bug-197858_dpms.diff
Patch46: x86emu.diff
Patch61: bug-259290_trapfault.diff
Patch63: xorg-x11-server-1.2.99-unbreak-domain.patch
Patch64: support_mesa6.5.3.patch
Patch65: remove__GLinterface.patch
Patch66: commit-c09e68c
Patch67: xorg-docs.diff
Patch68: xephyr-sig11-fix.diff
Patch69: xserver-mode-fuzzy-check.diff
Patch70: i810_dri_fix_freeze.diff
Patch71: randr12-5b424b562eee863b11571de4cd0019cd9bc5b379.diff
Patch72: randr12-8d230319040f0a7f72231da2bf5ec97dc3612e21.diff
Patch73: randr12-aec0d06469a2fa7440fdd5ee03dc256a68704e77.diff
Patch74: randr12-b4193a2eee80895c5641e77488df0e72a73a3d99.diff
Patch75: randr12-b2dcfbca2441ca8c561f86a78a76ab59ecbb40e4.diff
Patch76: randr12-2926cf1da7e4ed63573bfaecdd7e19beb3057d9b.diff
Patch77: fbdevhw.diff
Patch78: use-composite-for-unequal-depths.patch
Patch79: edit_data_sanity_check.diff
Patch80: pixman.diff
Patch334: p_pci-domain.diff
Patch357: p_pci-ce-x.diff
%description
This package contains the X.Org Server.
@ -161,6 +144,10 @@ An X Window System server for Virtual Network Computing (VNC).
# make legal department happy (Bug #204110)
test -f ../Mesa-7.0.1/src/mesa/drivers/directfb/idirectfbgl_mesa.c && exit 1
test -f ../Mesa-7.0.1/progs/ggi/asc-view.c && exit 1
# remove wrongly prebuilt files (Bug #328201)
mv hw/xfree86/xf1bpp/mfbmodule.c .
rm hw/xfree86/xf1bpp/*.c
mv mfbmodule.c hw/xfree86/xf1bpp
%patch
%patch1
%patch2
@ -169,14 +156,12 @@ test -f ../Mesa-7.0.1/progs/ggi/asc-view.c && exit 1
%patch5
%patch6
%patch7 -p2
%patch8 -p2
%patch8 -p0
%patch9 -p2
%patch10 -p3
%patch11
#%patch12 -p2
%patch13
%patch14 -p2
%patch15 -p2
%patch16 -p2
pushd hw/xfree86/os-support
%patch18
@ -185,45 +170,35 @@ popd
%patch22
%patch23
%patch25 -p1
%patch26
%patch27
%patch28
%patch29
### Bug 197572: X.Org PCI/IA64 patches
%ifnarch ia64
%patch334 -p0 -b .p_pci-domain.diff
%patch357 -p0 -b .p_pci-ce-x.diff
%endif
%patch30
%patch32 -p1
%patch33 -p0
%ifarch ia64
%patch34 -p0
%else
%endif
%patch36 -p0
%if %vnc
%patch39 -p1
%patch40 -p0
%endif
%patch41 -p1
%patch42 -p1
%patch42 -p0
%patch45 -p0
%patch46 -p0
%patch61 -p1
%patch63 -p1
%patch64 -p2
%patch65 -p2
%patch66 -p1
pushd xorg-docs-*
%patch67
popd
%patch68
%patch69 -p1
%patch70 -p1
%patch71 -p1
%patch72 -p1
%patch73 -p1
%patch74 -p1
%patch75 -p1
%patch76 -p1
%patch77
%patch78 -p1
%patch79 -p1
%patch80
%build
pushd xorg-docs-*
@ -294,7 +269,8 @@ autoreconf -fi
--with-fontdir="/usr/share/fonts" \
--with-xkb-path="/usr/share/X11/xkb" \
--with-xkb-output="/var/lib/xkb/compiled"
make %{?jobs:-j %jobs}
#make %{?jobs:-j %jobs}
make
make -C hw/kdrive %{?jobs:-j %jobs}
%install
@ -517,12 +493,8 @@ exit 0
/usr/bin/xdmx
/usr/bin/xdmxconfig
%ifnarch s390 s390x
/usr/bin/xorgcfg
/usr/bin/xorgconfig
/usr/include/X11/bitmaps/
/usr/include/X11/pixmaps/
/usr/%{_lib}/X11/*
/usr/share/X11/
/usr/%{_lib}/xorg/modules/
%{_mandir}/man4/*
%{_mandir}/man5/*
@ -557,6 +529,59 @@ exit 0
/usr/bin/Xvnc
%endif
%changelog
* Sat Sep 29 2007 - sndirsch@suse.de
- xorg-server 1.4
* Welcome to X.Org X Server 1.4, now with hotplugging input to go
with the hotplugging output. Also included in this release are
many performance and correctness fixes to the EXA acceleration
architecture, support for DTrace profiling of the X Server,
accelerated GLX_EXT_texture_from_pixmap with supporting DRI
drivers, and many improvements to the RandR 1.2 support that
was added in xorg-server-1.3. The X Server now relies on the
pixman library, which replaces the fb/fbcompose.c and
accelerated implementations that were previously shared through
code-duplication with the cairo project.
* obsolete patches:
- bug-259290_trapfault.diff
- cfb8-undefined.diff
- commit-c09e68c
- i810_dri_fix_freeze.diff
- p_bug159532.diff
- p_enable-altrix.diff
- p_pci-ce-x.diff
- p_pci-off-by-one.diff
- p_xorg_rom_read.diff
- randr12-2926cf1da7e4ed63573bfaecdd7e19beb3057d9b.diff
- randr12-5b424b562eee863b11571de4cd0019cd9bc5b379.diff
- randr12-aec0d06469a2fa7440fdd5ee03dc256a68704e77.diff
- randr12-b2dcfbca2441ca8c561f86a78a76ab59ecbb40e4.diff
- randr12-b4193a2eee80895c5641e77488df0e72a73a3d99.diff
- remove__GLinterface.patch
- support_mesa6.5.3.patch
- use-composite-for-unequal-depths.patch
- x86emu.diff
- xephyr-sig11-fix.diff
* adjusted patches:
- 64bit.diff
- bug-197858_dpms.diff
- bug227111-ddc_screensize.diff
- disable-root-xorg_conf.diff
- fpic.diff
- glx-align.patch
- libdrm.diff
- p_bug96328.diff
- p_ia64-console.diff
- p_vga-crashfix.diff
- xephyr.diff
- pixman.diff:
* search for pixman instead of pixman-1
- bumped version to 7.3
* Tue Sep 25 2007 - sndirsch@suse.de
- remove wrongly prebuilt xf1bpp files after extracting tarball;
fixes vga module loading (Bug #328201)
- do not use "make -j" to (quick)fix xf1bpp build
- do not apply p_pci-domain.diff on IA64
- use updated off-by-one patch by schwab for IA64
* Fri Sep 21 2007 - sndirsch@suse.de
- edit_data_sanity_check.diff:
* added sanity check for monitor EDID data (Bug #326454)