xorg-server: Changes to 'debian-experimental'
GL/glx/glxdri.c | 6 ++
aclocal.m4 | 40 ++++++++++++++++--
configure | 76 ++++++++++++++++++++++++++++------
configure.ac | 10 ++--
debian/changelog | 6 ++
hw/xfree86/loader/loadmod.c | 2
hw/xfree86/modes/xf86Crtc.c | 86 +++++++++++++++++++++++++++++++++------
hw/xfree86/modes/xf86Crtc.h | 12 ++++-
hw/xfree86/modes/xf86EdidModes.c | 10 ++++
hw/xfree86/modes/xf86RandR12.c | 22 +++++++++
hw/xfree86/modes/xf86RandR12.h | 1
hw/xfree86/modes/xf86Rotate.c | 20 +++++++--
include/do-not-use-config.h.in | 12 +++++
randr/rrcrtc.c | 6 +-
randr/rrscreen.c | 13 ++++-
15 files changed, 272 insertions(+), 50 deletions(-)
New commits:
commit 91fa95f73eb7876f63683a79812ab7215368a3a1
Author: David Nusinow <dnusinow@debian.org>
Date: Thu Apr 19 22:40:23 2007 -0400
Autoreconf
diff --git a/aclocal.m4 b/aclocal.m4
index 6f9ce7a..78910ae 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -6585,7 +6585,7 @@ AC_DEFUN([XORG_MACROS_VERSION],[
XORG_MACROS_needed_major=`echo $XORG_MACROS_needed_version | sed 's/\..*$//'`
XORG_MACROS_needed_minor=`echo $XORG_MACROS_needed_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`]
AC_MSG_CHECKING([if xorg-macros used to generate configure is at least ${XORG_MACROS_needed_major}.${XORG_MACROS_needed_minor}])
- [XORG_MACROS_version=1.1.2
+ [XORG_MACROS_version=1.1.5
XORG_MACROS_major=`echo $XORG_MACROS_version | sed 's/\..*$//'`
XORG_MACROS_minor=`echo $XORG_MACROS_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`]
if test $XORG_MACROS_major -ne $XORG_MACROS_needed_major ; then
@@ -6989,7 +6989,8 @@ dnl
# --------------------
# Adds --with/without-release-string and changes the PACKAGE and
# PACKAGE_TARNAME to use "$PACKAGE{_TARNAME}-$RELEASE_VERSION". If
-# no option is given, PACKAGE and PACKAGE_TARNAME are unchanged.
+# no option is given, PACKAGE and PACKAGE_TARNAME are unchanged. Also
+# defines PACKAGE_VERSION_{MAJOR,MINOR,PATCHLEVEL} for modules to use.
AC_DEFUN([XORG_RELEASE_VERSION],[
AC_ARG_WITH(release-version,
@@ -7002,6 +7003,23 @@ AC_DEFUN([XORG_RELEASE_VERSION],[
PACKAGE_TARNAME="$PACKAGE_TARNAME-$RELEASE_VERSION"
AC_MSG_NOTICE([Building with package name set to $PACKAGE])
fi
+ AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MAJOR],
+ [`echo $PACKAGE_VERSION | cut -d . -f 1`],
+ [Major version of this package])
+ PVM=`echo $PACKAGE_VERSION | cut -d . -f 2`
+ if test "x$PVM" = "x"; then
+ PVM="0"
+ fi
+ AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MINOR],
+ [$PVM],
+ [Minor version of this package])
+ PVP=`echo $PACKAGE_VERSION | cut -d . -f 3`
+ if test "x$PVP" = "x"; then
+ PVP="0"
+ fi
+ AC_DEFINE_UNQUOTED([PACKAGE_VERSION_PATCHLEVEL],
+ [$PVP],
+ [Patch version of this package])
])
dnl $XdotOrg: lib/xtrans/xtrans.m4,v 1.6 2005/07/26 18:59:11 alanc Exp $
@@ -7064,8 +7082,9 @@ AC_DEFUN([XTRANS_TCP_FLAGS],[
# -------------------------
# Standard checks for which Xtrans transports to use by the Xorg packages
# that use Xtrans functions
-AC_DEFUN([XTRANS_CONNECTION_FLAGS],
-[AC_REQUIRE([AC_TYPE_SIGNAL])
+AC_DEFUN([XTRANS_CONNECTION_FLAGS],[
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_REQUIRE([AC_TYPE_SIGNAL])
AC_ARG_ENABLE(unix-transport,
AC_HELP_STRING([--enable-unix-transport],[Enable UNIX domain socket transport]),
[UNIXCONN=$enableval], [UNIXCONN=yes])
@@ -7083,6 +7102,19 @@ AC_DEFUN([XTRANS_CONNECTION_FLAGS],
AC_DEFINE(TCPCONN,1,[Support TCP socket connections])
XTRANS_TCP_FLAGS
fi
+ [case $host_os in
+ solaris*|sco*|sysv4*) localdef="yes" ;;
+ *) localdef="no" ;;
+ esac]
+ AC_ARG_ENABLE(local-transport,
+ AC_HELP_STRING([--enable-local-transport],[Enable os-specific local transport]),
+ [LOCALCONN=$enableval], [LOCALCONN=$localdef])
+ AC_MSG_CHECKING([if Xtrans should support os-specific local connections])
+ AC_MSG_RESULT($LOCALCONN)
+ if test "$LOCALCONN" = "yes"; then
+ AC_DEFINE(LOCALCONN,1,[Support os-specific local connections])
+ fi
+
]) # XTRANS_CONNECTION_FLAGS
diff --git a/configure b/configure
index 75eb3ba..2327151 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for xorg-server 1.2.99.905.
+# Generated by GNU Autoconf 2.61 for xorg-server 1.3.0.0.
#
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
#
@@ -728,8 +728,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='xorg-server'
PACKAGE_TARNAME='xorg-server'
-PACKAGE_VERSION='1.2.99.905'
-PACKAGE_STRING='xorg-server 1.2.99.905'
+PACKAGE_VERSION='1.3.0.0'
+PACKAGE_STRING='xorg-server 1.3.0.0'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
ac_unique_file="Makefile.am"
@@ -1805,7 +1805,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures xorg-server 1.2.99.905 to adapt to many kinds of systems.
+\`configure' configures xorg-server 1.3.0.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1875,7 +1875,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xorg-server 1.2.99.905:";;
+ short | recursive ) echo "Configuration of xorg-server 1.3.0.0:";;
esac
cat <<\_ACEOF
@@ -2187,7 +2187,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xorg-server configure 1.2.99.905
+xorg-server configure 1.3.0.0
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -2201,7 +2201,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xorg-server $as_me 1.2.99.905, which was
+It was created by xorg-server $as_me 1.3.0.0, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2872,7 +2872,7 @@ fi
# Define the identity of the package.
PACKAGE='xorg-server'
- VERSION='1.2.99.905'
+ VERSION='1.3.0.0'
cat >>confdefs.h <<_ACEOF
@@ -3047,10 +3047,10 @@ fi
DEFAULT_VENDOR_NAME="The X.Org Foundation"
DEFAULT_VENDOR_NAME_SHORT="X.Org"
DEFAULT_VERSION_MAJOR=1
-DEFAULT_VERSION_MINOR=2
-DEFAULT_VERSION_PATCH=99
-DEFAULT_VERSION_SNAP=905
-DEFAULT_RELEASE_DATE="05 April 2007"
+DEFAULT_VERSION_MINOR=3
+DEFAULT_VERSION_PATCH=0
+DEFAULT_VERSION_SNAP=0
+DEFAULT_RELEASE_DATE="19 April 2007"
DEFAULT_VENDOR_WEB="http://wiki.x.org"
ac_config_headers="$ac_config_headers include/do-not-use-config.h"
@@ -25602,6 +25602,8 @@ fi
# Transport selection macro from xtrans.m4
+
+
# Check whether --enable-unix-transport was given.
if test "${enable_unix_transport+set}" = set; then
enableval=$enable_unix_transport; UNIXCONN=$enableval
@@ -26026,6 +26028,29 @@ fi
fi
+ case $host_os in
+ solaris*|sco*|sysv4*) localdef="yes" ;;
+ *) localdef="no" ;;
+ esac
+ # Check whether --enable-local-transport was given.
+if test "${enable_local_transport+set}" = set; then
+ enableval=$enable_local_transport; LOCALCONN=$enableval
+else
+ LOCALCONN=$localdef
+fi
+
+ { echo "$as_me:$LINENO: checking if Xtrans should support os-specific local connections" >&5
+echo $ECHO_N "checking if Xtrans should support os-specific local connections... $ECHO_C" >&6; }
+ { echo "$as_me:$LINENO: result: $LOCALCONN" >&5
+echo "${ECHO_T}$LOCALCONN" >&6; }
+ if test "$LOCALCONN" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define LOCALCONN 1
+_ACEOF
+
+ fi
+
# Secure RPC detection macro from xtrans.m4
@@ -34015,6 +34040,29 @@ fi
echo "$as_me: Building with package name set to $PACKAGE" >&6;}
fi
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION_MAJOR `echo $PACKAGE_VERSION | cut -d . -f 1`
+_ACEOF
+
+ PVM=`echo $PACKAGE_VERSION | cut -d . -f 2`
+ if test "x$PVM" = "x"; then
+ PVM="0"
+ fi
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION_MINOR $PVM
+_ACEOF
+
+ PVP=`echo $PACKAGE_VERSION | cut -d . -f 3`
+ if test "x$PVP" = "x"; then
+ PVP="0"
+ fi
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION_PATCHLEVEL $PVP
+_ACEOF
+
+
ac_config_files="$ac_config_files Makefile GL/Makefile GL/glx/Makefile GL/mesa/Makefile GL/mesa/array_cache/Makefile GL/mesa/glapi/Makefile GL/mesa/main/Makefile GL/mesa/math/Makefile GL/mesa/shader/Makefile GL/mesa/shader/grammar/Makefile GL/mesa/shader/slang/Makefile GL/mesa/swrast/Makefile GL/mesa/swrast_setup/Makefile GL/mesa/tnl/Makefile GL/mesa/X/Makefile include/Makefile afb/Makefile composite/Makefile damageext/Makefile dbe/Makefile dix/Makefile doc/Makefile fb/Makefile record/Makefile XTrap/Makefile mfb/Makefile cfb/Makefile cfb32/Makefile mi/Makefile miext/Makefile miext/damage/Makefile miext/shadow/Makefile miext/cw/Makefile miext/rootless/Makefile os/Makefile randr/Makefile render/Makefile xkb/Makefile Xext/Makefile Xi/Makefile xfixes/Makefile exa/Makefile hw/Makefile hw/xfree86/Makefile hw/xfree86/common/Makefile hw/xfree86/common/xf86Build.h hw/xfree86/ddc/Makefile hw/xfree86/dixmods/Makefile hw/xfree86/dixmods/extmod/Makefile hw/xfree86/doc/Makefile hw/xfree86/doc/devel/Makefile hw/xfree86/doc/man/Makefile hw/xfree86/doc/sgml/Makefile hw/xfree86/dri/Makefile hw/xfree86/dummylib/Makefile hw/xfree86/exa/Makefile hw/xfree86/fbdevhw/Makefile hw/xfree86/i2c/Makefile hw/xfree86/int10/Makefile hw/xfree86/loader/Makefile hw/xfree86/modes/Makefile hw/xfree86/os-support/Makefile hw/xfree86/os-support/bsd/Makefile hw/xfree86/os-support/bus/Makefile hw/xfree86/os-support/hurd/Makefile hw/xfree86/os-support/misc/Makefile hw/xfree86/os-support/linux/Makefile hw/xfree86/os-support/lynxos/Makefile hw/xfree86/os-support/sco/Makefile hw/xfree86/os-support/solaris/Makefile hw/xfree86/os-support/sysv/Makefile hw/xfree86/os-support/usl/Makefile hw/xfree86/parser/Makefile hw/xfree86/rac/Makefile hw/xfree86/ramdac/Makefile hw/xfree86/scanpci/Makefile hw/xfree86/shadowfb/Makefile hw/xfree86/vbe/Makefile hw/xfree86/vgahw/Makefile hw/xfree86/x86emu/Makefile hw/xfree86/xaa/Makefile hw/xfree86/xf1bpp/Makefile hw/xfree86/xf4bpp/Makefile hw/xfree86/xf8_16bpp/Makefile hw/xfree86/xf8_32bpp/Makefile hw/xfree86/utils/Makefile hw/xfree86/utils/cvt/Makefile hw/xfree86/utils/gtf/Makefile hw/xfree86/utils/ioport/Makefile hw/xfree86/utils/kbd_mode/Makefile hw/xfree86/utils/pcitweak/Makefile hw/xfree86/utils/scanpci/Makefile hw/xfree86/utils/xorgcfg/Makefile hw/xfree86/utils/xorgconfig/Makefile hw/dmx/config/Makefile hw/dmx/doc/Makefile hw/dmx/examples/Makefile hw/dmx/input/Makefile hw/dmx/glxProxy/Makefile hw/dmx/Makefile hw/vfb/Makefile hw/xgl/Makefile hw/xgl/egl/Makefile hw/xgl/egl/module/Makefile hw/xgl/glx/Makefile hw/xgl/glx/module/Makefile hw/xgl/glxext/Makefile hw/xgl/glxext/module/Makefile hw/xnest/Makefile hw/xwin/Makefile hw/darwin/Makefile hw/kdrive/Makefile hw/kdrive/ati/Makefile hw/kdrive/chips/Makefile hw/kdrive/ephyr/Makefile hw/kdrive/epson/Makefile hw/kdrive/fake/Makefile hw/kdrive/fbdev/Makefile hw/kdrive/i810/Makefile hw/kdrive/linux/Makefile hw/kdrive/mach64/Makefile hw/kdrive/mga/Makefile hw/kdrive/neomagic/Makefile hw/kdrive/nvidia/Makefile hw/kdrive/pm2/Makefile hw/kdrive/r128/Makefile hw/kdrive/sdl/Makefile hw/kdrive/sis300/Makefile hw/kdrive/smi/Makefile hw/kdrive/src/Makefile hw/kdrive/vesa/Makefile hw/kdrive/via/Makefile hw/xprint/Makefile hw/xprint/doc/Makefile hw/xprint/pcl/Makefile hw/xprint/pcl-mono/Makefile hw/xprint/raster/Makefile hw/xprint/ps/Makefile hw/xprint/etc/Makefile hw/xprint/etc/Xsession.d/Makefile hw/xprint/etc/init.d/Makefile hw/xprint/etc/profile.d/Makefile hw/xprint/config/Makefile hw/xprint/config/C/print/attributes/Makefile hw/xprint/config/C/print/ddx-config/Makefile hw/xprint/config/C/print/ddx-config/raster/Makefile hw/xprint/config/C/print/models/CANONBJ10E-GS/Makefile hw/xprint/config/C/print/models/PSdefault/fonts/Makefile hw/xprint/config/C/print/models/PSdefault/Makefile hw/xprint/config/C/print/models/PSspooldir/Makefile hw/xprint/config/C/print/models/SPSPARC2/Makefile hw/xprint/config/C/print/models/SPSPARC2/fonts/Makefile hw/xprint/config/C/print/models/GSdefault/Makefile hw/xprint/config/C/print/models/HPLJ4050-PS/Makefile hw/xprint/config/C/print/models/HPLJ4050-PS/fonts/Makefile hw/xprint/config/C/print/models/Makefile hw/xprint/config/C/print/models/PS2PDFspooldir-GS/Makefile hw/xprint/config/C/print/models/CANONC3200-PS/Makefile hw/xprint/config/C/print/models/CANONC3200-PS/fonts/Makefile hw/xprint/config/C/print/models/HPLJ4family/fonts/Makefile hw/xprint/config/C/print/models/HPLJ4family/Makefile hw/xprint/config/C/print/models/HPDJ1600C/Makefile hw/xprint/config/C/print/models/HPDJ1600C/fonts/Makefile hw/xprint/config/C/print/Makefile hw/xprint/config/C/Makefile hw/xprint/config/en_US/print/attributes/Makefile hw/xprint/config/en_US/print/Makefile hw/xprint/config/en_US/Makefile xorg-server.pc"
@@ -35149,7 +35197,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xorg-server $as_me 1.2.99.905, which was
+This file was extended by xorg-server $as_me 1.3.0.0, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -35202,7 +35250,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-xorg-server config.status 1.2.99.905
+xorg-server config.status 1.3.0.0
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/include/do-not-use-config.h.in b/include/do-not-use-config.h.in
index 7e04d61..6640e11 100644
--- a/include/do-not-use-config.h.in
+++ b/include/do-not-use-config.h.in
@@ -315,6 +315,9 @@
/* Name of the period field in struct kbd_repeat */
#undef LNX_KBD_PERIOD_NAME
+/* Support os-specific local connections */
+#undef LOCALCONN
+
/* Support MIT Misc extension */
#undef MITMISC
@@ -366,6 +369,15 @@
/* Define to the version of this package. */
#undef PACKAGE_VERSION
+/* Major version of this package */
+#undef PACKAGE_VERSION_MAJOR
+
+/* Minor version of this package */
+#undef PACKAGE_VERSION_MINOR
+
+/* Patch version of this package */
+#undef PACKAGE_VERSION_PATCHLEVEL
+
/* Internal define for Xinerama */
#undef PANORAMIX
commit 1b4ad4bf54cca78b190964d1b2a2a1c3cbba60e1
Author: David Nusinow <dnusinow@debian.org>
Date: Thu Apr 19 22:32:02 2007 -0400
* New upstream release
diff --git a/debian/changelog b/debian/changelog
index e7268b4..af0e0bc 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xorg-server (2:1.3.0.0-1) experimental; urgency=low
+
+ * New upstream release
+
+ -- David Nusinow <dnusinow@debian.org> Thu, 19 Apr 2007 22:27:05 -0400
+
xorg-server (2:1.2.99.905-3) experimental; urgency=low
[ Julien Cristau ]
commit f9a0b936600cd2665a90e6ddcd5a6bfe7a88f6e9
Author: Keith Packard <keithp@neko.keithp.com>
Date: Thu Apr 19 19:09:43 2007 -0700
Update version to 1.3.0.0
diff --git a/configure.ac b/configure.ac
index 360419c..9e3c0a0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -25,7 +25,7 @@ dnl Process this file with autoconf to create configure.
AC_PREREQ(2.57)
dnl This is the not the Xorg version number, it's the server version number.
dnl Yes, that's weird.
-AC_INIT([xorg-server], 1.2.99.905, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+AC_INIT([xorg-server], 1.3.0.0, [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
@@ -38,10 +38,10 @@ dnl
DEFAULT_VENDOR_NAME="The X.Org Foundation"
DEFAULT_VENDOR_NAME_SHORT="X.Org"
DEFAULT_VERSION_MAJOR=1
-DEFAULT_VERSION_MINOR=2
-DEFAULT_VERSION_PATCH=99
-DEFAULT_VERSION_SNAP=905
-DEFAULT_RELEASE_DATE="05 April 2007"
+DEFAULT_VERSION_MINOR=3
+DEFAULT_VERSION_PATCH=0
+DEFAULT_VERSION_SNAP=0
+DEFAULT_RELEASE_DATE="19 April 2007"
DEFAULT_VENDOR_WEB="http://wiki.x.org"
dnl this gets generated by autoheader, and thus contains all the defines. we
commit 05e1c45ade9c558820685bfd2541617a2e8de816
Author: Keith Packard <keithp@neko.keithp.com>
Date: Thu Apr 19 17:39:51 2007 -0700
Disable SourceValidate in rotation to capture cursor.
SourceValidate is used exclusively by the software cursor code to pull the
cursor off of the screen before using the screen as a source operand. This
eliminates the software cursor from the frame buffer while painting the
rotated image though. Disabling this function by temporarily setting the
screen function pointer to NULL causes the cursor image to be captured.
diff --git a/hw/xfree86/modes/xf86Rotate.c b/hw/xfree86/modes/xf86Rotate.c
index 94f95a0..359501e 100644
--- a/hw/xfree86/modes/xf86Rotate.c
+++ b/hw/xfree86/modes/xf86Rotate.c
@@ -278,8 +278,18 @@ xf86RotateRedisplay(ScreenPtr pScreen)
region = DamageRegion(damage);
if (REGION_NOTEMPTY(pScreen, region))
{
- int c;
-
+ int c;
+ SourceValidateProcPtr SourceValidate;
+
+ /*
+ * SourceValidate is used by the software cursor code
+ * to pull the cursor off of the screen when reading
+ * bits from the frame buffer. Bypassing this function
+ * leaves the software cursor in place
+ */
+ SourceValidate = pScreen->SourceValidate;
+ pScreen->SourceValidate = NULL;
+
for (c = 0; c < xf86_config->num_crtc; c++)
{
xf86CrtcPtr crtc = xf86_config->crtc[c];
@@ -304,6 +314,7 @@ xf86RotateRedisplay(ScreenPtr pScreen)
REGION_UNINIT (pScreen, &crtc_damage);
}
}
+ pScreen->SourceValidate = SourceValidate;
DamageEmpty(damage);
}
}
commit 8b217dee3a6c46b13fc9571a4a9a95bc55686cdb
Author: Keith Packard <keithp@neko.keithp.com>
Date: Thu Apr 19 17:37:18 2007 -0700
Was accidentally disabling rotation updates in mode set.
Setting a mode on an unrotated CRTC was causing all of the rotation updates
to be disabled; the loop looking for active rotation wasn't actually looking
at each crtc, it was looking at the modified crtc many times.
diff --git a/hw/xfree86/modes/xf86Rotate.c b/hw/xfree86/modes/xf86Rotate.c
index e8fafd0..94f95a0 100644
--- a/hw/xfree86/modes/xf86Rotate.c
+++ b/hw/xfree86/modes/xf86Rotate.c
@@ -284,7 +284,7 @@ xf86RotateRedisplay(ScreenPtr pScreen)
{
xf86CrtcPtr crtc = xf86_config->crtc[c];
- if (crtc->rotation != RR_Rotate_0)
+ if (crtc->rotation != RR_Rotate_0 && crtc->enabled)
{
BoxRec box;
RegionRec crtc_damage;
@@ -338,7 +338,8 @@ xf86RotateDestroy (xf86CrtcPtr crtc)
}
for (c = 0; c < xf86_config->num_crtc; c++)
- if (crtc->rotatedPixmap || crtc->rotatedData)
+ if (xf86_config->crtc[c]->rotatedPixmap ||
+ xf86_config->crtc[c]->rotatedData)
return;
/*
commit a63704f14a1d97b9a00fef6fa290e74e51b9732b
Author: Erik Andrén <erik.andren@gmail.com>
Date: Tue Apr 17 21:34:47 2007 -0700
Syncmaster 226 monitor needs 60Hz refresh (#10545).
I've managed to solve my own bug (#10545) by applying the following
patch to the xserver.
Please apply.
<Conspiracy mode on>
This monitor is "Vista Certified". I wonder if this is a pure coincidence...
<Conspiracy mode off>
With kind regards
Erik Andrén
diff --git a/hw/xfree86/modes/xf86EdidModes.c b/hw/xfree86/modes/xf86EdidModes.c
index b6689bb..edcd636 100644
--- a/hw/xfree86/modes/xf86EdidModes.c
+++ b/hw/xfree86/modes/xf86EdidModes.c
@@ -86,6 +86,11 @@ static Bool quirk_prefer_large_60 (int scrnIndex, xf86MonPtr DDC)
if (memcmp (DDC->vendor.name, "ACR", 4) == 0 &&
DDC->vendor.prod_id == 44358)
return TRUE;
+
+ /* Samsung SyncMaster 226BW */
+ if (memcmp (DDC->vendor.name, "SAM", 4) == 0 &&
+ DDC->vendor.prod_id == 638)
+ return TRUE;
return FALSE;
}
commit a3d73ba2cb7e13a6d129cd88d6a7f7d756e2ced2
Author: Keith Packard <keithp@neko.keithp.com>
Date: Mon Apr 16 09:55:58 2007 -0700
Allow outputs to be explicitly enabled in config, overriding detect.
Option "Enable" "True" will force the server to enable an output at startup
time, even if the output is not connected. This also causes the default
modes to be added for this output, allowing even sync ranges to be used to
pick out standard modes.
diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index 6366222..b293639 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -427,15 +427,29 @@ xf86OutputSetMonitor (xf86OutputPtr output)
}
static Bool
-xf86OutputEnabled (xf86OutputPtr output)
+xf86OutputEnabled (xf86OutputPtr output)
{
- /* Check to see if this output was disabled in the config file */
- if (xf86ReturnOptValBool (output->options, OPTION_ENABLE, TRUE) == FALSE ||
- xf86ReturnOptValBool (output->options, OPTION_DISABLE, FALSE) == TRUE)
+ Bool enable, disable;
+
+ /* check to see if this output was enabled in the config file */
+ if (xf86GetOptValBool (output->options, OPTION_ENABLE, &enable) && enable)
+ {
+ xf86DrvMsg (output->scrn->scrnIndex, X_INFO,
+ "Output %s enabled by config file\n", output->name);
+ return TRUE;
+ }
+ /* or if this output was disabled in the config file */
+ if (xf86GetOptValBool (output->options, OPTION_DISABLE, &disable) && disable)
{
+ xf86DrvMsg (output->scrn->scrnIndex, X_INFO,
+ "Output %s disabled by config file\n", output->name);
return FALSE;
}
- return TRUE;
+ /* otherwise, enable if it is not disconnected */
+ enable = output->status != XF86OutputStatusDisconnected;
+ xf86DrvMsg (output->scrn->scrnIndex, X_INFO,
+ "Output %s %sconnected\n", output->name, enable ? "" : "dis");
+ return enable;
}
static Bool
@@ -1225,7 +1239,7 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, int maxX, int maxY)
*/
output->status = (*output->funcs->detect)(output);
- if (output->status == XF86OutputStatusDisconnected)
+ if (!xf86OutputEnabled (output))
{
xf86OutputSetEDID (output, NULL);
continue;
@@ -1527,8 +1541,7 @@ xf86InitialConfiguration (ScrnInfoPtr scrn, Bool canGrow)
xf86OutputPtr output = config->output[o];
modes[o] = NULL;
- enabled[o] = (xf86OutputEnabled (output) &&
- output->status != XF86OutputStatusDisconnected);
+ enabled[o] = xf86OutputEnabled (output);
}
/*
@@ -1573,8 +1586,20 @@ xf86InitialConfiguration (ScrnInfoPtr scrn, Bool canGrow)
{
xf86OutputPtr output = config->output[o];
- if (enabled[o] && !modes[o])
- modes[o] = xf86ClosestMode (output, target_mode, target_rotation, width, height);
+ if (enabled[o])
+ {
+ if (!modes[o])
+ modes[o] = xf86ClosestMode (output, target_mode,
+ target_rotation, width, height);
+ if (!modes[o])
+ xf86DrvMsg (scrn->scrnIndex, X_ERROR,
+ "Output %s enabled but has no modes\n",
+ output->name);
+ else
+ xf86DrvMsg (scrn->scrnIndex, X_INFO,
+ "Output %s using initial mode %s\n",
+ output->name, modes[o]->name);
+ }
}
/*
commit f4a8e54caf6b9431711383a39f55a18e7fd654f4
Author: Keith Packard <keithp@neko.keithp.com>
Date: Mon Apr 16 09:53:42 2007 -0700
Use default screen monitor for one of the outputs.
By default, use the screen monitor section for output 0, however, a driver
can change which output gets the screen monitor by calling
xf86OutputUseScreenMonitor.
diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index eba32e4..6366222 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -405,10 +405,25 @@ xf86OutputSetMonitor (xf86OutputPtr output)
xfree (option_name);
output->conf_monitor = xf86findMonitor (monitor,
xf86configptr->conf_monitor_lst);
+ /*
+ * Find the monitor section of the screen and use that
+ */
+ if (!output->conf_monitor && output->use_screen_monitor)
+ output->conf_monitor = xf86findMonitor (output->scrn->monitor->id,
+ xf86configptr->conf_monitor_lst);
if (output->conf_monitor)
+ {
+ xf86DrvMsg (output->scrn->scrnIndex, X_INFO,
+ "Output %s using monitor section %s\n",
+ output->name, output->conf_monitor->mon_identifier);
xf86ProcessOptions (output->scrn->scrnIndex,
output->conf_monitor->mon_option_lst,
output->options);
+ }
+ else
+ xf86DrvMsg (output->scrn->scrnIndex, X_INFO,
+ "Output %s has no monitor section\n",
+ output->name);
}
static Bool
@@ -454,7 +469,7 @@ xf86OutputInitialRotation (xf86OutputPtr output)
xf86OutputPtr
xf86OutputCreate (ScrnInfoPtr scrn,
- const xf86OutputFuncsRec *funcs,
+ const xf86OutputFuncsRec *funcs,
const char *name)
{
xf86OutputPtr output, *outputs;
@@ -477,6 +492,10 @@ xf86OutputCreate (ScrnInfoPtr scrn,
strcpy (output->name, name);
}
output->subpixel_order = SubPixelUnknown;
+ /*
+ * Use the old per-screen monitor section for the first output
+ */
+ output->use_screen_monitor = (xf86_config->num_output == 0);
#ifdef RANDR_12_INTERFACE
output->randr_output = NULL;
#endif
@@ -528,6 +547,16 @@ xf86OutputRename (xf86OutputPtr output, const char *name)
}
void
+xf86OutputUseScreenMonitor (xf86OutputPtr output, Bool use_screen_monitor)
+{
+ if (use_screen_monitor != output->use_screen_monitor)
+ {
+ output->use_screen_monitor = use_screen_monitor;
+ xf86OutputSetMonitor (output);
+ }
+}
+
+void
xf86OutputDestroy (xf86OutputPtr output)
{
ScrnInfoPtr scrn = output->scrn;
diff --git a/hw/xfree86/modes/xf86Crtc.h b/hw/xfree86/modes/xf86Crtc.h
index 42daf60..e64ce1e 100644
--- a/hw/xfree86/modes/xf86Crtc.h
+++ b/hw/xfree86/modes/xf86Crtc.h
@@ -479,6 +479,9 @@ struct _xf86Output {
/** driver private information */
void *driver_private;
+ /** Whether to use the old per-screen Monitor config section */
+ Bool use_screen_monitor;
+
#ifdef RANDR_12_INTERFACE
/**
* RandR 1.2 output structure.
@@ -611,9 +614,12 @@ xf86CrtcInUse (xf86CrtcPtr crtc);
* Output functions
*/
xf86OutputPtr
-xf86OutputCreate (ScrnInfoPtr scrn,
- const xf86OutputFuncsRec *funcs,
- const char *name);
+xf86OutputCreate (ScrnInfoPtr scrn,
+ const xf86OutputFuncsRec *funcs,
+ const char *name);
+
+void
+xf86OutputUseScreenMonitor (xf86OutputPtr output, Bool use_screen_monitor);
Bool
xf86OutputRename (xf86OutputPtr output, const char *name);
commit 00cfd1f765895b4d1b2234f3203727a8871b64b0
Author: Keith Packard <keithp@neko.keithp.com>
Date: Mon Apr 16 09:39:47 2007 -0700
typo in built-in module log message
diff --git a/hw/xfree86/loader/loadmod.c b/hw/xfree86/loader/loadmod.c
index c220d8a..6f8f871 100644
--- a/hw/xfree86/loader/loadmod.c
+++ b/hw/xfree86/loader/loadmod.c
@@ -869,7 +869,7 @@ doLoadModule(const char *module, const char *path, const char **subdirlist,
for (cim = compiled_in_modules; *cim; cim++)
if (!strcmp (module, *cim))
{
- xf86MsgVerb(X_INFO, 3, "Module alread ybuilt-in");
+ xf86MsgVerb(X_INFO, 0, "Module already built-in\n");
return (ModuleDescPtr) 1;
}
commit e2e7c47a528447e90cff6cf10d2ce457742ef48d
Author: Keith Packard <keithp@neko.keithp.com>
Date: Sun Apr 15 22:59:19 2007 -0300
RandR 1.2 spec says CRTC info contains screen-relative geometry.
Was reporting mode size instead of adjusting for rotation.
diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c
index 1a2a3a7..63da829 100644
--- a/randr/rrcrtc.c
+++ b/randr/rrcrtc.c
@@ -518,6 +518,7 @@ ProcRRGetCrtcInfo (ClientPtr client)
RROutput *outputs;
RROutput *possible;
int i, j, k, n;
+ int width, height;
REQUEST_SIZE_MATCH(xRRGetCrtcInfoReq);
crtc = LookupCrtc(client, stuff->crtc, SecurityReadAccess);
@@ -540,8 +541,9 @@ ProcRRGetCrtcInfo (ClientPtr client)
rep.timestamp = pScrPriv->lastSetTime.milliseconds;
rep.x = crtc->x;
rep.y = crtc->y;
- rep.width = mode ? mode->mode.width : 0;
- rep.height = mode ? mode->mode.height : 0;
+ RRCrtcGetScanoutSize (crtc, &width, &height);
+ rep.width = width;
+ rep.height = height;
rep.mode = mode ? mode->mode.id : 0;
rep.rotation = crtc->rotation;
rep.rotations = crtc->rotations;
commit 1328a288e9030a472a915077160f090d1afd4126
Author: Keith Packard <keithp@neko.keithp.com>
Date: Fri Apr 13 15:04:29 2007 -0300
Add quirk for Acer AL1706 monitor to force 60hz refresh.
This Acer monitor reports support for 75hz refresh via EDID, and yet when
that rate is delivered, the monitor does not sync and reports out of range.
Use the existing 60hz quirk for this monitor.
diff --git a/hw/xfree86/modes/xf86EdidModes.c b/hw/xfree86/modes/xf86EdidModes.c
index 77c0c87..b6689bb 100644
--- a/hw/xfree86/modes/xf86EdidModes.c
+++ b/hw/xfree86/modes/xf86EdidModes.c
@@ -82,6 +82,11 @@ static Bool quirk_prefer_large_60 (int scrnIndex, xf86MonPtr DDC)
DDC->vendor.prod_id == 1516)
return TRUE;
+ /* Acer AL1706 */
+ if (memcmp (DDC->vendor.name, "ACR", 4) == 0 &&
+ DDC->vendor.prod_id == 44358)
+ return TRUE;
+
return FALSE;
}
commit efcec7dbd3c2736c7b421d29c4d37e231aa681d2
Author: Keith Packard <keithp@neko.keithp.com>
Date: Mon Apr 9 14:29:46 2007 -0700
Rotate screen size as needed from RandR 1.1 change requests.
Screen size must reflect rotated mode size when setting rotated mode using
RandR 1.1 SetScreenConfig request.
diff --git a/randr/rrscreen.c b/randr/rrscreen.c
index 8aa26fa..f2981b0 100644
--- a/randr/rrscreen.c
+++ b/randr/rrscreen.c
@@ -741,6 +741,7 @@ ProcRRSetScreenConfig (ClientPtr client)
RRModePtr mode;
RR10DataPtr pData = NULL;
RRScreenSizePtr pSize;
+ int width, height;
UpdateCurrentTime ();
@@ -882,8 +883,14 @@ ProcRRSetScreenConfig (ClientPtr client)
* If the screen size is changing, adjust all of the other outputs
* to fit the new size, mirroring as much as possible
*/
- if (mode->mode.width != pScreen->width ||
- mode->mode.height != pScreen->height)
+ width = mode->mode.width;
+ height = mode->mode.height;
+ if (rotation & (RR_Rotate_90|RR_Rotate_270))
+ {
+ width = mode->mode.height;
+ height = mode->mode.width;
+ }
+ if (width != pScreen->width || height != pScreen->height)
{
int c;
@@ -897,7 +904,7 @@ ProcRRSetScreenConfig (ClientPtr client)
goto sendReply;
}
}
- if (!RRScreenSizeSet (pScreen, mode->mode.width, mode->mode.height,
+ if (!RRScreenSizeSet (pScreen, width, height,
pScreen->mmWidth, pScreen->mmHeight))
{
rep.status = RRSetConfigFailed;
commit dc6c4f6989f87149d8605604f4514f5cbf11de67
Author: Keith Packard <keithp@neko.keithp.com>
Date: Mon Apr 9 14:12:27 2007 -0700
Disable CRTC when SetSingleMode has no matching mode. Update RandR as well.
xf86SetSingleMode tries to resize all crtcs to match the selected mode. When
a CRTC has no matching mode, it now disables the CRTC (instead of crashing).
Also, poke the RandR extension when xf86SetSingleMode is done so that
appropriate events can be delivered, and so that future RandR queries return
correct information.
diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index 325fb64..eba32e4 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -233,8 +233,6 @@ xf86CrtcSetMode (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation,
int saved_x, saved_y;
Rotation saved_rotation;
- adjusted_mode = xf86DuplicateMode(mode);
-
crtc->enabled = xf86CrtcInUse (crtc);
if (!crtc->enabled)
@@ -243,6 +241,8 @@ xf86CrtcSetMode (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation,
return TRUE;
}
+ adjusted_mode = xf86DuplicateMode(mode);
+
didLock = crtc->funcs->lock (crtc);
saved_mode = crtc->mode;
@@ -1817,6 +1817,11 @@ xf86SetSingleMode (ScrnInfoPtr pScrn, DisplayModePtr desired, Rotation rotation)
else
crtc_mode = xf86OutputFindClosestMode (output, desired);
}
+ if (!crtc_mode)
+ {
+ crtc->enabled = FALSE;
+ continue;
+ }
if (!xf86CrtcSetMode (crtc, crtc_mode, rotation, 0, 0))
ok = FALSE;
else
@@ -1828,6 +1833,7 @@ xf86SetSingleMode (ScrnInfoPtr pScrn, DisplayModePtr desired, Rotation rotation)
}
}
xf86DisableUnusedFunctions(pScrn);
+ xf86RandR12TellChanged (pScrn->pScreen);
return ok;
}
diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c
index 6f52ee2..90de585 100644
--- a/hw/xfree86/modes/xf86RandR12.c
+++ b/hw/xfree86/modes/xf86RandR12.c
@@ -1048,6 +1048,28 @@ xf86RandR12CreateScreenResources12 (ScreenPtr pScreen)
return TRUE;
}
+/*
+ * Something happened within the screen configuration due
+ * to DGA, VidMode or hot key. Tell RandR
+ */
+
+void
+xf86RandR12TellChanged (ScreenPtr pScreen)
+{
+ ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn);
+ XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen);
+ int c;
+
+ if (!randrp)
+ return;
+ xf86RandR12SetInfo12 (pScreen);
+ for (c = 0; c < config->num_crtc; c++)
+ xf86RandR12CrtcNotify (config->crtc[c]->randr_crtc);
+
+ RRTellChanged (pScreen);
+}
+
static void
xf86RandR12PointerMoved (int scrnIndex, int x, int y)
{
diff --git a/hw/xfree86/modes/xf86RandR12.h b/hw/xfree86/modes/xf86RandR12.h
index 8a4668b..0d3346a 100644
--- a/hw/xfree86/modes/xf86RandR12.h
+++ b/hw/xfree86/modes/xf86RandR12.h
@@ -33,5 +33,6 @@ Bool xf86RandR12SetConfig(ScreenPtr pScreen, Rotation rotation, int rate,
Rotation xf86RandR12GetRotation(ScreenPtr pScreen);
void xf86RandR12GetOriginalVirtualSize(ScrnInfoPtr pScrn, int *x, int *y);
Bool xf86RandR12PreInit (ScrnInfoPtr pScrn);
+void xf86RandR12TellChanged (ScreenPtr pScreen);
#endif /* _XF86_RANDR_H_ */
commit 7cf3a0e0b954cc3bfdf158cdc1ca145d1620fe0c
Author: Keith Packard <keithp@neko.keithp.com>
Date: Mon Apr 9 12:30:31 2007 -0700
In AIGLX EnterVT processing, invoke driver EnterVT before resuming glx.
As the driver EnterVT function generally re-enables the hardware and
prepares it for rendering, it must be called before any gl functions are
called which could touch the hardware.
(cherry picked from commit f24391dbfd12a84253dfec794ee7884afd52e197)
diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c
index 36464a6..788b87d 100644
--- a/GL/glx/glxdri.c
+++ b/GL/glx/glxdri.c
@@ -815,12 +815,16 @@ static Bool
glxDRIEnterVT (int index, int flags)
{
__GLXDRIscreen *screen = (__GLXDRIscreen *) __glXgetActiveScreen(index);
+ Bool ret;
LogMessage(X_INFO, "AIGLX: Resuming AIGLX clients after VT switch\n");
+ if (!(*screen->enterVT) (index, flags))
+ return FALSE;
+
glxResumeClients();
- return (*screen->enterVT) (index, flags);
+ return TRUE;
}
static void
Reply to: