diff options
author | anholt <anholt@FreeBSD.org> | 2005-10-16 16:46:41 +0800 |
---|---|---|
committer | anholt <anholt@FreeBSD.org> | 2005-10-16 16:46:41 +0800 |
commit | ce32606445e735ce3b9a19e0569fba86b649a342 (patch) | |
tree | 68b5962249481f0bcf95217c9b672a70418a821a /x11-servers/xorg-server-snap | |
parent | e70075ffec07e872252fde29afcf0321af6f1392 (diff) | |
download | freebsd-ports-graphics-ce32606445e735ce3b9a19e0569fba86b649a342.tar.gz freebsd-ports-graphics-ce32606445e735ce3b9a19e0569fba86b649a342.tar.zst freebsd-ports-graphics-ce32606445e735ce3b9a19e0569fba86b649a342.zip |
Update to the 6.8.99.16 snapshot, and add in a fix for a memory leak in cursor
change handling as well as a merge of some important nv changes to avoid hangs
and reduce corruption in some cases.
Diffstat (limited to 'x11-servers/xorg-server-snap')
-rw-r--r-- | x11-servers/xorg-server-snap/Makefile | 3 | ||||
-rw-r--r-- | x11-servers/xorg-server-snap/distinfo | 4 | ||||
-rw-r--r-- | x11-servers/xorg-server-snap/files/patch-dix-events.c | 42 | ||||
-rw-r--r-- | x11-servers/xorg-server-snap/files/patch-drm-Imakefile | 38 | ||||
-rw-r--r-- | x11-servers/xorg-server-snap/files/patch-nv-update.diff | 268 | ||||
-rw-r--r-- | x11-servers/xorg-server-snap/files/patch-radeon_driver.c | 15 | ||||
-rw-r--r-- | x11-servers/xorg-server-snap/files/patch-xkbout.c | 10 | ||||
-rw-r--r-- | x11-servers/xorg-server-snap/pkg-plist | 7 |
8 files changed, 318 insertions, 69 deletions
diff --git a/x11-servers/xorg-server-snap/Makefile b/x11-servers/xorg-server-snap/Makefile index ce045340001..dfade5c0a31 100644 --- a/x11-servers/xorg-server-snap/Makefile +++ b/x11-servers/xorg-server-snap/Makefile @@ -6,8 +6,7 @@ # PORTNAME= xorg-server -PORTVERSION= 6.8.99.12 -PORTREVISION= 2 +PORTVERSION= 6.8.99.16 CATEGORIES= x11-servers MASTER_SITES= http://xorg.freedesktop.org/snapshots/ DISTNAME= xorg-x11-${PORTVERSION} diff --git a/x11-servers/xorg-server-snap/distinfo b/x11-servers/xorg-server-snap/distinfo index 087df41cbd2..9ac7cc5a502 100644 --- a/x11-servers/xorg-server-snap/distinfo +++ b/x11-servers/xorg-server-snap/distinfo @@ -1,2 +1,2 @@ -MD5 (xorg/xorg-x11-6.8.99.12.tar.bz2) = 4d717b2c0bb1214e8f85ad3992690d2c -SIZE (xorg/xorg-x11-6.8.99.12.tar.bz2) = 44997357 +MD5 (xorg/xorg-x11-6.8.99.16.tar.bz2) = ae32054482f193d1579ab6f8cda66a7e +SIZE (xorg/xorg-x11-6.8.99.16.tar.bz2) = 45369937 diff --git a/x11-servers/xorg-server-snap/files/patch-dix-events.c b/x11-servers/xorg-server-snap/files/patch-dix-events.c new file mode 100644 index 00000000000..1270ee6dbde --- /dev/null +++ b/x11-servers/xorg-server-snap/files/patch-dix-events.c @@ -0,0 +1,42 @@ +Index: programs/Xserver/dix/events.c +=================================================================== +RCS file: /cvs/xorg/xc/programs/Xserver/dix/events.c,v +retrieving revision 1.16 +retrieving revision 1.17 +diff -u -u -r1.16 -r1.17 +--- programs/Xserver/dix/events.c 15 Jul 2005 05:48:29 -0000 1.16 ++++ programs/Xserver/dix/events.c 25 Aug 2005 22:11:04 -0000 1.17 +@@ -1,4 +1,4 @@ +-/* $XdotOrg: xc/programs/Xserver/dix/events.c,v 1.16 2005/07/15 05:48:29 kem Exp $ */ ++/* $XdotOrg: xc/programs/Xserver/dix/events.c,v 1.17 2005/08/25 22:11:04 anholt Exp $ */ + /* $XFree86: xc/programs/Xserver/dix/events.c,v 3.51 2004/01/12 17:04:52 tsi Exp $ */ + /************************************************************ + +@@ -675,7 +675,9 @@ + (sprite.current->bits->yhot != cursor->bits->yhot)) + XineramaCheckPhysLimits(cursor, FALSE); + (*sprite.screen->DisplayCursor)(sprite.screen, cursor); ++ FreeCursor(sprite.current, (Cursor)0); + sprite.current = cursor; ++ sprite.current->refcnt++; + } + } + +@@ -930,7 +932,9 @@ + (ScreenPtr)NULL); + (*sprite.hotPhys.pScreen->DisplayCursor) (sprite.hotPhys.pScreen, + cursor); ++ FreeCursor(sprite.current, (Cursor)0); + sprite.current = cursor; ++ sprite.current->refcnt++; + } + } + +@@ -2184,6 +2188,7 @@ + #endif + sprite.win = win; + sprite.current = wCursor (win); ++ sprite.current->refcnt++; + spriteTraceGood = 1; + ROOT = win; + (*pScreen->CursorLimits) ( diff --git a/x11-servers/xorg-server-snap/files/patch-drm-Imakefile b/x11-servers/xorg-server-snap/files/patch-drm-Imakefile deleted file mode 100644 index 096db6c4f0c..00000000000 --- a/x11-servers/xorg-server-snap/files/patch-drm-Imakefile +++ /dev/null @@ -1,38 +0,0 @@ -Index: programs/Xserver/hw/xfree86/os-support/bsd/drm/Imakefile -=================================================================== -RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/Imakefile,v -retrieving revision 1.3 -diff -u -r1.3 Imakefile ---- programs/Xserver/hw/xfree86/os-support/bsd/drm/Imakefile 16 Jun 2004 09:39:15 -0000 1.3 -+++ programs/Xserver/hw/xfree86/os-support/bsd/drm/Imakefile 22 Jun 2005 23:22:13 -0000 -@@ -15,8 +15,6 @@ - #endif - - #if defined(FreeBSDArchitecture) --COMPATSRC = xf86drmCompat.c --COMPATOBJ = xf86drmCompat.o - OS_SUBDIR = freebsd - #elif defined(NetBSDArchitecture) - OS_SUBDIR = netbsd -@@ -30,14 +28,12 @@ - xf86drmHash.c \ - xf86drmRandom.c \ - xf86drmSL.c \ -- $(COMPATSRC) \ - $(MSRC) - - OBJS = xf86drm.o \ - xf86drmHash.o \ - xf86drmRandom.o \ - xf86drmSL.o \ -- $(COMPATOBJ) \ - $(MOBJ) - - INCLUDES = -I$(XF86COMSRC) -I$(XF86OSSRC) -I. -I$(SERVERSRC)/include \ -@@ -63,6 +59,5 @@ - LinkSourceFile(xf86drmHash.c,$(XF86OSSRC)/linux/drm) - LinkSourceFile(xf86drmRandom.c,$(XF86OSSRC)/linux/drm) - LinkSourceFile(xf86drmSL.c,$(XF86OSSRC)/linux/drm) --LinkSourceFile(xf86drmCompat.c,$(XF86OSSRC)/linux/drm) - - InstallDriverSDKLibraryModule(drm,$(DRIVERSDKMODULEDIR),$(OS_SUBDIR)) diff --git a/x11-servers/xorg-server-snap/files/patch-nv-update.diff b/x11-servers/xorg-server-snap/files/patch-nv-update.diff new file mode 100644 index 00000000000..177ea467576 --- /dev/null +++ b/x11-servers/xorg-server-snap/files/patch-nv-update.diff @@ -0,0 +1,268 @@ +Index: nv_driver.c +=================================================================== +RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c,v +retrieving revision 1.16 +retrieving revision 1.18 +diff -u -u -r1.16 -r1.18 +--- programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c 11 Jul 2005 02:29:57 -0000 1.16 ++++ programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c 29 Sep 2005 21:47:29 -0000 1.18 +@@ -1,4 +1,4 @@ +-/* $XdotOrg: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c,v 1.16 2005/07/11 02:29:57 ajax Exp $ */ ++/* $XdotOrg: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c,v 1.18 2005/09/29 21:47:29 aplattner Exp $ */ + /* $XConsortium: nv_driver.c /main/3 1996/10/28 05:13:37 kaleb $ */ + /* + * Copyright 1996-1997 David J. McKay +@@ -87,6 +87,8 @@ + 0 + }; + ++/* Known cards as of 2005/09/21 */ ++ + static SymTabRec NVKnownChipsets[] = + { + { 0x12D20018, "RIVA 128" }, +@@ -205,7 +207,7 @@ + #else + { 0x10DE0329, "0x0329" }, + #endif +- { 0x10DE032A, "Quadro NVS 280 PCI" }, ++ { 0x10DE032A, "Quadro NVS 55/280 PCI" }, + { 0x10DE032B, "Quadro FX 500/600 PCI" }, + { 0x10DE032C, "GeForce FX Go53xx Series" }, + { 0x10DE032D, "GeForce FX Go5100" }, +@@ -238,12 +240,14 @@ + { 0x10DE0043, "0x0043" }, + { 0x10DE0045, "GeForce 6800 GT" }, + { 0x10DE0046, "GeForce 6800 GT" }, ++ { 0x10DE0048, "GeForce 6800 XT" }, + { 0x10DE0049, "0x0049" }, + { 0x10DE004E, "Quadro FX 4000" }, + + { 0x10DE00C0, "0x00C0" }, + { 0x10DE00C1, "GeForce 6800" }, + { 0x10DE00C2, "GeForce 6800 LE" }, ++ { 0x10DE00C3, "GeForce 6800 XT" }, + { 0x10DE00C8, "GeForce Go 6800" }, + { 0x10DE00C9, "GeForce Go 6800 Ultra" }, + { 0x10DE00CC, "Quadro FX Go1400" }, +@@ -266,16 +270,16 @@ + { 0x10DE014E, "Quadro FX 540" }, + { 0x10DE014F, "GeForce 6200" }, + +- { 0x10DE0160, "0x0160" }, ++ { 0x10DE0160, "GeForce 6500" }, + { 0x10DE0161, "GeForce 6200 TurboCache(TM)" }, + { 0x10DE0162, "GeForce 6200SE TurboCache(TM)" }, +- { 0x10DE0163, "0x0163" }, ++ { 0x10DE0163, "GeForce 6200 LE" }, + { 0x10DE0164, "GeForce Go 6200" }, + { 0x10DE0165, "Quadro NVS 285" }, + { 0x10DE0166, "GeForce Go 6400" }, + { 0x10DE0167, "GeForce Go 6200" }, + { 0x10DE0168, "GeForce Go 6400" }, +- { 0x10DE0169, "0x0169" }, ++ { 0x10DE0169, "GeForce 6250" }, + { 0x10DE016B, "0x016B" }, + { 0x10DE016C, "0x016C" }, + { 0x10DE016D, "0x016D" }, +@@ -293,10 +297,10 @@ + + { 0x10DE0090, "0x0090" }, + { 0x10DE0091, "GeForce 7800 GTX" }, +- { 0x10DE0092, "0x0092" }, ++ { 0x10DE0092, "GeForce 7800 GT" }, + { 0x10DE0093, "0x0093" }, + { 0x10DE0094, "0x0094" }, +- { 0x10DE0098, "0x0098" }, ++ { 0x10DE0098, "GeForce Go 7800" }, + { 0x10DE0099, "GeForce Go 7800 GTX" }, + { 0x10DE009C, "0x009C" }, + { 0x10DE009D, "Quadro FX 4500" }, +@@ -699,6 +703,8 @@ + case 0x0210: + case 0x0220: + case 0x0230: ++ case 0x0290: ++ case 0x0390: + NVChipsets[numUsed].token = pciid; + NVChipsets[numUsed].name = "Unknown NVIDIA chip"; + NVPciChipsets[numUsed].numChipset = pciid; +@@ -1389,6 +1395,8 @@ + case 0x0210: + case 0x0220: + case 0x0230: ++ case 0x0290: ++ case 0x0390: + pNv->Architecture = NV_ARCH_40; + break; + default: +@@ -1425,9 +1433,13 @@ + } + } + +- pNv->FbUsableSize = pNv->FbMapSize - (128 * 1024); ++ if(pNv->Architecture >= NV_ARCH_40) ++ pNv->FbUsableSize = pNv->FbMapSize - (560 * 1024); ++ else ++ pNv->FbUsableSize = pNv->FbMapSize - (128 * 1024); + pNv->ScratchBufferSize = (pNv->Architecture < NV_ARCH_10) ? 8192 : 16384; + pNv->ScratchBufferStart = pNv->FbUsableSize - pNv->ScratchBufferSize; ++ pNv->CursorStart = pNv->FbUsableSize + (32 * 1024); + + /* + * Setup the ClockRanges, which describe what clock ranges are available, +Index: nv_hw.c +=================================================================== +RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/nv/nv_hw.c,v +retrieving revision 1.7 +retrieving revision 1.11 +diff -u -u -r1.7 -r1.11 +--- programs/Xserver/hw/xfree86/drivers/nv/nv_hw.c 11 Jul 2005 02:29:58 -0000 1.7 ++++ programs/Xserver/hw/xfree86/drivers/nv/nv_hw.c 29 Sep 2005 21:47:29 -0000 1.11 +@@ -919,7 +919,7 @@ + RIVA_HW_STATE *state + ) + { +- int i; ++ int i, j; + + pNv->PMC[0x0140/4] = 0x00000000; + pNv->PMC[0x0200/4] = 0xFFFF00FF; +@@ -932,16 +932,28 @@ + + if(pNv->Architecture == NV_ARCH_04) { + pNv->PFB[0x0200/4] = state->config; +- } else if ((pNv->Chipset & 0xfff0) == 0x0090) { +- for(i = 0; i < 15; i++) { +- pNv->PFB[(0x0600 + (i * 0x10))/4] = 0; +- pNv->PFB[(0x0604 + (i * 0x10))/4] = pNv->FbMapSize - 1; +- } +- } else { ++ } else ++ if((pNv->Architecture < NV_ARCH_40) || ++ ((pNv->Chipset & 0xfff0) == 0x0040)) ++ { + for(i = 0; i < 8; i++) { + pNv->PFB[(0x0240 + (i * 0x10))/4] = 0; + pNv->PFB[(0x0244 + (i * 0x10))/4] = pNv->FbMapSize - 1; + } ++ } else { ++ int regions = 12; ++ ++ if(((pNv->Chipset & 0xfff0) == 0x0090) || ++ ((pNv->Chipset & 0xfff0) == 0x01D0) || ++ ((pNv->Chipset & 0xfff0) == 0x0290)) ++ { ++ regions = 15; ++ } ++ ++ for(i = 0; i < regions; i++) { ++ pNv->PFB[(0x0600 + (i * 0x10))/4] = 0; ++ pNv->PFB[(0x0604 + (i * 0x10))/4] = pNv->FbMapSize - 1; ++ } + } + + if(pNv->Architecture >= NV_ARCH_40) { +@@ -1160,6 +1172,12 @@ + pNv->PGRAPH[0x0090/4] = 0x00008000; + pNv->PGRAPH[0x0610/4] = 0x00be3c5f; + ++ j = pNv->REGS[0x1540/4] & 0xff; ++ if(j) { ++ for(i = 0; !(j & 1); j >>= 1, i++); ++ pNv->PGRAPH[0x5000/4] = i; ++ } ++ + if((pNv->Chipset & 0xfff0) == 0x0040) { + pNv->PGRAPH[0x09b0/4] = 0x83280fff; + pNv->PGRAPH[0x09b4/4] = 0x000000a0; +@@ -1176,6 +1194,7 @@ + pNv->PFB[0x033C/4] &= 0xffff7fff; + break; + case 0x00C0: ++ case 0x0120: + pNv->PGRAPH[0x0828/4] = 0x007596ff; + pNv->PGRAPH[0x082C/4] = 0x00000108; + break; +@@ -1200,6 +1219,7 @@ + pNv->PRAMDAC[0x0608/4] |= 0x00100000; + break; + case 0x0090: ++ case 0x0290: + pNv->PRAMDAC[0x0608/4] |= 0x00100000; + pNv->PGRAPH[0x0828/4] = 0x07830610; + pNv->PGRAPH[0x082C/4] = 0x0000016A; +@@ -1247,12 +1267,32 @@ + } + } + +- if((pNv->Chipset & 0xfff0) == 0x0090) { +- for(i = 0; i < 60; i++) +- pNv->PGRAPH[(0x0D00/4) + i] = pNv->PFB[(0x0600/4) + i]; +- } else { +- for(i = 0; i < 32; i++) ++ if((pNv->Architecture < NV_ARCH_40) || ++ ((pNv->Chipset & 0xfff0) == 0x0040)) ++ { ++ for(i = 0; i < 32; i++) { + pNv->PGRAPH[(0x0900/4) + i] = pNv->PFB[(0x0240/4) + i]; ++ pNv->PGRAPH[(0x6900/4) + i] = pNv->PFB[(0x0240/4) + i]; ++ } ++ } else { ++ if(((pNv->Chipset & 0xfff0) == 0x0090) || ++ ((pNv->Chipset & 0xfff0) == 0x01D0) || ++ ((pNv->Chipset & 0xfff0) == 0x0290)) ++ { ++ for(i = 0; i < 60; i++) { ++ pNv->PGRAPH[(0x0D00/4) + i] = pNv->PFB[(0x0600/4) + i]; ++ pNv->PGRAPH[(0x6900/4) + i] = pNv->PFB[(0x0600/4) + i]; ++ } ++ } else { ++ for(i = 0; i < 48; i++) { ++ pNv->PGRAPH[(0x0900/4) + i] = pNv->PFB[(0x0600/4) + i]; ++ if(((pNv->Chipset & 0xfff0) != 0x0160) && ++ ((pNv->Chipset & 0xfff0) != 0x0220)) ++ { ++ pNv->PGRAPH[(0x6900/4) + i] = pNv->PFB[(0x0600/4) + i]; ++ } ++ } ++ } + } + + if(pNv->Architecture >= NV_ARCH_40) { +@@ -1267,7 +1307,10 @@ + pNv->PGRAPH[0x0864/4] = pNv->FbMapSize - 1; + pNv->PGRAPH[0x0868/4] = pNv->FbMapSize - 1; + } else { +- if((pNv->Chipset & 0xfff0) == 0x0090) { ++ if(((pNv->Chipset & 0xfff0) == 0x0090) || ++ ((pNv->Chipset & 0xfff0) == 0x01D0) || ++ ((pNv->Chipset & 0xfff0) == 0x0290)) ++ { + pNv->PGRAPH[0x0DF0/4] = pNv->PFB[0x0200/4]; + pNv->PGRAPH[0x0DF4/4] = pNv->PFB[0x0204/4]; + } else { +Index: nv_setup.c +=================================================================== +RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/nv/nv_setup.c,v +retrieving revision 1.8 +retrieving revision 1.10 +diff -u -u -r1.8 -r1.10 +--- programs/Xserver/hw/xfree86/drivers/nv/nv_setup.c 5 Aug 2005 03:52:28 -0000 1.8 ++++ programs/Xserver/hw/xfree86/drivers/nv/nv_setup.c 29 Sep 2005 21:47:29 -0000 1.10 +@@ -317,7 +317,6 @@ + pNv->CrystalFreqKHz = 27000; + } + +- pNv->CursorStart = (pNv->RamAmountKBytes - 96) * 1024; + pNv->CURSOR = NULL; /* can't set this here */ + pNv->MinVClockFreqKHz = 12000; + pNv->MaxVClockFreqKHz = pNv->twoStagePLL ? 400000 : 350000; +@@ -448,6 +447,7 @@ + case 0x0144: + case 0x0146: + case 0x0148: ++ case 0x0098: + case 0x0099: + mobile = TRUE; + break; diff --git a/x11-servers/xorg-server-snap/files/patch-radeon_driver.c b/x11-servers/xorg-server-snap/files/patch-radeon_driver.c deleted file mode 100644 index f54541a29c2..00000000000 --- a/x11-servers/xorg-server-snap/files/patch-radeon_driver.c +++ /dev/null @@ -1,15 +0,0 @@ -Index: programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c -=================================================================== -RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c,v -retrieving revision 1.54 -diff -u -r1.54 radeon_driver.c ---- programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c 15 Jun 2005 23:40:50 -0000 1.54 -+++ programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c 22 Jun 2005 22:37:22 -0000 -@@ -2501,6 +2501,7 @@ - case PCI_CHIP_RV370_5464: - info->IsMobility = TRUE; - case PCI_CHIP_RV370_5B60: -+ case PCI_CHIP_RV370_5B62: - case PCI_CHIP_RV370_5B64: - case PCI_CHIP_RV370_5B65: - info->ChipFamily = CHIP_FAMILY_RV380; diff --git a/x11-servers/xorg-server-snap/files/patch-xkbout.c b/x11-servers/xorg-server-snap/files/patch-xkbout.c deleted file mode 100644 index 963e881d86f..00000000000 --- a/x11-servers/xorg-server-snap/files/patch-xkbout.c +++ /dev/null @@ -1,10 +0,0 @@ ---- lib/xkbfile/xkbout.c.orig Fri May 7 18:05:29 2004 -+++ lib/xkbfile/xkbout.c Fri May 7 18:05:29 2004 -@@ -54,7 +54,6 @@ - #include "XKBsrv.h" - - #include <X11/extensions/XKBgeom.h> --#include "extensions/XKBfile.h" - - #endif - diff --git a/x11-servers/xorg-server-snap/pkg-plist b/x11-servers/xorg-server-snap/pkg-plist index a279cd4e7f6..173425cb793 100644 --- a/x11-servers/xorg-server-snap/pkg-plist +++ b/x11-servers/xorg-server-snap/pkg-plist @@ -34,6 +34,10 @@ include/X11/pixmaps/computer.xpm include/X11/pixmaps/keyboard.xpm include/X11/pixmaps/monitor.xpm include/X11/pixmaps/mouse.xpm +include/X11/fonts/bdfint.h +include/X11/fonts/pcf.h +include/X11/misc.h +include/X11/os.h lib/X11/Cards lib/X11/Options lib/X11/app-defaults/XOrgCfg @@ -164,9 +168,8 @@ lib/modules/libcfb.so lib/modules/libcfb16.so lib/modules/libcfb24.so lib/modules/libcfb32.so -lib/modules/libcw.so -lib/modules/libdamage.so lib/modules/libddc.so +lib/modules/libexa.so lib/modules/libfb.so lib/modules/libi2c.so lib/modules/libint10.so |