ChangeLog | 63 ++++++++++++++ configure.ac | 4 debian/changelog | 7 + debian/patches/fix-dga-removal.patch | 155 ----------------------------------- debian/patches/series | 1 hw/kdrive/ephyr/Xephyr.man.pre | 5 + hw/kdrive/ephyr/ephyrinit.c | 16 +++ hw/xfree86/common/xf86DGA.c | 29 +++--- hw/xfree86/modes/xf86Crtc.c | 4 hw/xfree86/modes/xf86Crtc.h | 8 + hw/xfree86/modes/xf86DiDGA.c | 15 ++- 11 files changed, 130 insertions(+), 177 deletions(-)
New commits: commit 36237f701ec2f7e0bfe0f1b1256da8b3c9f20899 Author: Julien Cristau <jcris...@debian.org> Date: Tue Oct 13 13:14:50 2009 +0200 Prepare changelog for upload diff --git a/debian/changelog b/debian/changelog index 399b8ed..0982e19 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,9 @@ -xorg-server (2:1.6.5-1) UNRELEASED; urgency=low +xorg-server (2:1.6.5-1) unstable; urgency=low * New upstream bugfix release. * Drop fix-dga-removal.patch, applied upstream. - -- Julien Cristau <jcris...@debian.org> Mon, 12 Oct 2009 16:10:03 +0200 + -- Julien Cristau <jcris...@debian.org> Tue, 13 Oct 2009 11:37:28 +0200 xorg-server (2:1.6.4-2) unstable; urgency=low commit 41e04d5c275dde0964d35c21d6fb0758603c36c5 Author: Julien Cristau <jcris...@debian.org> Date: Mon Oct 12 16:10:50 2009 +0200 New upstream bugfix release. Drop fix-dga-removal.patch, applied upstream. diff --git a/ChangeLog b/ChangeLog index 6977328..c313cee 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,66 @@ +commit 439c58849304907900e4dc7429aedb0192749c02 +Author: Keith Packard <kei...@keithp.com> +Date: Sun Oct 11 22:03:32 2009 -0700 + + Bump version to 1.6.5 + + Signed-off-by: Keith Packard <kei...@keithp.com> + +commit 7f2f71da5125ae01a8279a4886090a711100d671 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Mon Sep 28 14:18:45 2009 +1000 + + ephyr: if -parent is given, check for a trailing -screen. (#24144) + + If -parent is given, don't open up a new window if -screen is given as well. + The commandline option -screen allows to set the depth of the embedded + Xephry instance, even though width and height are autoscaled on -parent. + + This patch checks for a -screen parameter after -parent and - if one is + found - delays initializing the screen. The parent window id is stored + temporarily but re-set after a -screen argument. + The following command is thus valid: + + Xephyr -parent 1234 -screen 640x...@8 -screen 1024x768 + + It embeds the first 8-bit screen into window 1234 and opens up a new window + for the second screen. Multiple parent arguments are possible, the screens + are embedded in-order. + + X.Org Bug 24144 <http://bugs.freedesktop.org/show_bug.cgi?id=24144> + + Tested-by: Vic Lee + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + (cherry picked from commit 19be992d9dc542b61fa3f4fd32a09071c9e64880) + + Signed-off-by: Keith Packard <kei...@keithp.com> + +commit c07b2368a7dedb66455eea313c06859afa2e1a9c +Author: Keith Packard <kei...@keithp.com> +Date: Thu Oct 1 15:24:58 2009 -0700 + + Bump to version 1.6.4.901 + + Signed-off-by: Keith Packard <kei...@keithp.com> + +commit fc31f76b6ff735e4a4006c5454c4d496ee8b154a +Author: Keith Packard <kei...@keithp.com> +Date: Wed Sep 30 11:40:19 2009 -0700 + + Re-fix DGA removal. + + Removing DGA ended up breaking any drivers calling into the old + xf86DiDGAInit function as it tried to see if DGA was already enabled + and ended up crashing if the VT wasn't completely initialized. Oops. + + Also, if the driver initializes DGA itself, have the DiDGA + initialization overwrite that information as the DiDGA code will call + ReInit on mode detect. + + Signed-off-by: Keith Packard <kei...@keithp.com> + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + (cherry picked from commit db98b26ee145f70e732e2cf4a6ac3de77fdf4adc) + commit 8cf659f3a5914369a2137ac17b689e5a9fe9ca27 Author: Keith Packard <kei...@keithp.com> Date: Sun Sep 27 19:21:45 2009 -0700 diff --git a/debian/changelog b/debian/changelog index 63dbd01..399b8ed 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +xorg-server (2:1.6.5-1) UNRELEASED; urgency=low + + * New upstream bugfix release. + * Drop fix-dga-removal.patch, applied upstream. + + -- Julien Cristau <jcris...@debian.org> Mon, 12 Oct 2009 16:10:03 +0200 + xorg-server (2:1.6.4-2) unstable; urgency=low * Add fix-dga-removal.patch, closes: #548724. diff --git a/debian/patches/fix-dga-removal.patch b/debian/patches/fix-dga-removal.patch deleted file mode 100644 index 874c02a..0000000 --- a/debian/patches/fix-dga-removal.patch +++ /dev/null @@ -1,155 +0,0 @@ -From 894680ec0335d7bc2c744c53f6a28b40ab850b6c Mon Sep 17 00:00:00 2001 -From: Keith Packard <kei...@keithp.com> -Date: Mon, 28 Sep 2009 12:39:47 -0700 -Subject: [PATCH] Re-fix DGA removal. - -Removing DGA ended up breaking any drivers calling into the old -xf86DiDGAInit function as it tried to see if DGA was already enabled -and ended up crashing if the VT wasn't completely initialized. Oops. - -Also, if the driver initializes DGA itself, have the DiDGA -initialization overwrite that information as the DiDGA code will call -ReInit on mode detect. - -Signed-off-by: Keith Packard <kei...@keithp.com> ---- - hw/xfree86/common/xf86DGA.c | 29 ++++++++++++++++------------- - hw/xfree86/modes/xf86Crtc.c | 4 ++-- - hw/xfree86/modes/xf86Crtc.h | 8 ++++++++ - hw/xfree86/modes/xf86DiDGA.c | 15 ++++++++++++--- - 4 files changed, 38 insertions(+), 18 deletions(-) - -diff --git a/hw/xfree86/common/xf86DGA.c b/hw/xfree86/common/xf86DGA.c -index 42b7c58..804fd37 100644 ---- a/hw/xfree86/common/xf86DGA.c -+++ b/hw/xfree86/common/xf86DGA.c -@@ -120,8 +120,22 @@ DGAInit( - - DGAScreenKey = &DGAScreenKeyIndex; - -- if(!(pScreenPriv = (DGAScreenPtr)xalloc(sizeof(DGAScreenRec)))) -- return FALSE; -+ pScreenPriv = DGA_GET_SCREEN_PRIV(pScreen); -+ -+ if (!pScreenPriv) -+ { -+ if(!(pScreenPriv = (DGAScreenPtr)xalloc(sizeof(DGAScreenRec)))) -+ return FALSE; -+ dixSetPrivate(&pScreen->devPrivates, DGAScreenKey, pScreenPriv); -+ pScreenPriv->CloseScreen = pScreen->CloseScreen; -+ pScreen->CloseScreen = DGACloseScreen; -+ pScreenPriv->DestroyColormap = pScreen->DestroyColormap; -+ pScreen->DestroyColormap = DGADestroyColormap; -+ pScreenPriv->InstallColormap = pScreen->InstallColormap; -+ pScreen->InstallColormap = DGAInstallColormap; -+ pScreenPriv->UninstallColormap = pScreen->UninstallColormap; -+ pScreen->UninstallColormap = DGAUninstallColormap; -+ } - - pScreenPriv->pScrn = pScrn; - pScreenPriv->numModes = num; -@@ -146,17 +160,6 @@ DGAInit( - modes[i].flags &= ~DGA_PIXMAP_AVAILABLE; - #endif - -- dixSetPrivate(&pScreen->devPrivates, DGAScreenKey, pScreenPriv); -- pScreenPriv->CloseScreen = pScreen->CloseScreen; -- pScreen->CloseScreen = DGACloseScreen; -- pScreenPriv->DestroyColormap = pScreen->DestroyColormap; -- pScreen->DestroyColormap = DGADestroyColormap; -- pScreenPriv->InstallColormap = pScreen->InstallColormap; -- pScreen->InstallColormap = DGAInstallColormap; -- pScreenPriv->UninstallColormap = pScreen->UninstallColormap; -- pScreen->UninstallColormap = DGAUninstallColormap; -- -- - return TRUE; - } - -diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c -index c1e31e0..506fbb9 100644 ---- a/hw/xfree86/modes/xf86Crtc.c -+++ b/hw/xfree86/modes/xf86Crtc.c -@@ -806,7 +806,7 @@ xf86CrtcScreenInit (ScreenPtr screen) - screen->CloseScreen = xf86CrtcCloseScreen; - - #ifdef XFreeXDGA -- xf86DiDGAInit(screen, 0); -+ _xf86_di_dga_init_internal(screen); - #endif - #ifdef RANDR_13_INTERFACE - return RANDR_INTERFACE_VERSION; -@@ -1928,7 +1928,7 @@ xf86SetScrnInfoModes (ScrnInfoPtr scrn) - scrn->currentMode = scrn->modes; - #ifdef XFreeXDGA - if (scrn->pScreen) -- xf86DiDGAReInit(scrn->pScreen); -+ _xf86_di_dga_reinit_internal(scrn->pScreen); - #endif - } - -diff --git a/hw/xfree86/modes/xf86Crtc.h b/hw/xfree86/modes/xf86Crtc.h -index 69afaa5..9baa956 100644 ---- a/hw/xfree86/modes/xf86Crtc.h -+++ b/hw/xfree86/modes/xf86Crtc.h -@@ -833,6 +833,10 @@ xf86OutputGetEDID (xf86OutputPtr output, I2CBusPtr pDDCBus); - extern _X_EXPORT Bool - xf86DiDGAInit (ScreenPtr pScreen, unsigned long dga_address); - -+/* this is the real function, used only internally */ -+_X_INTERNAL Bool -+_xf86_di_dga_init_internal (ScreenPtr pScreen); -+ - /** - * Re-initialize dga for this screen (as when the set of modes changes) - */ -@@ -841,6 +845,10 @@ extern _X_EXPORT Bool - xf86DiDGAReInit (ScreenPtr pScreen); - #endif - -+/* This is the real function, used only internally */ -+_X_INTERNAL Bool -+_xf86_di_dga_reinit_internal (ScreenPtr pScreen); -+ - /* - * Set the subpixel order reported for the screen using - * the information from the outputs -diff --git a/hw/xfree86/modes/xf86DiDGA.c b/hw/xfree86/modes/xf86DiDGA.c -index 0f7b834..60fbdbf 100644 ---- a/hw/xfree86/modes/xf86DiDGA.c -+++ b/hw/xfree86/modes/xf86DiDGA.c -@@ -175,6 +175,12 @@ static DGAFunctionRec xf86_dga_funcs = { - Bool - xf86DiDGAReInit (ScreenPtr pScreen) - { -+ return TRUE; -+} -+ -+Bool -+_xf86_di_dga_reinit_internal (ScreenPtr pScreen) -+{ - ScrnInfoPtr scrn = xf86Screens[pScreen->myNum]; - xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn); - -@@ -190,12 +196,15 @@ xf86DiDGAReInit (ScreenPtr pScreen) - Bool - xf86DiDGAInit (ScreenPtr pScreen, unsigned long dga_address) - { -+ return TRUE; -+} -+ -+Bool -+_xf86_di_dga_init_internal (ScreenPtr pScreen) -+{ - ScrnInfoPtr scrn = xf86Screens[pScreen->myNum]; - xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn); - -- if (DGAAvailable(pScreen->myNum)) -- return TRUE; -- - xf86_config->dga_flags = 0; - xf86_config->dga_address = 0; - xf86_config->dga_width = 0; --- -1.6.4.3 - diff --git a/debian/patches/series b/debian/patches/series index 0a3f303..7cb847a 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -8,4 +8,3 @@ Add-libgcrypt-as-an-option-for-sha1.diff fedora-bad-fbdev-thats-mine.patch fedora-pci-primary.diff fedora-vboxvideo.diff -fix-dga-removal.patch commit 439c58849304907900e4dc7429aedb0192749c02 Author: Keith Packard <kei...@keithp.com> Date: Sun Oct 11 22:03:32 2009 -0700 Bump version to 1.6.5 Signed-off-by: Keith Packard <kei...@keithp.com> diff --git a/configure.ac b/configure.ac index e51a18b..df3089f 100644 --- a/configure.ac +++ b/configure.ac @@ -26,12 +26,12 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ(2.57) -AC_INIT([xorg-server], 1.6.4.901, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) +AC_INIT([xorg-server], 1.6.5, [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 -RELEASE_DATE="2009-10-1" +RELEASE_DATE="2009-10-11" dnl this gets generated by autoheader, and thus contains all the defines. we dnl don't ever actually use it, internally. commit 7f2f71da5125ae01a8279a4886090a711100d671 Author: Peter Hutterer <peter.hutte...@who-t.net> Date: Mon Sep 28 14:18:45 2009 +1000 ephyr: if -parent is given, check for a trailing -screen. (#24144) If -parent is given, don't open up a new window if -screen is given as well. The commandline option -screen allows to set the depth of the embedded Xephry instance, even though width and height are autoscaled on -parent. This patch checks for a -screen parameter after -parent and - if one is found - delays initializing the screen. The parent window id is stored temporarily but re-set after a -screen argument. The following command is thus valid: Xephyr -parent 1234 -screen 640x...@8 -screen 1024x768 It embeds the first 8-bit screen into window 1234 and opens up a new window for the second screen. Multiple parent arguments are possible, the screens are embedded in-order. X.Org Bug 24144 <http://bugs.freedesktop.org/show_bug.cgi?id=24144> Tested-by: Vic Lee Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> (cherry picked from commit 19be992d9dc542b61fa3f4fd32a09071c9e64880) Signed-off-by: Keith Packard <kei...@keithp.com> diff --git a/hw/kdrive/ephyr/Xephyr.man.pre b/hw/kdrive/ephyr/Xephyr.man.pre index 7f0e811..34a2971 100644 --- a/hw/kdrive/ephyr/Xephyr.man.pre +++ b/hw/kdrive/ephyr/Xephyr.man.pre @@ -46,6 +46,11 @@ sets the screen size. .BI -parent " id" uses exiting window .I id . +If a +.BI -screen +argument follows a +.BI -parent +argument, this screen is embedded into the given window. .TP 8 .B -host-cursor set 'cursor acceleration': diff --git a/hw/kdrive/ephyr/ephyrinit.c b/hw/kdrive/ephyr/ephyrinit.c index 1399d7a..d20f9b6 100644 --- a/hw/kdrive/ephyr/ephyrinit.c +++ b/hw/kdrive/ephyr/ephyrinit.c @@ -147,6 +147,7 @@ processScreenArg (char *screen_size, char *parent_id) int ddxProcessArgument (int argc, char **argv, int i) { + static char* parent = NULL; EPHYR_DBG("mark argv[%d]='%s'", i, argv[i] ); if (i == 1) @@ -158,6 +159,18 @@ ddxProcessArgument (int argc, char **argv, int i) { if(i+1 < argc) { + int j; + /* If parent is specified and a screen argument follows, don't do + * anything, let the -screen handling init the rest */ + for (j = i; j < argc; j++) + { + if (!strcmp(argv[j], "-screen")) + { + parent = argv[i + 1]; + return 2; + } + } + processScreenArg ("100x100", argv[i+1]); return 2; } @@ -169,7 +182,8 @@ ddxProcessArgument (int argc, char **argv, int i) { if ((i+1) < argc) { - processScreenArg (argv[i+1], NULL); + processScreenArg (argv[i+1], parent); + parent = NULL; return 2; } commit c07b2368a7dedb66455eea313c06859afa2e1a9c Author: Keith Packard <kei...@keithp.com> Date: Thu Oct 1 15:24:58 2009 -0700 Bump to version 1.6.4.901 Signed-off-by: Keith Packard <kei...@keithp.com> diff --git a/configure.ac b/configure.ac index 3c19b35..e51a18b 100644 --- a/configure.ac +++ b/configure.ac @@ -26,12 +26,12 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ(2.57) -AC_INIT([xorg-server], 1.6.4, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) +AC_INIT([xorg-server], 1.6.4.901, [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 -RELEASE_DATE="2009-9-27" +RELEASE_DATE="2009-10-1" dnl this gets generated by autoheader, and thus contains all the defines. we dnl don't ever actually use it, internally. commit fc31f76b6ff735e4a4006c5454c4d496ee8b154a Author: Keith Packard <kei...@keithp.com> Date: Wed Sep 30 11:40:19 2009 -0700 Re-fix DGA removal. Removing DGA ended up breaking any drivers calling into the old xf86DiDGAInit function as it tried to see if DGA was already enabled and ended up crashing if the VT wasn't completely initialized. Oops. Also, if the driver initializes DGA itself, have the DiDGA initialization overwrite that information as the DiDGA code will call ReInit on mode detect. Signed-off-by: Keith Packard <kei...@keithp.com> Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> (cherry picked from commit db98b26ee145f70e732e2cf4a6ac3de77fdf4adc) diff --git a/hw/xfree86/common/xf86DGA.c b/hw/xfree86/common/xf86DGA.c index a06f285..3f7deba 100644 --- a/hw/xfree86/common/xf86DGA.c +++ b/hw/xfree86/common/xf86DGA.c @@ -120,8 +120,22 @@ DGAInit( DGAScreenKey = &DGAScreenKeyIndex; - if(!(pScreenPriv = (DGAScreenPtr)xalloc(sizeof(DGAScreenRec)))) - return FALSE; + pScreenPriv = DGA_GET_SCREEN_PRIV(pScreen); + + if (!pScreenPriv) + { + if(!(pScreenPriv = (DGAScreenPtr)xalloc(sizeof(DGAScreenRec)))) + return FALSE; + dixSetPrivate(&pScreen->devPrivates, DGAScreenKey, pScreenPriv); + pScreenPriv->CloseScreen = pScreen->CloseScreen; + pScreen->CloseScreen = DGACloseScreen; + pScreenPriv->DestroyColormap = pScreen->DestroyColormap; + pScreen->DestroyColormap = DGADestroyColormap; + pScreenPriv->InstallColormap = pScreen->InstallColormap; + pScreen->InstallColormap = DGAInstallColormap; + pScreenPriv->UninstallColormap = pScreen->UninstallColormap; + pScreen->UninstallColormap = DGAUninstallColormap; + } pScreenPriv->pScrn = pScrn; pScreenPriv->numModes = num; @@ -146,17 +160,6 @@ DGAInit( modes[i].flags &= ~DGA_PIXMAP_AVAILABLE; #endif - dixSetPrivate(&pScreen->devPrivates, DGAScreenKey, pScreenPriv); - pScreenPriv->CloseScreen = pScreen->CloseScreen; - pScreen->CloseScreen = DGACloseScreen; - pScreenPriv->DestroyColormap = pScreen->DestroyColormap; - pScreen->DestroyColormap = DGADestroyColormap; - pScreenPriv->InstallColormap = pScreen->InstallColormap; - pScreen->InstallColormap = DGAInstallColormap; - pScreenPriv->UninstallColormap = pScreen->UninstallColormap; - pScreen->UninstallColormap = DGAUninstallColormap; - - return TRUE; } diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c index 899cea5..2627029 100644 --- a/hw/xfree86/modes/xf86Crtc.c +++ b/hw/xfree86/modes/xf86Crtc.c @@ -770,7 +770,7 @@ xf86CrtcScreenInit (ScreenPtr screen) screen->CloseScreen = xf86CrtcCloseScreen; #ifdef XFreeXDGA - xf86DiDGAInit(screen, 0); + _xf86_di_dga_init_internal(screen); #endif #ifdef RANDR_13_INTERFACE return RANDR_INTERFACE_VERSION; @@ -1887,7 +1887,7 @@ xf86SetScrnInfoModes (ScrnInfoPtr scrn) scrn->currentMode = scrn->modes; #ifdef XFreeXDGA if (scrn->pScreen) - xf86DiDGAReInit(scrn->pScreen); + _xf86_di_dga_reinit_internal(scrn->pScreen); #endif } diff --git a/hw/xfree86/modes/xf86Crtc.h b/hw/xfree86/modes/xf86Crtc.h index 0a596bc..4fe4150 100644 --- a/hw/xfree86/modes/xf86Crtc.h +++ b/hw/xfree86/modes/xf86Crtc.h @@ -807,6 +807,10 @@ xf86OutputGetEDID (xf86OutputPtr output, I2CBusPtr pDDCBus); Bool xf86DiDGAInit (ScreenPtr pScreen, unsigned long dga_address); +/* this is the real function, used only internally */ +_X_INTERNAL Bool +_xf86_di_dga_init_internal (ScreenPtr pScreen); + /** * Re-initialize dga for this screen (as when the set of modes changes) */ @@ -814,6 +818,10 @@ xf86DiDGAInit (ScreenPtr pScreen, unsigned long dga_address); Bool xf86DiDGAReInit (ScreenPtr pScreen); +/* This is the real function, used only internally */ +_X_INTERNAL Bool +_xf86_di_dga_reinit_internal (ScreenPtr pScreen); + /* * Set the subpixel order reported for the screen using * the information from the outputs diff --git a/hw/xfree86/modes/xf86DiDGA.c b/hw/xfree86/modes/xf86DiDGA.c index 3992c09..bc59535 100644 --- a/hw/xfree86/modes/xf86DiDGA.c +++ b/hw/xfree86/modes/xf86DiDGA.c @@ -175,6 +175,12 @@ static DGAFunctionRec xf86_dga_funcs = { _X_EXPORT Bool xf86DiDGAReInit (ScreenPtr pScreen) { + return TRUE; +} + +Bool +_xf86_di_dga_reinit_internal (ScreenPtr pScreen) +{ ScrnInfoPtr scrn = xf86Screens[pScreen->myNum]; xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn); @@ -190,12 +196,15 @@ xf86DiDGAReInit (ScreenPtr pScreen) _X_EXPORT Bool xf86DiDGAInit (ScreenPtr pScreen, unsigned long dga_address) { + return TRUE; +} + +Bool +_xf86_di_dga_init_internal (ScreenPtr pScreen) +{ ScrnInfoPtr scrn = xf86Screens[pScreen->myNum]; xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn); - if (DGAAvailable(pScreen->myNum)) - return TRUE; - xf86_config->dga_flags = 0; xf86_config->dga_address = 0; xf86_config->dga_width = 0; -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org