Rebased ref, commits from common ancestor: commit eda7dbff5a9f35fefe1e3dedacb82daadbf5945e Author: Jeremy Huddleston Sequoia <jeremyhu@apple.com> Date: Sat Feb 9 20:53:02 2013 -0800 XORG_TLS: Pick the first option that works (ie: prefer __thread) Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> diff --git a/m4/xorg-tls.m4 b/m4/xorg-tls.m4 index 237fdcd..e04f1ff 100644 --- a/m4/xorg-tls.m4 +++ b/m4/xorg-tls.m4 @@ -28,7 +28,7 @@ AC_DEFUN([XORG_TLS], [ ac_cv_tls=none keywords="__thread __declspec(thread)" for kw in $keywords ; do - AC_TRY_COMPILE([int $kw test;], [], ac_cv_tls=$kw) + AC_TRY_COMPILE([int $kw test;], [], ac_cv_tls=$kw ; break ;) done ]) AC_MSG_RESULT($ac_cv_tls) commit 5da82f872daf25939a8fa04f1561b01f0315a623 Author: Jeremy Huddleston Sequoia <jeremyhu@apple.com> Date: Sat Feb 9 20:40:10 2013 -0800 os: Ensure <dix-config.h> is included in strndup.c Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> diff --git a/os/strndup.c b/os/strndup.c index b604b9b..e0eddf1 100644 --- a/os/strndup.c +++ b/os/strndup.c @@ -27,6 +27,10 @@ * SUCH DAMAGE. */ +#ifdef HAVE_DIX_CONFIG_H +#include <dix-config.h> +#endif + #include <stddef.h> #include <stdlib.h> #include <string.h> commit 67eaf4b46f678bc904f47dfcab6655e170d843e0 Author: Jeremy Huddleston Sequoia <jeremyhu@apple.com> Date: Sat Feb 9 20:34:33 2013 -0800 XQuartz: Ensure <dix-config.h> is included in capabilities.c Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> diff --git a/hw/xquartz/GL/capabilities.c b/hw/xquartz/GL/capabilities.c index 4702595..5573629 100644 --- a/hw/xquartz/GL/capabilities.c +++ b/hw/xquartz/GL/capabilities.c @@ -20,6 +20,10 @@ * DEALINGS IN THE SOFTWARE. */ +#ifdef HAVE_DIX_CONFIG_H +#include <dix-config.h> +#endif + #include <stdio.h> #include <stdlib.h> #include <assert.h> commit 955d434f4d755d00a24ae4068b9957765989d672 Author: Keith Packard <keithp@keithp.com> Date: Wed Feb 13 21:39:37 2013 -0800 Update to version 1.3.99.902 (1.14 RC2) Signed-off-by: Keith Packard <keithp@keithp.com> diff --git a/configure.ac b/configure.ac index 435a38f..53335b1 100644 --- a/configure.ac +++ b/configure.ac @@ -26,9 +26,9 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ(2.60) -AC_INIT([xorg-server], 1.13.99.901, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) -RELEASE_DATE="2012-12-19" -RELEASE_NAME="Egg Nog" +AC_INIT([xorg-server], 1.13.99.902, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) +RELEASE_DATE="2013-02-12" +RELEASE_NAME="Ginger Beer" AC_CONFIG_SRCDIR([Makefile.am]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) commit 7115f6c709898a5124b67e19c61dc01334471358 Author: Aaron Plattner <aplattner@nvidia.com> Date: Wed Jan 23 16:58:47 2013 -0800 randr: unref the provider shared pixmap the appropriate number of times When an RandR shared pixmap is created in rrCreateSharedPixmap, it has a refcnt of 1. Then, PixmapShareToSlave bumps the refcnt to 2. However, there's no corresponding PixmapUnshareFromSlave where the refcnt can be decreased again, and there's no convenient common place where the refcnt can be decremented when the slave pixmap is destroyed. Fix this by just unreffing the pixmap twice in RRCrtcDetachScanoutPixmap. Signed-off-by: Aaron Plattner <aplattner@nvidia.com> Reviewed-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com> diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c index e82d050..6e2eca5 100644 --- a/randr/rrcrtc.c +++ b/randr/rrcrtc.c @@ -372,6 +372,11 @@ RRCrtcDetachScanoutPixmap(RRCrtcPtr crtc) ret = pScrPriv->rrCrtcSetScanoutPixmap(crtc, NULL); if (crtc->scanout_pixmap) { master->StopPixmapTracking(mscreenpix, crtc->scanout_pixmap); + /* + * Unref the pixmap twice: once for the original reference, and once + * for the reference implicitly added by PixmapShareToSlave. + */ + master->DestroyPixmap(crtc->scanout_pixmap->master_pixmap); master->DestroyPixmap(crtc->scanout_pixmap->master_pixmap); crtc->pScreen->DestroyPixmap(crtc->scanout_pixmap); } commit da92690107d90061205340d4cdc98b73b59db9b2 Author: Aaron Plattner <aplattner@nvidia.com> Date: Mon Feb 11 14:31:56 2013 -0800 xf86: use nt_list_for_each_entry_safe to walk InputHandlers in xf86Wakeup This is necessary when the input handler deletes itself from the list. Bug found by Maarten Lankhorst, this patch uses the list macros instead of open-coding the fix. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c index 377e936..d92174e 100644 --- a/hw/xfree86/common/xf86Events.c +++ b/hw/xfree86/common/xf86Events.c @@ -272,9 +272,9 @@ xf86Wakeup(pointer blockData, int err, pointer pReadmask) } if (err >= 0) { /* we don't want the handlers called if select() */ - IHPtr ih; /* returned with an error condition, do we? */ + IHPtr ih, ih_tmp; /* returned with an error condition, do we? */ - for (ih = InputHandlers; ih; ih = ih->next) { + nt_list_for_each_entry_safe(ih, ih_tmp, InputHandlers, next) { if (ih->enabled && ih->fd >= 0 && ih->ihproc && (FD_ISSET(ih->fd, ((fd_set *) pReadmask)) != 0)) { ih->ihproc(ih->fd, ih->data); commit d0a14877872b6a33172fb8c8f335792a28b9499b Author: Bryce Harrington <bryce@canonical.com> Date: Fri Feb 8 15:56:02 2013 -0800 xfree86: Man page shouldn't say Device is mandatory anymore man xorg.conf states that the 'Device' identifier is required in the 'Screen' section, yet current xserver defaults properly and boots up fine without it. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=20742 Signed-off-by: Bryce Harrington <bryce@canonical.com> Signed-off-by: Keith Packard <keithp@keithp.com> diff --git a/hw/xfree86/man/xorg.conf.man b/hw/xfree86/man/xorg.conf.man index 5d92bbe..9361ce9 100644 --- a/hw/xfree86/man/xorg.conf.man +++ b/hw/xfree86/man/xorg.conf.man @@ -1821,9 +1821,7 @@ sections have the following format: .PP The .B Identifier -and -.B Device -entries are mandatory. +entry is mandatory. All others are optional. .PP The @@ -1841,11 +1839,10 @@ The entries available for this section are: .TP 7 .BI "Device \*q" device\-id \*q -This mandatory entry specifies the +This entry specifies the .B Device -section to be used for this screen. -This is what ties a specific graphics card to a screen. -The +section to be used for this screen. When multiple graphics cards are +present, this is what ties a specific card to a screen. The .I device\-id must match the .B Identifier commit 5e91054aa070ea09b61325b7ec479d767b02730e Author: Bryce Harrington <bryce@canonical.com> Date: Fri Feb 8 15:56:01 2013 -0800 xfree86: Use fbdev/vesa driver on Oaktrail, Medfield, CDV rather than -intel Instead of defaulting to -intel for Oaktrail, Medfield, and CDV chips, default to -fbdev. For Poulsbo (only), attempt to use -psb if it's installed, and fallback to fbdev otherwise. All other Intel chips should use -intel. This fixed an issue where -intel would load on these chips and cause a boot failure. Newer -intel drivers avoid the boot hang, but it's still the wrong driver to load, so why take chances. The patch was originally created by Stefan Dirsch for OpenSUSE. We have included it in our stable release (Ubuntu "quantal" 12.10) since December. ref: https://bugzilla.novell.com/show_bug.cgi?id=772279 ref: https://bugs.launchpad.net/ubuntu/+bug/1069031 Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=60514 Signed-off-by: Bryce Harrington <bryce@canonical.com> Signed-off-by: Keith Packard <keithp@keithp.com> diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c index a2c18eb..258988a 100644 --- a/hw/xfree86/common/xf86pciBus.c +++ b/hw/xfree86/common/xf86pciBus.c @@ -1147,14 +1147,62 @@ xf86VideoPtrToDriverList(struct pci_device *dev, driverList[0] = "i128"; break; case 0x8086: - if ((dev->device_id == 0x00d1) || (dev->device_id == 0x7800)) { - driverList[0] = "i740"; - } - else if (dev->device_id == 0x8108) { - break; /* "hooray" for poulsbo */ - } - else { - driverList[0] = "intel"; + switch (dev->device_id) + { + /* Intel i740 */ + case 0x00d1: + case 0x7800: + driverList[0] = "i740"; + break; + /* GMA500/Poulsbo */ + case 0x8108: + case 0x8109: + /* Try psb driver on Poulsbo - if available */ + driverList[0] = "psb"; + driverList[1] = "psb_drv"; + break; + /* GMA600/Oaktrail */ + case 0x4100: + case 0x4101: + case 0x4102: + case 0x4103: + case 0x4104: + case 0x4105: + case 0x4106: + case 0x4107: + /* Atom E620/Oaktrail */ + case 0x4108: + /* Medfield */ + case 0x0130: + case 0x0131: + case 0x0132: + case 0x0133: + case 0x0134: + case 0x0135: + case 0x0136: + case 0x0137: + /* GMA 3600/CDV */ + case 0x0be0: + case 0x0be1: + case 0x0be2: + case 0x0be3: + case 0x0be4: + case 0x0be5: + case 0x0be6: + case 0x0be7: + case 0x0be8: + case 0x0be9: + case 0x0bea: + case 0x0beb: + case 0x0bec: + case 0x0bed: + case 0x0bee: + case 0x0bef: + /* Use fbdev/vesa driver on Oaktrail, Medfield, CDV */ + break; + default: + driverList[0] = "intel"; + break; } break; case 0x102b: