Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[xsrc/trunk]: xsrc/external/mit/xorg-server/dist initial import of xorg-serve...
details: https://anonhg.NetBSD.org/xsrc/rev/2ac3d4a1c5a3
branches: trunk
changeset: 10283:2ac3d4a1c5a3
user: mrg <mrg%NetBSD.org@localhost>
date: Sat Jun 01 06:51:50 2019 +0000
description:
initial import of xorg-server-1.20.5
diffstat:
external/mit/xorg-server/dist/ChangeLog | 165 +
external/mit/xorg-server/dist/config.guess | 120 +-
external/mit/xorg-server/dist/config.sub | 2635 ++++-----
external/mit/xorg-server/dist/dix/dixutils.c | 13 +
external/mit/xorg-server/dist/dix/main.c | 2 +
external/mit/xorg-server/dist/glamor/glamor.c | 3 +
external/mit/xorg-server/dist/hw/dmx/config/scanner.c | 254 +-
external/mit/xorg-server/dist/hw/xwayland/xwayland-glamor-eglstream.c | 8 +-
external/mit/xorg-server/dist/hw/xwayland/xwayland-glamor-gbm.c | 84 +-
external/mit/xorg-server/dist/hw/xwayland/xwayland-present.c | 5 +
external/mit/xorg-server/dist/hw/xwin/winprefslex.c | 264 +-
external/mit/xorg-server/dist/meson.build | 2 +-
external/mit/xorg-server/dist/present/present_scmd.c | 8 +-
13 files changed, 1897 insertions(+), 1666 deletions(-)
diffs (truncated from 5293 to 300 lines):
diff -r 075de1878c76 -r 2ac3d4a1c5a3 external/mit/xorg-server/dist/ChangeLog
--- a/external/mit/xorg-server/dist/ChangeLog Sat Jun 01 06:44:01 2019 +0000
+++ b/external/mit/xorg-server/dist/ChangeLog Sat Jun 01 06:51:50 2019 +0000
@@ -1,3 +1,168 @@
+commit fbbdd5613122f0f7d74471f240c28e4c3b796065
+Author: Adam Jackson <ajax%redhat.com@localhost>
+Date: Thu May 30 14:07:06 2019 -0400
+
+ xserver 1.20.5
+
+ Signed-off-by: Adam Jackson <ajax%redhat.com@localhost>
+
+commit 240868527bb11beb9a03ad0d3f24506f1b983729
+Author: Peter Hutterer <peter.hutterer%who-t.net@localhost>
+Date: Mon Mar 25 13:19:41 2019 +1000
+
+ dix: leave last.valuators alone on slave switch
+
+ Terms:
+ dev->last.valuator[] is the last value given to us by the driver
+ dev->valuator.axisVal[] is the last value sent to the client
+ dev->last.scroll[] is the abs value of the scroll axis as given by the driver,
+ used for button emulation calculation (and the remainder)
+
+ This function updates the device's last.valuator state based on the current
+ master axis state. This way, relative motion continues fluidly when switching
+ between devices. Before mouse 2 comes into effect, it's valuator state is
+ updated to wherever the pointer currently is so the relative event applies on
+ top of that.
+
+ This can only work for x/y axes, all other axes aren't guaranteed to have the
+ same meaning and/or may not be present:
+ - xtest device: no valuator 2
+ - mouse: valuator 2 is horizontal scroll axis
+ - tablet: valuator 2 is pressure
+
+ Scaling the current value from the pressure range into the range for
+ horizontal scrolling makes no sense. And it causes scroll jumps:
+
+ - scroll down, last.valuator == axisVal == 20
+ - xdotool click 1, the XTest device doesn't have that valuator
+ - scroll up
+ - updateSlaveDeviceCoords reset last.valuator to 0 (axisVal == 20)
+ - DeviceClassesChangedEvent includes value 20 for the axis
+ - event is processed, last.value changes from 0 to -1
+ - axisVal is updated to -1, causing a jump of -21
+
+ The same applies when we switch from tablet to mouse wheel if the pressure
+ value is 0 on proximity out (basically guaranteed). So let's drop this code
+ altogether and only leave the scaling for the relative x/y motion.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer%who-t.net@localhost>
+ (cherry picked from commit d7b1753d446ecde3ff58e3de39a634c3137473c8)
+
+commit 5bc29a67b8ab251048e0737eedcceb29bba25f5f
+Author: Olivier Fourdan <ofourdan%redhat.com@localhost>
+Date: Fri Mar 8 18:19:16 2019 +0100
+
+ glamor: pixmap FBO may not be allocated
+
+ If `_glamor_create_tex()` fails to allocate the FBO because of
+ GL_OUT_OF_MEMORY error, the `pixmap_priv->fbo` is NULL.
+
+ However, `glamor_get_pixmap_texture()` doesn't actually check whether
+ the `pixmap_priv->fbo` is NULL and will segfault with a NULL pointer
+ dereference trying to access the `pixmap_priv->fbo->tex`.
+
+ Signed-off-by: Olivier Fourdan <ofourdan%redhat.com@localhost>
+ Closes: https://gitlab.freedesktop.org/xorg/xserver/issues/647
+ (Cherry picked from commit 74479a99ecf18fdfdafd033b5efd8d785dd12c28)
+
+commit d0c7483b3edadf3ff9c12b4b024abd7b11b34ef1
+Author: Peter Hutterer <peter.hutterer%who-t.net@localhost>
+Date: Fri Apr 5 12:39:00 2019 +0200
+
+ xwayland: fix a realloc OOM error case
+
+ Found by coverity
+
+ Signed-off-by: Peter Hutterer <peter.hutterer%who-t.net@localhost>
+ (Cherry picked from commit 7c25439f0db4c20a4eab4ed44262eb396305f58a)
+
+commit bb74db6b38f7ff75ed52a900fa62a995e77aede4
+Author: Olivier Fourdan <ofourdan%redhat.com@localhost>
+Date: Fri Apr 5 12:33:28 2019 +0200
+
+ xwayland: search for a render node to use
+
+ wl_drm's protocol "device" event provides the path to the DRM device,
+ which may not be a render node, thus causing Xwayland to fall back to
+ DRM authentication which may fail if the user has switched to another
+ VT while Xwayland is starting.
+
+ Search for a render node corresponding to the given DRM device and try
+ to use it instead, as render nodes do not need DRM authentication and
+ Xwayland can make use of them if it can find one.
+
+ Closes: https://bugs.freedesktop.org/108038
+ Signed-off-by: Olivier Fourdan <ofourdan%redhat.com@localhost>
+ (Cherry picked from commit 361894497c6802b62c2da4a3dc7e98939fb24404)
+
+commit 87491ced98705a14be2bb5a3ce7e41cb5ffc11d0
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date: Mon Mar 25 12:32:48 2019 +0100
+
+ present/scmd: Check that the flip and screen pixmap pitches match
+
+ If they don't, flipping will result in corrupted display.
+
+ Test case:
+
+ * Run Xorg at 1920x1080 with no window manager
+ * glxgears -geometry 2048x1080
+ (Cherry picked from commit ef91da2757050652c724f6e674e8b1acf5d0cb31)
+
+commit 578156337176bf759dace40fb5a81919f65562f1
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date: Mon Mar 25 12:32:04 2019 +0100
+
+ xwayland/present: Destroy sync_callback in xwl_present_cleanup
+
+ xwl_present_cleanup frees the struct xwl_present_window memory,
+ so if there's a pending callback, we have to destroy it to prevent
+ use-after-free in xwl_present_sync_callback.
+
+ Should fix issue #645.
+
+ Reviewed-by: Olivier Fourdan <ofourdan%redhat.com@localhost>
+ (Cherry picked from commit 2e18eec6f03cc4d9d5bf62853c65d341b363f4b3)
+
+commit 8e2f5410cec5b052fb4da9d1b774a5858903dc35
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date: Mon Mar 25 12:29:23 2019 +0100
+
+ Revert "gitlab-ci: Only run docker-image stage if relevant source files change"
+
+ This reverts commit 8694395fcfd407190db74f31064960e484747377.
+
+ Some scenarios have come to light where this failed to ensure the docker
+ image exists:
+
+ * If the master branch of a forked repository is used for an MR which
+ doesn't modify .gitlab-ci.yml, the docker-image job may not run.
+ * If the docker-image job of the first pipeline in a forked repository
+ is cancelled or fails for any reason, and .gitlab-ci.yml isn't
+ modified for the next pipeline run.
+ (Cherry picked from commit 0ec9a13c2a207e98e2dd6b352552c0e069af0727)
+
+commit 34553f502650641aec4f20ab43180804f17032c6
+Author: Ray Strode <rstrode%redhat.com@localhost>
+Date: Fri Nov 16 14:36:55 2018 -0500
+
+ dix: ensure work queues are cleared on reset
+
+ If the server resets, most client workqueues are cleaned up as the
+ clients are killed.
+
+ The one exception is the server's client, which is exempt from
+ the killing spree.
+
+ If that client has a queued work procedure active, it won't get
+ cleared on reset.
+
+ This commit ensures it gets cleared too.
+
+ (cherry picked from commit 8738ce85df535bdfdfecfce1c0d64e209cc6e508)
+
+ Fixes: xorg/xserver#670
+
commit 94f036d412f4f426abe950b57b9ec99b78068c39
Author: Adam Jackson <ajax%redhat.com@localhost>
Date: Mon Feb 25 13:31:13 2019 -0500
diff -r 075de1878c76 -r 2ac3d4a1c5a3 external/mit/xorg-server/dist/config.guess
--- a/external/mit/xorg-server/dist/config.guess Sat Jun 01 06:44:01 2019 +0000
+++ b/external/mit/xorg-server/dist/config.guess Sat Jun 01 06:51:50 2019 +0000
@@ -2,7 +2,7 @@
# Attempt to guess a canonical system name.
# Copyright 1992-2018 Free Software Foundation, Inc.
-timestamp='2018-03-08'
+timestamp='2018-08-29'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -84,8 +84,6 @@
exit 1
fi
-trap 'exit 1' 1 2 15
-
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
# compiler to aid in system detection is discouraged as it requires
# temporary files to be created and, as you can see below, it is a
@@ -96,34 +94,39 @@
# Portable tmp directory creation inspired by the Autoconf team.
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,) echo "int x;" > "$dummy.c" ;
- for c in cc gcc c89 c99 ; do
- if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
- CC_FOR_BUILD="$c"; break ;
- fi ;
- done ;
- if test x"$CC_FOR_BUILD" = x ; then
- CC_FOR_BUILD=no_compiler_found ;
- fi
- ;;
- ,,*) CC_FOR_BUILD=$CC ;;
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
+tmp=
+# shellcheck disable=SC2172
+trap 'test -z "$tmp" || rm -fr "$tmp"' 1 2 13 15
+trap 'exitcode=$?; test -z "$tmp" || rm -fr "$tmp"; exit $exitcode' 0
+
+set_cc_for_build() {
+ : "${TMPDIR=/tmp}"
+ # shellcheck disable=SC2039
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
+ dummy=$tmp/dummy
+ case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
+ ,,) echo "int x;" > "$dummy.c"
+ for driver in cc gcc c89 c99 ; do
+ if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$driver"
+ break
+ fi
+ done
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+ esac
+}
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi%noc.rutgers.edu@localhost 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+if test -f /.attbin/uname ; then
PATH=$PATH:/.attbin ; export PATH
fi
@@ -138,7 +141,7 @@
# We could probably try harder.
LIBC=gnu
- eval "$set_cc_for_build"
+ set_cc_for_build
cat <<-EOF > "$dummy.c"
#include <features.h>
#if defined(__UCLIBC__)
@@ -199,7 +202,7 @@
os=netbsdelf
;;
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval "$set_cc_for_build"
+ set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ELF__
then
@@ -237,7 +240,7 @@
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "$machine-${os}${release}${abi}"
+ echo "$machine-${os}${release}${abi-}"
exit ;;
*:Bitrig:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
@@ -389,20 +392,15 @@
echo i386-pc-auroraux"$UNAME_RELEASE"
exit ;;
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
- eval "$set_cc_for_build"
- SUN_ARCH=i386
- # If there is a compiler, see if it is configured for 64-bit objects.
- # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
- # This test works for both compilers.
- if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
- if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- SUN_ARCH=x86_64
Home |
Main Index |
Thread Index |
Old Index