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