"Fossies" - the Fresh Open Source Software Archive

Member "xorg-server-1.20.5/ChangeLog" (30 May 2019, 7158522 Bytes) of package /linux/misc/xorg-server-1.20.5.tar.bz2:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 commit fbbdd5613122f0f7d74471f240c28e4c3b796065
    2 Author: Adam Jackson <ajax@redhat.com>
    3 Date:   Thu May 30 14:07:06 2019 -0400
    4 
    5     xserver 1.20.5
    6     
    7     Signed-off-by: Adam Jackson <ajax@redhat.com>
    8 
    9 commit 240868527bb11beb9a03ad0d3f24506f1b983729
   10 Author: Peter Hutterer <peter.hutterer@who-t.net>
   11 Date:   Mon Mar 25 13:19:41 2019 +1000
   12 
   13     dix: leave last.valuators alone on slave switch
   14     
   15     Terms:
   16     dev->last.valuator[] is the last value given to us by the driver
   17     dev->valuator.axisVal[] is the last value sent to the client
   18     dev->last.scroll[] is the abs value of the scroll axis as given by the driver,
   19             used for button emulation calculation (and the remainder)
   20     
   21     This function updates the device's last.valuator state based on the current
   22     master axis state. This way, relative motion continues fluidly when switching
   23     between devices. Before mouse 2 comes into effect, it's valuator state is
   24     updated to wherever the pointer currently is so the relative event applies on
   25     top of that.
   26     
   27     This can only work for x/y axes, all other axes aren't guaranteed to have the
   28     same meaning and/or may not be present:
   29     - xtest device: no valuator 2
   30     - mouse: valuator 2 is horizontal scroll axis
   31     - tablet: valuator 2 is pressure
   32     
   33     Scaling the current value from the pressure range into the range for
   34     horizontal scrolling makes no sense. And it causes scroll jumps:
   35     
   36     - scroll down, last.valuator == axisVal == 20
   37     - xdotool click 1, the XTest device doesn't have that valuator
   38     - scroll up
   39       - updateSlaveDeviceCoords reset last.valuator to 0 (axisVal == 20)
   40       - DeviceClassesChangedEvent includes value 20 for the axis
   41       - event is processed, last.value changes from 0 to -1
   42       - axisVal is updated to -1, causing a jump of -21
   43     
   44     The same applies when we switch from tablet to mouse wheel if the pressure
   45     value is 0 on proximity out (basically guaranteed). So let's drop this code
   46     altogether and only leave the scaling for the relative x/y motion.
   47     
   48     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
   49     (cherry picked from commit d7b1753d446ecde3ff58e3de39a634c3137473c8)
   50 
   51 commit 5bc29a67b8ab251048e0737eedcceb29bba25f5f
   52 Author: Olivier Fourdan <ofourdan@redhat.com>
   53 Date:   Fri Mar 8 18:19:16 2019 +0100
   54 
   55     glamor: pixmap FBO may not be allocated
   56     
   57     If `_glamor_create_tex()` fails to allocate the FBO because of
   58     GL_OUT_OF_MEMORY error, the `pixmap_priv->fbo` is NULL.
   59     
   60     However, `glamor_get_pixmap_texture()` doesn't actually check whether
   61     the `pixmap_priv->fbo` is NULL and will segfault with a NULL pointer
   62     dereference trying to access the `pixmap_priv->fbo->tex`.
   63     
   64     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
   65     Closes: https://gitlab.freedesktop.org/xorg/xserver/issues/647
   66     (Cherry picked from commit 74479a99ecf18fdfdafd033b5efd8d785dd12c28)
   67 
   68 commit d0c7483b3edadf3ff9c12b4b024abd7b11b34ef1
   69 Author: Peter Hutterer <peter.hutterer@who-t.net>
   70 Date:   Fri Apr 5 12:39:00 2019 +0200
   71 
   72     xwayland: fix a realloc OOM error case
   73     
   74     Found by coverity
   75     
   76     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
   77     (Cherry picked from commit 7c25439f0db4c20a4eab4ed44262eb396305f58a)
   78 
   79 commit bb74db6b38f7ff75ed52a900fa62a995e77aede4
   80 Author: Olivier Fourdan <ofourdan@redhat.com>
   81 Date:   Fri Apr 5 12:33:28 2019 +0200
   82 
   83     xwayland: search for a render node to use
   84     
   85     wl_drm's protocol "device" event provides the path to the DRM device,
   86     which may not be a render node, thus causing Xwayland to fall back to
   87     DRM authentication which may fail if the user has switched to another
   88     VT while Xwayland is starting.
   89     
   90     Search for a render node corresponding to the given DRM device and try
   91     to use it instead, as render nodes do not need DRM authentication and
   92     Xwayland can make use of them if it can find one.
   93     
   94     Closes: https://bugs.freedesktop.org/108038
   95     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
   96     (Cherry picked from commit 361894497c6802b62c2da4a3dc7e98939fb24404)
   97 
   98 commit 87491ced98705a14be2bb5a3ce7e41cb5ffc11d0
   99 Author: Michel Dänzer <michel.daenzer@amd.com>
  100 Date:   Mon Mar 25 12:32:48 2019 +0100
  101 
  102     present/scmd: Check that the flip and screen pixmap pitches match
  103     
  104     If they don't, flipping will result in corrupted display.
  105     
  106     Test case:
  107     
  108     * Run Xorg at 1920x1080 with no window manager
  109     * glxgears -geometry 2048x1080
  110     (Cherry picked from commit ef91da2757050652c724f6e674e8b1acf5d0cb31)
  111 
  112 commit 578156337176bf759dace40fb5a81919f65562f1
  113 Author: Michel Dänzer <michel.daenzer@amd.com>
  114 Date:   Mon Mar 25 12:32:04 2019 +0100
  115 
  116     xwayland/present: Destroy sync_callback in xwl_present_cleanup
  117     
  118     xwl_present_cleanup frees the struct xwl_present_window memory,
  119     so if there's a pending callback, we have to destroy it to prevent
  120     use-after-free in xwl_present_sync_callback.
  121     
  122     Should fix issue #645.
  123     
  124     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
  125     (Cherry picked from commit 2e18eec6f03cc4d9d5bf62853c65d341b363f4b3)
  126 
  127 commit 8e2f5410cec5b052fb4da9d1b774a5858903dc35
  128 Author: Michel Dänzer <michel.daenzer@amd.com>
  129 Date:   Mon Mar 25 12:29:23 2019 +0100
  130 
  131     Revert "gitlab-ci: Only run docker-image stage if relevant source files change"
  132     
  133     This reverts commit 8694395fcfd407190db74f31064960e484747377.
  134     
  135     Some scenarios have come to light where this failed to ensure the docker
  136     image exists:
  137     
  138     * If the master branch of a forked repository is used for an MR which
  139       doesn't modify .gitlab-ci.yml, the docker-image job may not run.
  140     * If the docker-image job of the first pipeline in a forked repository
  141       is cancelled or fails for any reason, and .gitlab-ci.yml isn't
  142       modified for the next pipeline run.
  143     (Cherry picked from commit 0ec9a13c2a207e98e2dd6b352552c0e069af0727)
  144 
  145 commit 34553f502650641aec4f20ab43180804f17032c6
  146 Author: Ray Strode <rstrode@redhat.com>
  147 Date:   Fri Nov 16 14:36:55 2018 -0500
  148 
  149     dix: ensure work queues are cleared on reset
  150     
  151     If the server resets, most client workqueues are cleaned up as the
  152     clients are killed.
  153     
  154     The one exception is the server's client, which is exempt from
  155     the killing spree.
  156     
  157     If that client has a queued work procedure active, it won't get
  158     cleared on reset.
  159     
  160     This commit ensures it gets cleared too.
  161     
  162     (cherry picked from commit 8738ce85df535bdfdfecfce1c0d64e209cc6e508)
  163     
  164     Fixes: xorg/xserver#670
  165 
  166 commit 94f036d412f4f426abe950b57b9ec99b78068c39
  167 Author: Adam Jackson <ajax@redhat.com>
  168 Date:   Mon Feb 25 13:31:13 2019 -0500
  169 
  170     xserver 1.20.4
  171     
  172     Signed-off-by: Adam Jackson <ajax@redhat.com>
  173 
  174 commit 9850d20c2aa2d8380f2e9c4521ef3c46a6c8fb00
  175 Author: Michel Dänzer <michel.daenzer@amd.com>
  176 Date:   Fri Feb 22 10:22:49 2019 +0100
  177 
  178     gitlab-ci: Run make distcheck in autotools build & test job
  179     
  180     We don't set the PIGLIT_DIR and XTS_DIR environment variables for make
  181     distcheck for now, otherwise it complains about files left behind by
  182     piglit.
  183     
  184     (cherry picked from commit 432fad04e7aaad1f10d732a51665ecbe934246c6)
  185 
  186 commit fcac9b10c90c8a06c60f563f5ad8da1d4e49b7fc
  187 Author: Michel Dänzer <michel.daenzer@amd.com>
  188 Date:   Fri Feb 22 10:21:27 2019 +0100
  189 
  190     glx,xquartz: Fix make distcheck
  191     
  192     Guard BUILT_SOURCES and CLEANFILES by XWIN_GLX_WINDOWS/XQUARTZ.
  193     
  194     (cherry picked from commit f9bbc9d5ead5cf298f0e3e0b7ac5229af830f6e7)
  195 
  196 commit 01a03a476a5f963846fdb7702217be17ac1ecd6c
  197 Author: Michel Dänzer <michel.daenzer@amd.com>
  198 Date:   Fri Feb 22 11:16:36 2019 +0100
  199 
  200     present/wnmd: Allow flipping if the window pixmap matches the toplevel's
  201     
  202     Instead of testing window->redirectDraw.
  203     
  204     With Xwayland, the toplevel window is always redirected, so this would
  205     unnecessarily preclude flipping there in some cases, e.g. with wlroots
  206     based Wayland compositors or with fullscreen X11 windows in weston.
  207     
  208     Fixes issue #631.
  209     (Cherry picked from commit a093a88531599832811a1ba5cb85101af91a545e)
  210 
  211 commit e5984241ab8d7ca75eb3e5e893d63adb017ed0f5
  212 Author: Michel Dänzer <michel.daenzer@amd.com>
  213 Date:   Fri Feb 22 11:56:23 2019 +0100
  214 
  215     gitlab-ci: Add autotools build & test job
  216     (Cherry picked from commit 2f12c8017508f23195db92503435fc3ef183da4b)
  217 
  218 commit de6d87b61959cd3997feed3efe25fb2a36e543fb
  219 Author: Michel Dänzer <michel.daenzer@amd.com>
  220 Date:   Fri Feb 22 11:56:01 2019 +0100
  221 
  222     gitlab-ci: Use ccache
  223     
  224     Meson picks it up automatically.
  225     
  226     Based on:
  227     
  228     * https://gitlab.freedesktop.org/mesa/mesa/merge_requests/240
  229     * https://gould.cx/ted/blog/2017/06/10/ccache-for-Gitlab-CI/
  230     * https://stackoverflow.com/questions/53659419/ccache-no-hits-in-gitlab-ci
  231     
  232     v2 based on the corresponding Mesa change:
  233     * Quote CCACHE_(BASE)DIR environment variables.
  234     * Clear ccache stats in before_script.
  235     * Move cache stanza to the build-and-test job, the cache isn't used in
  236       the docker-image job.
  237     
  238     Reviewed-by: Adam Jackson <ajax@redhat.com> # v1
  239     (Cherry picked from commit b577df77451d34e28cfef3bda5031a43caeba90a)
  240 
  241 commit 37ad8dd978e8d35233e489e771f7dcf3e09c3b7a
  242 Author: Michel Dänzer <michel.daenzer@amd.com>
  243 Date:   Fri Feb 22 11:55:31 2019 +0100
  244 
  245     gitlab-ci: Add ccache to docker image, and leave in autotools
  246     
  247     We're going to make use of these in build & test jobs.
  248     (Cherry picked from commit 537f06e21ee2c4c88ee062c26555338257e043ef)
  249 
  250 commit 61eccbcec930efeb1a124cc8edff70e6f65c927e
  251 Author: Michel Dänzer <michel.daenzer@amd.com>
  252 Date:   Fri Feb 22 11:54:57 2019 +0100
  253 
  254     gitlab-ci: Don't rely on $CI_PROJECT_NAME
  255     
  256     The name of a forked repository can be changed later, in which case this
  257     would fail to refer to the main repository.
  258     
  259     Pointed out by Eric Engestrom in
  260     https://gitlab.freedesktop.org/mesa/mesa/merge_requests/224 .
  261     (Cherry picked from commit fede384962edd175b1a2ce6edd8d2ef9b0fd74f0)
  262 
  263 commit e10cfd8fcc395360ce9acd93bfd7503da8e35381
  264 Author: Michel Dänzer <michel.daenzer@amd.com>
  265 Date:   Fri Feb 22 11:54:41 2019 +0100
  266 
  267     gitlab-ci: Only run docker-image stage if relevant source files change
  268     
  269     Otherwise there's normally no need to run it. It will also run when a
  270     new branch is created, which ensures that the docker image always exists
  271     (e.g. in a newly forked repository).
  272     
  273     Inspired by https://gitlab.freedesktop.org/mesa/mesa/merge_requests/143
  274     (Cherry picked from commit 8694395fcfd407190db74f31064960e484747377)
  275 
  276 commit 7246730edfb4f9079eb0ef1c41c43c47854a7432
  277 Author: Michel Dänzer <michel.daenzer@amd.com>
  278 Date:   Fri Feb 22 11:53:55 2019 +0100
  279 
  280     gitlab-ci: Set LC_ALL=C.UTF-8
  281     
  282     Although piglit could now handle non-ASCII characters in the
  283     environment, meson was still failing without this (even though it's
  284     using Python 3).
  285     
  286     Reviewed-by: Eric Anholt <eric@anholt.net>
  287     (Cherry picked from commit bc6998b728749015bfd93a85fbae48af777c9a34)
  288 
  289 commit 8db5a711da6a0b8f28c885b968b1e6bf2d45ce62
  290 Author: Michel Dänzer <michel.daenzer@amd.com>
  291 Date:   Fri Feb 22 11:53:37 2019 +0100
  292 
  293     test: Use .../piglit instead of .../piglit-*.py
  294     
  295     The latter use Python 2 and break with any non-ASCII characters in the
  296     environment, the former uses Python 3 and works fine in that case.
  297     
  298     Reviewed-by: Eric Anholt <eric@anholt.net>
  299     (Cherry picked from commit 4aaaf69229be574d6d11084225ecd91446a15170)
  300 
  301 commit 3314af2d15085118f2ca0d4ce65ae6ec1f38fbad
  302 Author: Michel Dänzer <michel.daenzer@amd.com>
  303 Date:   Fri Feb 22 11:53:12 2019 +0100
  304 
  305     gitlab-ci: Docker image can be generated as part of pipeline
  306     
  307     This removes the dependency on an externally generated docker image, and
  308     should make it easier to update the docker image or make other changes
  309     related to it.
  310     
  311     This is based on Debian testing, because I'm most familiar with Debian.
  312     But it should be easy to base it on another distro.
  313     
  314     v2:
  315     * Use kaniko instead of docker-in-docker for image generation, so it can
  316       also work in unprivileged runners.
  317     * Drop piglit.conf & tetexec.cfg overrides, just make sure the files in
  318       the image work.
  319     (Cherry picked from commit f56d8e2282a3d1344aa1300c78faede0071a3bfa)
  320 
  321 commit e8b4e94d5192f72be3f768ac11a5e27890e6bc8d
  322 Author: Michel Dänzer <michel.daenzer@amd.com>
  323 Date:   Fri Feb 22 11:52:42 2019 +0100
  324 
  325     Drop Travis Linux build in favour of GitLab CI
  326     
  327     Fold build-travis-deps.sh into .gitlab-ci.yml.
  328     
  329     Preparation for the next change, which would break the Travis Linux
  330     build.
  331     
  332     Reviewed-by: Eric Anholt <eric@anholt.net>
  333     (Cherry picked from commit ed44f9cd6a4ccf6de7dda70432764b4da10f3f44)
  334 
  335 commit 4925f38dc0559a8cbe01ec947edeb5eeb78a4df6
  336 Author: Michel Daenzer <michel@daenzer.net>
  337 Date:   Fri Feb 22 11:51:57 2019 +0100
  338 
  339     Make artifacts of piglit results if job fails
  340     
  341     Can be useful for figuring out what caused the failure.
  342     (Cherry picked from commit a7472da94136ef977b8d6af956a15767736236ea)
  343 
  344 commit b6ef90d83b4fd9230ca334116c61fd52f1d68209
  345 Author: Michel Daenzer <michel@daenzer.net>
  346 Date:   Fri Feb 22 11:51:35 2019 +0100
  347 
  348     travis: Use a single meson invocation
  349     
  350     The prefix setting didn't take for some reason.
  351     (Cherry picked from commit c1bb392b1df4023e9dec489facfa221a53499ddc)
  352 
  353 commit 7753fd9989e280783daeee1994d019155735dee5
  354 Author: Adam Jackson <ajax@redhat.com>
  355 Date:   Fri Feb 22 11:50:05 2019 +0100
  356 
  357     gitlab: Skip the docker-in-docker step
  358     
  359     No idea which cult's cargo I was looking at there. Cuts about a minute
  360     off the build time.
  361     
  362     Signed-off-by: Adam Jackson <ajax@redhat.com>
  363     (Cherry picked from commit a41ccaa0857146e986f11360d4f2aeb3913af9a6)
  364 
  365 commit 524104e15c7169114e4fa3dd832990c58ee563a4
  366 Author: Peter Hutterer <peter.hutterer@who-t.net>
  367 Date:   Fri Feb 8 13:29:14 2019 +1000
  368 
  369     Xi: lock the input thread for any pointer barrier list manipulation
  370     
  371     The input thread checks the barriers for pointer positioning, swapping the
  372     list out from underneath is considered impolite.
  373     
  374     Reported-by: Michel Dänzer <michel.daenzer@amd.com>
  375     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
  376     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
  377     (cherry picked from commit 678d64aa2e929368b6d6f2b83bbf5540c4fa292d)
  378 
  379 commit ae9dda1e2620f402b434f10df581b0fdf0495ee8
  380 Author: Peter Harris <pharris@opentext.com>
  381 Date:   Wed Jan 30 14:51:07 2019 -0500
  382 
  383     os: Fix GetTimeInMicros resolution
  384     
  385     GetTimeInMillis is called first, which sets clockid to
  386     CLOCK_MONOTONIC_COARSE, which is typically much lower resolution than
  387     the callers of GetTimeInMicros want.
  388     
  389     Prior to a779fda224bee0c4d27636503367e55ae93b33c2, GetTimeInMillis and
  390     GetTimeInMicros did not share a clockid.
  391     
  392     Restore the clockid split to fix the granularity of GetTimeInMicros.
  393     
  394     Signed-off-by: Peter Harris <pharris@opentext.com>
  395     (cherry picked from commit 937a5b78a2f6ea771132ff0f9ece708a23c1bdad)
  396 
  397 commit 013c28a122a61beaf3a4ee7cc92b7ca2c92de7ab
  398 Author: A. Wilcox <AWilcox@Wilcox-Tech.com>
  399 Date:   Sat Jan 26 15:37:56 2019 -0600
  400 
  401     DRI2: Add another Coffeelake PCI ID
  402     
  403     A user of Adélie Linux reported that modesetting wasn't working properly on
  404     their Intel i7-9700K-integrated UHD 630 GPU.  Xorg.0.log showed:
  405     
  406     [   131.902] (EE) modeset(0): [DRI2] No driver mapping found for PCI device 0x8086 / 0x3e98
  407     [   131.902] (EE) modeset(0): Failed to initialize the DRI2 extension.
  408     
  409     Indeed, that PCI ID is missing from i965_pci_ids.  Adding it fixed the issue
  410     and allowed the system to work with i965_dri under modesetting.
  411     
  412     (cherry picked from commit d3a26bbf618507e1ca05b2bc99a880075b77db77)
  413 
  414 commit a51d7a730cfd82ab44ea5510eafdbe9d7043e706
  415 Author: Adam Jackson <ajax@redhat.com>
  416 Date:   Tue Oct 16 12:58:25 2018 -0400
  417 
  418     vnd: Fix a silly memory leak
  419     
  420     'disp' was already allocated by LookupVendorPrivDispatch above,
  421     clobbering it will do no good.
  422     
  423     Signed-off-by: Adam Jackson <ajax@redhat.com>
  424     (cherry picked from commit 709c6562975c3bea10dd0571527a4aac79a6bf6f)
  425 
  426 commit 544d0e961cfa96043ed3e5a718a768444c4a4c4d
  427 Author: Adam Jackson <ajax@redhat.com>
  428 Date:   Wed Jan 16 14:20:17 2019 -0500
  429 
  430     mi: When {en,dis}abling extensions, match names case-insensitively
  431     
  432     Both because extension names are inconsistently capitalized on the wire,
  433     and because the table we're walking spells it COMPOSITE not Composite.
  434     The latter is certainly also a bug, but there's no reason for us to be
  435     that strict.
  436     
  437     Signed-off-by: Adam Jackson <ajax@redhat.com>
  438     (cherry picked from commit bf991a5f989c5e6e726a3731f468b7b7d65d9f4a)
  439 
  440 commit 2215e8c7cf06f46f9995c8a7817c7ede9774a551
  441 Author: Adam Jackson <ajax@redhat.com>
  442 Date:   Mon Jan 14 12:42:00 2019 -0500
  443 
  444     dri3: Fix XACE access mode for open and get_supported_modifiers
  445     
  446     Neither opening a screen nor querying its modifiers confers the right to
  447     attach the buffer for any particular pixmap. GetAttr seems more correct.
  448     
  449     Fixes: xorg/xserver#550
  450     (cherry picked from commit 086c2e3de55bbf0cbc1d97f7dc2db70a7f5e69e3)
  451 
  452 commit 59e0b5f041eee92d0a51303082005ad8f053d8ca
  453 Author: Michel Dänzer <michel.daenzer@amd.com>
  454 Date:   Wed Dec 5 18:31:27 2018 +0100
  455 
  456     xfree86/modes: Don't clobber gamma LUT of compatibility output's CRTC
  457     
  458     If the driver calls xf86HandleColormaps, CMapChangeGamma updates the HW
  459     gamma LUT of all CRTCs via xf86RandR12LoadPalette. However,
  460     xf86RandR12ChangeGamma was then clobbering the gamma LUT of the RandR
  461     1.2 compatibility output's CRTC with the gamma curves computed from the
  462     screen's global gamma values.
  463     
  464     Fix this by bailing if xf86RandR12LoadPalette is installed.
  465     
  466     Fixes: 02ff0a5d7e32 "xf86RandR12: Fix XF86VidModeSetGamma triggering a
  467                          BadImplementation error"
  468     (cherry picked from commit 30044b2253c2dd51e1aedb2f897159c657ca8f0d)
  469 
  470 commit 712d0e86aaee96ffe1ad6a708b9134889e47d1c6
  471 Author: Maya Rashish <maya@NetBSD.org>
  472 Date:   Thu Jan 10 14:55:17 2019 +0200
  473 
  474     xfree86: Try nouveau on NetBSD as well.
  475     
  476     (cherry picked from commit e3fb178617a579c98877a3baae14c4dfe4d55db8)
  477 
  478 commit ff1d1692e73b1729a6ced84bf58bcbe17f1c9d94
  479 Author: Maya Rashish <maya@NetBSD.org>
  480 Date:   Thu Jan 10 18:39:33 2019 +0200
  481 
  482     Fix typo in error message
  483     
  484     (cherry picked from commit bf2a7bb4ffbd199882fe4bd183561469833a9e6b)
  485 
  486 commit c091ea5e38b5c41eaf3b10c43dc043401e8251c5
  487 Author: Alan Coopersmith <alan.coopersmith@oracle.com>
  488 Date:   Tue Jan 1 16:49:32 2019 -0800
  489 
  490     os: Report errors opening authorization file (#469)
  491     
  492     Fixes: xorg/xserver#469
  493     
  494     Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
  495     (cherry picked from commit 7fb6338c68e158053295cb448faa5c559aa9990c)
  496 
  497 commit 7b0f6102df3b18a048b791fe2304679b1eb2c9e7
  498 Author: Michel Dänzer <michel.daenzer@amd.com>
  499 Date:   Wed Dec 19 10:06:23 2018 +0100
  500 
  501     glamor: Check that storage format is compatible with RENDER format
  502     
  503     Fixes x2r10g10b10 related rendercheck failures.
  504     
  505     Reviewed-by: Eric Anholt <eric@anholt.net>
  506     (cherry picked from commit 7e6faa5b3c05e0b7149ee840403885b0b40b5827)
  507 
  508 commit 356cf07b8a8fe6faedf701ae259f8f077a234dd5
  509 Author: Peter Hutterer <peter.hutterer@who-t.net>
  510 Date:   Wed Nov 28 10:05:49 2018 +1000
  511 
  512     test: fix failing tests
  513     
  514     Broken since 69d8ea4a49793a94f821d1a328856901a1c02a5a because our fake screen
  515     didn't have a root window and writing the XKB rules prop would happily
  516     segfault. Fix this by setting up the required bits.
  517     
  518     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
  519     Tested-by: Michel Dänzer michel.daenzer@amd.com
  520     (cherry picked from commit fde27b9b4814b18aca6ec587bd3cfe9ab04b0c72)
  521 
  522 commit c44eee243e6f4e488b586ad02e4fd00f587ebb49
  523 Author: Ilia Mirkin <imirkin@alum.mit.edu>
  524 Date:   Mon Dec 10 23:34:11 2018 -0500
  525 
  526     modesetting: fix conn_id termination and potential overrun by 1 byte
  527     
  528     Noticed when porting this logic to xf86-video-nouveau, and valgrind
  529     complained about conditional jump based on uninitialized data.
  530     
  531     Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
  532     Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.com>
  533     (cherry picked from commit 48b1af2718ab81c66f565438553415c05f1faa5c)
  534 
  535 commit 10609630e753b475566be27b186af4b2e290fdc6
  536 Author: Adam Jackson <ajax@redhat.com>
  537 Date:   Thu Nov 29 14:48:11 2018 -0500
  538 
  539     automake: Distribute meson's configure header templates
  540     
  541     Fixes: xorg/xserver#17
  542     (cherry picked from commit 82ed89c0f8b18d8214430580dc80c8d3e37bef33)
  543 
  544 commit f5a77233b983eb06eb727d25148b68d1bc410022
  545 Author: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
  546 Date:   Fri Nov 9 12:34:59 2018 +0000
  547 
  548     present: fix compile warning with debug traces
  549     
  550     Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
  551     (cherry picked from commit a425eee6dce3b0cfd18b591907e8302a91b648c6)
  552 
  553 commit 4e12cba65682e97b056d8a8207189d4cf9c31862
  554 Author: Lyude Paul <lyude@redhat.com>
  555 Date:   Tue Nov 13 20:14:10 2018 -0500
  556 
  557     modesetting: Actually disable CRTCs in legacy mode
  558     
  559     Believe it or not, somehow we've never done this in legacy mode! We
  560     currently simply change the DPMS property on the CRTC's output's
  561     respective DRM connector, but this means that we're just setting the
  562     CRTC as inactive-not disabled. From the perspective of the kernel, this
  563     means that any shared resources used by the CRTC are still in use.
  564     
  565     This can cause problems for drivers that are not yet fully atomic,
  566     despite using the atomic helpers internally. For instance: if CRTC-1 and
  567     CRTC-2 are still enabled and use shared resources within the kernel (an
  568     MST topology, for example), and then userspace tries to go enable CRTC-3
  569     on the same topology this might suddenly fail if CRTC-3 needs the shared
  570     resources CRTC-1 and CRTC-2 are using. While I don't know of any
  571     situations in the mainline kernel that actually trigger this, future
  572     plans for reworking the atomic check of MST drivers are absolutely
  573     going to make this into a real issue (they already are in my WIP
  574     branches for the kernel).
  575     
  576     So: actually do the right thing here and disable CRTCs when they're not
  577     going to be used anymore, even in legacy mode.
  578     
  579     Signed-off-by: Lyude Paul <lyude@redhat.com>
  580     (cherry picked from commit 7a44e8d4007b9c3ca55a5cc3f5e98601565311c7)
  581 
  582 commit 652918e736bcc577e221184415dcf61c05ac7bfb
  583 Author: Alan Coopersmith <alan.coopersmith@oracle.com>
  584 Date:   Sun Nov 25 12:56:29 2018 -0800
  585 
  586     Update configure.ac bug URL for gitlab migration
  587     
  588     Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
  589     (cherry picked from commit 17a22ad948009badbc79bbcd9a067004c98f5744)
  590 
  591 commit 40b22a0571d422473a7a324daa65f6a768181644
  592 Author: Alan Coopersmith <alan.coopersmith@oracle.com>
  593 Date:   Sun Nov 18 15:49:27 2018 -0800
  594 
  595     Update README for gitlab migration
  596     
  597     Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
  598     (cherry picked from commit 5d097c2a20fce44cdb9d5c302d46bc7fa16edfec)
  599 
  600 commit a352f979545723054b0a74862a56dc53b1be93fb
  601 Author: Olivier Fourdan <ofourdan@redhat.com>
  602 Date:   Tue Jan 8 12:48:53 2019 +0100
  603 
  604     xwayland: handle case without any crtc
  605     
  606     Xwayland creates and destroys the CRTC along with the Wayland outputs,
  607     so there is possibly a case where the number of CRTC drops to 0.
  608     
  609     However, `xwl_present_get_crtc()` always return `crtcs[0]` which is
  610     invalid when `numCrtcs` is 0.
  611     
  612     That leads to crash if a client queries the Present capabilities when
  613     there is no CRTC, the backtrace looks like:
  614     
  615       #0  raise() from libc.so
  616       #1  abort() from libc.so
  617       #2  OsAbort() at utils.c:1350
  618       #3  AbortServer() at log.c:879
  619       #4  FatalError() at log.c:1017
  620       #5  OsSigHandler() at osinit.c:156
  621       #6  OsSigHandler() at osinit.c:110
  622       #7  <signal handler called>
  623       #8  main_arena() from libc.so
  624       #9  proc_present_query_capabilities() at present_request.c:236
  625       #10 Dispatch() at dispatch.c:478
  626       #11 dix_main() at main.c:276
  627     
  628     To avoid returning an invalid pointer (`crtcs[0]`) in that case, simply
  629     check for `numCrtcs` being 0 and return `NULL` in that case.
  630     
  631     Thanks to Michel Dänzer <michel.daenzer@amd.com> for pointing this as a
  632     possible cause of the crash.
  633     
  634     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
  635     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
  636     Bugzilla: https://bugzilla.redhat.com/1609181
  637     (cherry picked from commit e8295c50209f2963fa2823e8de7e8363a38cd2d1)
  638 
  639 commit 210cd529064348de7d4f9a9050b0cf68f8fd326c
  640 Author: Michel Dänzer <michel.daenzer@amd.com>
  641 Date:   Thu Nov 15 17:16:59 2018 +0100
  642 
  643     xwayland: Don't take buffer release queue into account for frame timer
  644     
  645     The buffer release queue has two kinds of entries:
  646     
  647     * Pending async flips.
  648     * Completed flips waiting for their buffer to be released by the Wayland
  649       compositor.
  650     
  651     xwl_present_timer_callback neither completes async flips nor releases
  652     buffers, so the timer isn't needed for the buffer release queue.
  653     
  654     (cherry picked from commit e6cd1c9bdefe83e7d99b703a68d26eebb451f889)
  655 
  656 commit 7c28b0e34ecbe9842193733dfd86097c06921406
  657 Author: Michel Dänzer <michel.daenzer@amd.com>
  658 Date:   Fri Nov 9 17:18:53 2018 +0100
  659 
  660     xwayland: Don't need xwl_window anymore in xwl_present_queue_vblank
  661     
  662     Fixes issue #12. Presumably the problem was that Present operations on
  663     unmapped windows were executed immediately instead of only when reaching
  664     the target MSC.
  665     
  666     (cherry picked from commit f541615342ce6bfb0e6d4e68deb3a924a87e8ba9)
  667 
  668 commit 46135957095ec954e21107d1001452e9533ef2ee
  669 Author: Michel Dänzer <michel.daenzer@amd.com>
  670 Date:   Thu Nov 1 18:24:28 2018 +0100
  671 
  672     xwayland: Add xwl_present_unrealize_window
  673     
  674     When a window is unrealized, a pending frame callback may never be
  675     called, which could result in repeatedly freezing until the frame timer
  676     fires after a second.
  677     
  678     Fixes these symptoms when switching from fullscreen to windowed mode in
  679     sauerbraten.
  680     
  681     (cherry picked from commit 8c9538573cb9a342897eb3fb4b0c1e4ed917bd0e)
  682 
  683 commit 98f41563e6599eb762e6a3ec12f99ba6b5388039
  684 Author: Michel Dänzer <michel.daenzer@amd.com>
  685 Date:   Thu Nov 1 18:44:24 2018 +0100
  686 
  687     xwayland: Replace xwl_window::present_window with ::present_flipped
  688     
  689     There's no need to keep track of the window which last performed a
  690     Present flip. This fixes crashes due to the assertion in
  691     xwl_present_flips_stop failing. Fixes issue #10.
  692     
  693     The damage generated by a flip only needs to be ignored once, then
  694     xwl_window::present_flipped can be cleared. This may fix freezing in
  695     the (hypothetical) scenario where Present flips are performed on a
  696     window, followed by other drawing requests using the window as the
  697     destination, but nothing triggering xwl_present_flips_stop. The damage
  698     from the latter drawing requests would continue being ignored.
  699     
  700     (cherry picked from commit 6b016d58d23d16eaae9908a92ed90547d1926317)
  701 
  702 commit f393801dbbe89bce716a8ceeb2b5c8440b9021ce
  703 Author: Michel Dänzer <michel.daenzer@amd.com>
  704 Date:   Thu Oct 18 17:42:01 2018 +0200
  705 
  706     xwayland: Complete "synchronous" Present flips from xwl_present_msc_bump
  707     
  708     Completing them from xwl_present_sync_callback had at least two issues:
  709     
  710     * It was before the MSC was incremented in xwl_present_frame_callback,
  711       so the MSC value in the completion event could be lower than the
  712       target specified by the client. This could cause hangs with the Mesa
  713       Vulkan drivers.
  714     * It allowed clients to run at a frame-rate higher than the Wayland
  715       compositor's frame-rate, wasting energy on generating frames which
  716       were never displayed. This isn't expected to happen unless the client
  717       specified PresentOptionAsync (in which case flips are still completed
  718       from xwl_present_sync_callback, allowing higher frame-rates).
  719     
  720     v2:
  721     * Make xwl_present_has_events return true when there's a pending
  722       "synchronous" flip, so those complete after at most ~1 second even if
  723       the Wayland server doesn't send a frame event.
  724     
  725     Bugzilla: https://bugs.freedesktop.org/106713
  726     (cherry picked from commit ace551d8a2603e37b18237a52f62d627c75d9e2a)
  727 
  728 commit e646e3054a3e1dbe8ff3906a546897246bcc78f0
  729 Author: Michel Dänzer <michel.daenzer@amd.com>
  730 Date:   Thu Oct 18 17:36:24 2018 +0200
  731 
  732     xwayland: Rename xwl_present_events_notify to xwl_present_msc_bump
  733     
  734     And consolidate more code from xwl_present_timer_callback and
  735     xwl_present_frame_callback in it.
  736     
  737     (cherry picked from commit 2bfc46d4147dc0bec4cdbb80431a0f4cc1d3b030)
  738 
  739 commit 47aed554b7c12c0c7f496c86a435dddaa51ae9bf
  740 Author: Michel Dänzer <michel.daenzer@amd.com>
  741 Date:   Wed Oct 24 11:23:05 2018 +0200
  742 
  743     xwayland: Use xwl_present_reset_timer in xwl_present_timer_callback
  744     
  745     Apart from simplifying the code, this should also prevent a condition
  746     (which might only be possible with the following fix) reported in
  747     https://gitlab.freedesktop.org/wayland/weston/issues/115#note_52467:
  748     
  749     1. xwl_present_timer_callback indirectly calls xwl_present_reset_timer
  750        -> xwl_present_free_timer
  751     2. xwl_present_timer_callback then returns a non-0 value, so DoTimer
  752        calls TimerSet with the old xwl_present_window->frame_timer pointer
  753        which was freed in step 1 => use after free
  754     
  755     Calling xwl_present_reset_timer explicitly passes NULL to TimerSet if
  756     step 1 freed xwl_present_window->frame_timer, and it will allocate a new
  757     one.
  758     
  759     (cherry picked from commit 5e8b9a3a563047e3998d45e761f7a50e4b0f6cb3)
  760 
  761 commit cf8e064ec0bed45b8cda9ae390c7af78d8ede50f
  762 Author: Olivier Fourdan <ofourdan@redhat.com>
  763 Date:   Fri Oct 19 16:04:32 2018 +0200
  764 
  765     xwayland: do not crash if `gbm_bo_create()` fails
  766     
  767     The function `xwl_glamor_gbm_create_pixmap()` first creates a buffer
  768     objects and then creates the xwl_pixmap from it.
  769     
  770     However, `xwl_glamor_gbm_create_pixmap_for_bo()` is not called if the
  771     buffer object creation fails, and `xwl_glamor_gbm_create_pixmap()`
  772     simply returns `glamor_create_pixmap()`.
  773     
  774     The problem with this is that if `xwl_glamor_gbm_create_pixmap_for_bo()`
  775     is not called then neither is `xwl_pixmap_set_private()` and further
  776     calls to `xwl_pixmap_get()` will return NULL and cause a NULL pointer
  777     dereference if the return value is not checked:
  778     
  779       #0  xwl_glamor_gbm_get_wl_buffer_for_pixmap ()
  780           at hw/xwayland/xwayland-glamor-gbm.c:248
  781       #1  xwl_window_post_damage () at hw/xwayland/xwayland.c:697
  782       #2  xwl_display_post_damage () at hw/xwayland/xwayland.c:759
  783       #3  block_handler () at hw/xwayland/xwayland.c:890
  784       #4  BlockHandler () at dix/dixutils.c:388
  785       #5  WaitForSomething () at os/WaitFor.c:201
  786       #6  Dispatch () at dix/dispatch.c:421
  787       #7  dix_main () at dix/main.c:276
  788       #8  __libc_start_main () at ../csu/libc-start.c:308
  789       #9  _start ()
  790     
  791       (gdb) print xwl_pixmap
  792       $1 = (struct xwl_pixmap *) 0x0
  793     
  794     Make sure we check for `xwl_pixmap_get()` returned value where relevant
  795     and fail gracefully if this is the case.
  796     
  797     See also: https://gitlab.gnome.org/GNOME/mutter/issues/340
  798     
  799     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
  800     Reviewed-by: Marco Trevisan <mail@3v1n0.net>
  801     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
  802     (cherry picked from commit 036794bebce72a3fa2f95996d2e537ff568e0ff1)
  803 
  804 commit f89518e17f7d507734af212785e0b3e47954f603
  805 Author: Olivier Fourdan <ofourdan@redhat.com>
  806 Date:   Mon Oct 22 11:48:25 2018 +0200
  807 
  808     present/wnmd: Fix use after free on CRTC removal
  809     
  810     Xwayland will add and remove CRTCs as Wayland outputs are added or
  811     removed.
  812     
  813     If there is a pending flip when this occurs, the
  814     `xwl_present_sync_callback()` will be triggered after the Xwayland
  815     output's RRCtrcPtr has been destroyed, hence causing a crash in Xwayland
  816     while trying to use freed memory:
  817     
  818       #1  abort ()
  819       #2  OsAbort () at utils.c:1350
  820       #3  AbortServer () at log.c:877
  821       #4  FatalError () at log.c:1015
  822       #5  OsSigHandler () at osinit.c:156
  823       #6  <signal handler called>
  824       #7  dixGetPrivate () at ../include/privates.h:122
  825       #8  dixLookupPrivate () at ../include/privates.h:166
  826       #9  present_screen_priv () at present_priv.h:198
  827       #10 present_wnmd_flip () at present_wnmd.c:358
  828       #11 present_wnmd_execute () at present_wnmd.c:466
  829       #12 present_wnmd_re_execute () at present_wnmd.c:80
  830       #13 xwl_present_sync_callback () at xwayland-present.c:287
  831       #14 ffi_call_unix64 () from /lib64/libffi.so.6
  832       #15 ffi_call () from /lib64/libffi.so.6
  833       #16 wl_closure_invoke () at src/connection.c:1006
  834       #17 dispatch_event () at src/wayland-client.c:1427
  835       #18 dispatch_queue () at src/wayland-client.c:1573
  836       #19 wl_display_dispatch_queue_pending () at src/wayland-client.c:1815
  837       #20 wl_display_dispatch_pending () at src/wayland-client.c:1878
  838       #21 xwl_read_events () at xwayland.c:814
  839       #22 ospoll_wait () at ospoll.c:651
  840       #23 WaitForSomething () at WaitFor.c:208
  841       #24 Dispatch () at ../include/list.h:220
  842       #25 dix_main () at main.c:276
  843     
  844     To avoid the issue, get the `ScreenPtr` from the window instead of the
  845     CRTC that might have been just freed, `xwl_present_flip()` has no use
  846     for the CRTC anyway.
  847     
  848     Bugzilla: https://bugs.freedesktop.org/108249
  849     Suggested-by: Michel Daenzer <michel.daenzer@amd.com>
  850     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
  851     Reviewed-by: Michel Daenzer <michel.daenzer@amd.com>
  852     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
  853     (cherry picked from commit b768b7d6cec41b8b320c468ec41aab5a8b49b27b)
  854 
  855 commit 64f5e6ec2d297f90e9b9785a1cb7285d609a1877
  856 Author: Michel Dänzer <michel.daenzer@amd.com>
  857 Date:   Fri Oct 19 18:27:37 2018 +0200
  858 
  859     xwayland: Plug leaks in xwl_present_sync_callback
  860     
  861     xwl_present_window->sync_callback was leaked.
  862     
  863     The event memory was leaked if the corresponding buffer had already been
  864     released.
  865     
  866     (cherry picked from commit cb0de153bf0c486da7e968ab0f258c9c0c9ed34a)
  867 
  868 commit 971d418113740cae2d7d393850bad4926d1a7e86
  869 Author: Adam Jackson <ajax@redhat.com>
  870 Date:   Thu Oct 25 09:03:18 2018 -0400
  871 
  872     xserver 1.20.3
  873     
  874     Signed-off-by: Adam Jackson <ajax@redhat.com>
  875 
  876 commit da15c7413916f754708c62c2089265528cd661e2
  877 Author: Matthieu Herrb <matthieu@herrb.eu>
  878 Date:   Tue Oct 23 21:29:09 2018 +0200
  879 
  880     LogFilePrep: add a comment to the unsafe format string.
  881     
  882     CVE-2018-14665 also made it possible to exploit this to access
  883     memory. With -logfile forbidden when running with elevated privileges
  884     this is no longer an issue.
  885     
  886     Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
  887     Reviewed-by: Adam Jackson <ajax@redhat.com>
  888     (cherry picked from commit 248d164eae27f1f310266d78e52f13f64362f81e)
  889 
  890 commit 8a59e3b7dbb30532a7c3769c555e00d7c4301170
  891 Author: Matthieu Herrb <matthieu@herrb.eu>
  892 Date:   Tue Oct 23 21:29:08 2018 +0200
  893 
  894     Disable -logfile and -modulepath when running with elevated privileges
  895     
  896     Could cause privilege elevation and/or arbitrary files overwrite, when
  897     the X server is running with elevated privileges (ie when Xorg is
  898     installed with the setuid bit set and started by a non-root user).
  899     
  900     CVE-2018-14665
  901     
  902     Issue reported by Narendra Shinde and Red Hat.
  903     
  904     Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
  905     Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
  906     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
  907     Reviewed-by: Adam Jackson <ajax@redhat.com>
  908     (cherry picked from commit 50c0cf885a6e91c0ea71fb49fa8f1b7c86fe330e)
  909 
  910 commit cfc3dec09e1a56bb050ba31bde0bbf499596063a
  911 Author: Peter Hutterer <peter.hutterer@who-t.net>
  912 Date:   Tue Oct 16 09:42:51 2018 +1000
  913 
  914     xfree86: fix readlink call
  915     
  916     Misplaced parenthesis caused us to compare the sizeof, not the readlink return
  917     value.
  918     
  919     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
  920     (cherry picked from commit bd5fe7593fd0df236f3b2be1f062166ddba7d67c)
  921 
  922 commit 2a0c6c15c35cd262e7cdb86dcc43cb1aeb714c8e
  923 Author: Adam Jackson <ajax@redhat.com>
  924 Date:   Mon Oct 15 11:17:35 2018 -0400
  925 
  926     xserver 1.20.2
  927     
  928     Signed-off-by: Adam Jackson <ajax@redhat.com>
  929 
  930 commit f5dc787fc9bb102e4eea477d1817e35370084ea2
  931 Author: Adam Jackson <ajax@redhat.com>
  932 Date:   Wed Oct 10 14:09:11 2018 -0400
  933 
  934     fbdevhw: Refuse to touch PCI devices on the fallback probe path
  935     
  936     Fixes: https://gitlab.freedesktop.org/xorg/driver/xf86-video-fbdev/issues/9
  937     Signed-off-by: Adam Jackson <ajax@redhat.com>
  938     (cherry picked from commit fc78bcca21e767697de6ad4d8e03b6728856f613)
  939 
  940 commit 4795c069a503144ea31f01de0c039f32d9880292
  941 Author: Adam Jackson <ajax@redhat.com>
  942 Date:   Fri Oct 5 14:50:20 2018 -0400
  943 
  944     glamor/egl: Avoid crashing on broken configurations
  945     
  946     0a9415cf apparently can tickle bugs in the GL stack where glGetString
  947     returns NULL, presumably because the eglMakeCurrent() didn't manage to
  948     actually install a dispatch table and you're hitting a stub function.
  949     That's clearly not our bug, but if it happens we should at least not
  950     crash. Notice this case and fail gently.
  951     
  952     Signed-off-by: Adam Jackson <ajax@redhat.com>
  953     (cherry picked from commit af151895f3cb1755a7a5631f2398a3d3b219cbef)
  954 
  955 commit 1e3c5d614ee33d9eac1d2cf6366feeb8341fc0f4
  956 Author: Adam Jackson <ajax@redhat.com>
  957 Date:   Fri Sep 14 11:33:43 2018 -0400
  958 
  959     glamor_egl: Don't initialize on llvmpipe
  960     
  961     Mesa started supporting GL_OES_EGL_image on llvmpipe in 17.3, after this
  962     commit:
  963     
  964         commit bbdeddd5fd0b797e1e281f058338b3da4d98029d
  965         Author: Gurchetan Singh <gurchetansingh@chromium.org>
  966         Date:   Tue Aug 1 14:49:33 2017 -0700
  967     
  968             st/dri: add drisw image extension
  969     
  970     That's pretty cool, but it means glamor now thinks it can initialize on
  971     llvmpipe. This is almost certainly not what anyone wants, as glamor on
  972     llvmpipe is pretty much uniformly slower than fb.
  973     
  974     This fixes both Xorg and Xwayland to refuse glamor in such a setup.
  975     Xephyr is left alone, both because glamor is not the default there and
  976     because Xephyr+glamor+llvmpipe is one of the easier ways to get xts to
  977     exercise glamor.
  978     
  979     The (very small) downside of this change is that you lose DRI3 support.
  980     This wouldn't have helped you very much (since an lp glamor blit is
  981     slower than a pixman blit), but it would eliminate the PutImage overhead
  982     for llvmpipe's glXSwapBuffers. A future change should add DRI3 support
  983     for the fb-only case.
  984     
  985     Reviewed-by: Eric Anholt <eric@anholt.net>
  986     Signed-off-by: Adam Jackson <ajax@redhat.com>
  987     (cherry picked from commit 0a9415cf793babed1f28c61f8047d51de04f1528)
  988 
  989 commit b58aa8ed9b0a052d615d34b103aa54ce357df12e
  990 Author: Alexander Volkov <a.volkov@rusbitech.ru>
  991 Date:   Mon Feb 26 19:41:18 2018 +0300
  992 
  993     os/xdmcp: Don't create a new socket in XdmcpReset()
  994     
  995     xdmcpSocket survives during the reset, there is no
  996     need to create a new one.
  997     
  998     This commit restores logic that was broken by
  999     49c0f2413d32fdfe36e45861fcb32aaeab633094 in Xorg 1.19.
 1000     
 1001     Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru>
 1002     (cherry picked from commit 32677ce03d793a1f2aa8871112eb3d19b3cb762f)
 1003 
 1004 commit b1215fb075b0166d5742c72041f58d512273bb50
 1005 Author: Pierre Ossman <ossman@cendio.se>
 1006 Date:   Wed Oct 3 10:28:52 2018 +0200
 1007 
 1008     Switch automatic composite update to WorkQueue
 1009     
 1010     It is currently (ab)using the screen BlockHandler callback to do
 1011     this. But this can cause problems with other extension as their
 1012     block handlers might have executed before Composite's. And the
 1013     operations Composite does might result in them wanting to change
 1014     timeouts.
 1015     
 1016     Practically this caused problems for TigerVNC's VNC extension which
 1017     failed to send out updates for Composite's screen updates.
 1018     
 1019     (cherry picked from commit 1bd5d0a53c5ff4169c5a6704c1c4b276f998b938)
 1020 
 1021 commit a41b6ef2244f1a0003dada0962a9d785e74d7981
 1022 Author: Adam Jackson <ajax@redhat.com>
 1023 Date:   Mon Oct 1 11:42:37 2018 -0400
 1024 
 1025     modesetting: Don't free(dst) in drmmode_prop_info_copy
 1026     
 1027     The destination is always either on the stack or in the middle of some
 1028     struct.
 1029     
 1030     Signed-off-by: Adam Jackson <ajax@redhat.com>
 1031     (cherry picked from commit 43a0f9a5dbb469f4f403a8530f33be67618933b8)
 1032 
 1033 commit 9403335910f4e6b862af5c5ef835074be2c52edb
 1034 Author: Cedric Roux <sed@free.fr>
 1035 Date:   Wed Sep 12 19:14:18 2018 +0200
 1036 
 1037     miext/damage: take care of the coordinate mode in damagePolyPoint
 1038     
 1039     The mode (CoordModeOrigin or CoordModePrevious) was not taken into
 1040     account when computing the box. The result was a bad drawing of
 1041     points in some situations (on my hardware/software configuration,
 1042     calling XDrawString followed by XDrawPoints in the mode
 1043     CoordModePrevious).
 1044     
 1045     Signed-off-by: Cedric Roux <sed@free.fr>
 1046     Signed-off-by: Eric Anholt <eric@anholt.net>
 1047     (cherry picked from commit bc36594e0eb8bfa5a673bcfd8c8168f70994a1df)
 1048 
 1049 commit c26a47b4f2e170e283ca1683d5b6ca2d04823e80
 1050 Author: Olivier Fourdan <ofourdan@redhat.com>
 1051 Date:   Thu Sep 20 16:32:29 2018 +0200
 1052 
 1053     xwayland: Use `double` for `xwl_tablet_tool`
 1054     
 1055     So we do not lose subpixel precision in Xwayland.
 1056     
 1057     Suggested-by: Peter Hutterer <peter.hutterer@who-t.net>
 1058     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 1059     Closes: https://gitlab.freedesktop.org/libinput/libinput/issues/138
 1060     (cherry picked from commit 734b2d6907f730571a2805cbc53fe7056190f19e)
 1061 
 1062 commit fb01b238c610e1955457dd9878d75b2c34c9a0c6
 1063 Author: Adam Jackson <ajax@redhat.com>
 1064 Date:   Wed Aug 29 15:42:20 2018 -0400
 1065 
 1066     xfree86: Fix Option "MaxClients" validation
 1067     
 1068     The old code would not in fact validate the option value, though it
 1069     might complain about it in the log. It also didn't let you set some
 1070     legal values that the -maxclients command line option would.
 1071     
 1072     Signed-off-by: Adam Jackson <ajax@redhat.com>
 1073     (cherry picked from commit 7d689f049c3cc16b8e0cb0103a384a2ceb84ea33)
 1074 
 1075 commit cc4051ad6a3712c4407ffb608c8d23f2b66952d6
 1076 Author: Dave Airlie <airlied@redhat.com>
 1077 Date:   Wed Sep 12 11:39:32 2018 +1000
 1078 
 1079     devices: break after finding and removing device from lists
 1080     
 1081     Coverity complains about a use after free in here after the
 1082     freeing, I can't follow the linked list so well, but whot
 1083     says the device can only be on one list once, so break should
 1084     fix it.
 1085     
 1086     Signed-off-by: Dave Airlie <airlied@redhat.com>
 1087     (cherry picked from commit ba0f5d854f4db52974ab5cd09191303b01b075ff)
 1088 
 1089 commit 64a7aac257ddbb000759d37386454866d8810545
 1090 Author: Dave Airlie <airlied@redhat.com>
 1091 Date:   Wed Sep 12 11:12:51 2018 +1000
 1092 
 1093     mibltblt: free prgnSrcClip on error path.
 1094     
 1095     Pointed out by coverity.
 1096     
 1097     Signed-off-by: Dave Airlie <airlied@redhat.com>
 1098     (cherry picked from commit c4591ea17110b5c318a5ef4b0f17a4eea306ea71)
 1099 
 1100 commit fcbdb7c8b0d7bcc6a85e0beb2ce1dba76803486b
 1101 Author: Dave Airlie <airlied@redhat.com>
 1102 Date:   Wed Sep 12 11:09:40 2018 +1000
 1103 
 1104     xkb: fix what looks to be a copy-paste error with first vs firstMM
 1105     
 1106     Pointed out by coverity.
 1107     
 1108     Signed-off-by: Dave Airlie <airlied@redhat.com>
 1109     (cherry picked from commit 758393951233d1b2520cf4cefd33ec4288a3880a)
 1110 
 1111 commit 83ef02839ce8982c2e841bc400abddbeb620481d
 1112 Author: Dave Airlie <airlied@redhat.com>
 1113 Date:   Wed Sep 12 11:05:45 2018 +1000
 1114 
 1115     posix_tty: free leak of xf86SetStrOption return value.
 1116     
 1117     Pointed out by coverity.
 1118     
 1119     Signed-off-by: Dave Airlie <airlied@redhat.com>
 1120     (cherry picked from commit cad3a1a82da3c8421b5cc98af27a779a38b5c709)
 1121 
 1122 commit 66d36010a324480ac656e702e53f9c1f6fb60d5c
 1123 Author: Dave Airlie <airlied@redhat.com>
 1124 Date:   Wed Sep 12 10:56:40 2018 +1000
 1125 
 1126     modesetting: get pEnt after error checks
 1127     
 1128     This saves us having to make sure we clean it up.
 1129     
 1130     Pointed out by coverity.
 1131     
 1132     Signed-off-by: Dave Airlie <airlied@redhat.com>
 1133     (cherry picked from commit b6c29a881eb49300fddfd0187cb10891f5257d3b)
 1134 
 1135 commit 795c58a1febb3deb9066d981b178d9cf14fdad03
 1136 Author: Dave Airlie <airlied@redhat.com>
 1137 Date:   Wed Sep 12 10:52:25 2018 +1000
 1138 
 1139     glamor: fix leak of fs_getcolor_source.
 1140     
 1141     This is created using XNFstrdup, so it needs to be freed.
 1142     
 1143     Pointed out by coverity.
 1144     Signed-off-by: Dave Airlie <airlied@redhat.com>
 1145     (cherry picked from commit f0a5c0d1fdaeee3cd701215f4f57b7eacaf783c2)
 1146 
 1147 commit bb384d0b110a99f2d935ed73d6589af46f818823
 1148 Author: Dave Airlie <airlied@redhat.com>
 1149 Date:   Wed Sep 12 10:50:21 2018 +1000
 1150 
 1151     fboverlay: move bpp checks above malloc
 1152     
 1153     Avoids having to free the malloced object.
 1154     
 1155     Pointed out by coverity.
 1156     
 1157     Signed-off-by: Dave Airlie <airlied@redhat.com>
 1158     (cherry picked from commit c7fa6a0a0d4ad28ee21b8dd9ad4fbe33f462bc71)
 1159 
 1160 commit 26a83f9833054f5cf7c7d73b0f5aa080d400c26b
 1161 Author: Dave Airlie <airlied@redhat.com>
 1162 Date:   Wed Sep 12 10:33:04 2018 +1000
 1163 
 1164     xi: free modifiers_failed on error path. (v2)
 1165     
 1166     Pointed out by coverity.
 1167     
 1168     v2: set modifies_failed to NULL at start (whot)
 1169     
 1170     Signed-off-by: Dave Airlie <airlied@redhat.com>
 1171     (cherry picked from commit 51ae6126dcf3e234d0f678f02934bc9515abb8ae)
 1172 
 1173 commit bdeab7863eb7abe2d9d05eed259542695935559c
 1174 Author: Dave Airlie <airlied@redhat.com>
 1175 Date:   Wed Sep 12 10:30:13 2018 +1000
 1176 
 1177     shm: move shmsize verify before allocating the drawable.
 1178     
 1179     Otherwise if the VERIFY_SHMSIZE macro fails we leak the drawables
 1180     we allocated earlier.
 1181     
 1182     Noticed by coverity scan.
 1183     
 1184     Signed-off-by: Dave Airlie <airlied@redhat.com>
 1185     (cherry picked from commit 3439929c510501929c6ef1d90477c33bf8838632)
 1186 
 1187 commit 8e646ca9850c071994354b503b5d2b62f99ef2a8
 1188 Author: Adam Jackson <ajax@redhat.com>
 1189 Date:   Wed Aug 29 16:07:59 2018 -0400
 1190 
 1191     modesetting: Document Option "DoubleShadow" in the man page
 1192     
 1193     Signed-off-by: Adam Jackson <ajax@redhat.com>
 1194     (cherry picked from commit c4f3e42fe316c90a73908a838ce64abbb28fe0a2)
 1195 
 1196 commit fdb80a327cfe213a206bc76d3cb43cbb33855547
 1197 Author: Adam Jackson <ajax@redhat.com>
 1198 Date:   Wed Aug 29 15:57:46 2018 -0400
 1199 
 1200     modesetting: Lie less in the man page
 1201     
 1202     We don't support 8bpp, and we do have acceleration.
 1203     
 1204     Signed-off-by: Adam Jackson <ajax@redhat.com>
 1205     (cherry picked from commit 0dc2c419e11cf28b8fa1e607d4cf2d15f2eb2306)
 1206 
 1207 commit cffac815b957fd1296d61cc5c20ba3709a77ee4e
 1208 Author: Olivier Fourdan <ofourdan@redhat.com>
 1209 Date:   Wed Sep 5 10:49:27 2018 +0200
 1210 
 1211     xwayland: Remove xwl_present_window from privates on cleanup
 1212     
 1213     Xwayland's `xwl_destroy_window()` invokes `xwl_present_cleanup()`
 1214     before the common `DestroyWindow()`.
 1215     
 1216     But then `DestroyWindow()` calls `present_destroy_window()` which will
 1217     possibly end up in `xwl_present_abort_vblank()` which will try to access
 1218     data that was previously freed by `xwl_present_cleanup()`:
 1219     
 1220       Invalid read of size 8
 1221          at 0x434184: xwl_present_abort_vblank (xwayland-present.c:378)
 1222          by 0x53785B: present_wnmd_abort_vblank (present_wnmd.c:651)
 1223          by 0x53695A: present_free_window_vblank (present_screen.c:87)
 1224          by 0x53695A: present_destroy_window (present_screen.c:152)
 1225          by 0x42A90D: xwl_destroy_window (xwayland.c:653)
 1226          by 0x584298: compDestroyWindow (compwindow.c:613)
 1227          by 0x53CEE3: damageDestroyWindow (damage.c:1570)
 1228          by 0x4F1BB8: DbeDestroyWindow (dbe.c:1326)
 1229          by 0x46F7F6: FreeWindowResources (window.c:1031)
 1230          by 0x472847: DeleteWindow (window.c:1099)
 1231          by 0x46B54C: doFreeResource (resource.c:880)
 1232          by 0x46C706: FreeClientResources (resource.c:1146)
 1233          by 0x446ADE: CloseDownClient (dispatch.c:3473)
 1234        Address 0x182abde0 is 80 bytes inside a block of size 112 free'd
 1235          at 0x4C2FDAC: free (vg_replace_malloc.c:530)
 1236          by 0x42A937: xwl_destroy_window (xwayland.c:647)
 1237          by 0x584298: compDestroyWindow (compwindow.c:613)
 1238          by 0x53CEE3: damageDestroyWindow (damage.c:1570)
 1239          by 0x4F1BB8: DbeDestroyWindow (dbe.c:1326)
 1240          by 0x46F7F6: FreeWindowResources (window.c:1031)
 1241          by 0x472847: DeleteWindow (window.c:1099)
 1242          by 0x46B54C: doFreeResource (resource.c:880)
 1243          by 0x46C706: FreeClientResources (resource.c:1146)
 1244          by 0x446ADE: CloseDownClient (dispatch.c:3473)
 1245          by 0x446DA5: ProcKillClient (dispatch.c:3279)
 1246          by 0x4476AF: Dispatch (dispatch.c:479)
 1247        Block was alloc'd at
 1248          at 0x4C30B06: calloc (vg_replace_malloc.c:711)
 1249          by 0x433F46: xwl_present_window_get_priv (xwayland-present.c:54)
 1250          by 0x434228: xwl_present_get_crtc (xwayland-present.c:302)
 1251          by 0x539728: proc_present_query_capabilities (present_request.c:227)
 1252          by 0x4476AF: Dispatch (dispatch.c:479)
 1253          by 0x44B5B5: dix_main (main.c:276)
 1254          by 0x75F611A: (below main) (libc-start.c:308)
 1255     
 1256     This is because `xwl_present_cleanup()` frees the memory but does not
 1257     remove it from the window's privates, and `xwl_present_abort_vblank()`
 1258     will still find it and hence try to access that freed memory...
 1259     
 1260     Remove `xwl_present_window` from window's privates on cleanup so that no
 1261     other function can find and reuse that data once it's freed.
 1262     
 1263     Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1616269
 1264     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 1265     (cherry picked from commit 3f31f56929e80001970e3821ed8b10c6075df8e6)
 1266 
 1267 commit 8dd7173eeba08f1ecfb414915625c609ad4b3297
 1268 Author: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
 1269 Date:   Tue Aug 28 21:30:05 2018 +0100
 1270 
 1271     xwayland: fix access to invalid pointer
 1272     
 1273     xwl_output->randr_crtc is used in the update_screen_size() function :
 1274     
 1275     ==5331== Invalid read of size 4
 1276     ==5331==    at 0x15263D: update_screen_size (xwayland-output.c:190)
 1277     ==5331==    by 0x152C48: xwl_output_remove (xwayland-output.c:413)
 1278     ==5331==    by 0x6570FCD: ffi_call_unix64 (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
 1279     ==5331==    by 0x657093E: ffi_call (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
 1280     ==5331==    by 0x4DDB183: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 1281     ==5331==    by 0x4DD79D8: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 1282     ==5331==    by 0x4DD8EA3: wl_display_dispatch_queue_pending (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 1283     ==5331==    by 0x14BCCA: xwl_read_events (xwayland.c:814)
 1284     ==5331==    by 0x2AC0D0: ospoll_wait (ospoll.c:651)
 1285     ==5331==    by 0x2A5322: WaitForSomething (WaitFor.c:208)
 1286     ==5331==    by 0x27574B: Dispatch (dispatch.c:421)
 1287     ==5331==    by 0x279945: dix_main (main.c:276)
 1288     ==5331==  Address 0x1aacb5f4 is 36 bytes inside a block of size 154 free'd
 1289     ==5331==    at 0x48369EB: free (vg_replace_malloc.c:530)
 1290     ==5331==    by 0x1F8AE8: RROutputDestroyResource (rroutput.c:421)
 1291     ==5331==    by 0x29A2AC: doFreeResource (resource.c:880)
 1292     ==5331==    by 0x29AE5B: FreeResource (resource.c:910)
 1293     ==5331==    by 0x152BE0: xwl_output_remove (xwayland-output.c:408)
 1294     ==5331==    by 0x6570FCD: ffi_call_unix64 (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
 1295     ==5331==    by 0x657093E: ffi_call (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
 1296     ==5331==    by 0x4DDB183: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 1297     ==5331==    by 0x4DD79D8: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 1298     ==5331==    by 0x4DD8EA3: wl_display_dispatch_queue_pending (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 1299     ==5331==    by 0x14BCCA: xwl_read_events (xwayland.c:814)
 1300     ==5331==    by 0x2AC0D0: ospoll_wait (ospoll.c:651)
 1301     ==5331==  Block was alloc'd at
 1302     ==5331==    at 0x48357BF: malloc (vg_replace_malloc.c:299)
 1303     ==5331==    by 0x1F93E0: RROutputCreate (rroutput.c:83)
 1304     ==5331==    by 0x152A75: xwl_output_create (xwayland-output.c:361)
 1305     ==5331==    by 0x14BE59: registry_global (xwayland.c:764)
 1306     ==5331==    by 0x6570FCD: ffi_call_unix64 (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
 1307     ==5331==    by 0x657093E: ffi_call (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
 1308     ==5331==    by 0x4DDB183: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 1309     ==5331==    by 0x4DD79D8: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 1310     ==5331==    by 0x4DD8EA3: wl_display_dispatch_queue_pending (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 1311     ==5331==    by 0x14BCCA: xwl_read_events (xwayland.c:814)
 1312     ==5331==    by 0x2AC0D0: ospoll_wait (ospoll.c:651)
 1313     ==5331==    by 0x2A5322: WaitForSomething (WaitFor.c:208)
 1314     
 1315     Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
 1316     Reviewed-by: Daniel Stone <daniels@collabora.com>
 1317     (cherry picked from commit 53ce2ba0a19af9c549f47a4cc678afcebeb6087e)
 1318 
 1319 commit 1191b23f942cace785234f5d7fac972251c8f1db
 1320 Author: Olivier Fourdan <ofourdan@redhat.com>
 1321 Date:   Wed Sep 5 15:20:17 2018 +0200
 1322 
 1323     glx: check for indirect context in CreateContextAttribsARB()
 1324     
 1325     Commit 99f0365b "Add a command line argument for disabling indirect GLX"
 1326     added a test to check if indirect context are enabled in
 1327     `DoCreateContext()` but `__glXDisp_CreateContextAttribsARB()` doesn't
 1328     use `DoCreateContext()` and doesn't check if indirect context is
 1329     enabled.
 1330     
 1331     As a result, clients can still manage to create indirect contexts using
 1332     `glXCreateContextAttribsARB()` even if indirect contexts are disabled,
 1333     which can possibly crash Xservers such as Xwayland or Xephyr when the
 1334     context is destroyed.
 1335     
 1336     To avoid the issue, check for `enableIndirectGLX` in
 1337     `__glXDisp_CreateContextAttribsARB()` as well.
 1338     
 1339     Fixes: 99f0365b "Add a command line argument for disabling indirect GLX"
 1340     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107508
 1341     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 1342     (cherry picked from commit 75448671abe2c6ae3745eb5d2ed2e76df2de9c41)
 1343 
 1344 commit 1b0db2c74258d20e3f99bd69c2914fd445abe920
 1345 Author: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
 1346 Date:   Mon Aug 27 01:04:45 2018 +0100
 1347 
 1348     present: fix freed pointer access
 1349     
 1350     When a vblank has been marked as aborted, it's going to be free in the
 1351     flip_notify function when stopped. We can't notify it after it's
 1352     stopped because the pointer is invalid.
 1353     
 1354     Valgrind backtrace:
 1355     
 1356     ==5331== Invalid read of size 8
 1357     ==5331==    at 0x212B4D: present_vblank_notify (present_vblank.c:34)
 1358     ==5331==    by 0x21439B: present_wnmd_flip_notify (present_wnmd.c:194)
 1359     ==5331==    by 0x21439B: present_wnmd_event_notify (present_wnmd.c:228)
 1360     ==5331==    by 0x156216: xwl_present_sync_callback (xwayland-present.c:282)
 1361     ==5331==    by 0x6570FCD: ffi_call_unix64 (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
 1362     ==5331==    by 0x657093E: ffi_call (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
 1363     ==5331==    by 0x4DDB183: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 1364     ==5331==    by 0x4DD79D8: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 1365     ==5331==    by 0x4DD8EA3: wl_display_dispatch_queue_pending (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 1366     ==5331==    by 0x14BCCA: xwl_read_events (xwayland.c:814)
 1367     ==5331==    by 0x2AC0D0: ospoll_wait (ospoll.c:651)
 1368     ==5331==    by 0x2A5322: WaitForSomething (WaitFor.c:208)
 1369     ==5331==    by 0x27574B: Dispatch (dispatch.c:421)
 1370     ==5331==  Address 0x1b44dc98 is 40 bytes inside a block of size 184 free'd
 1371     ==5331==    at 0x48369EB: free (vg_replace_malloc.c:530)
 1372     ==5331==    by 0x213B0A: present_wnmd_free_idle_vblanks (present_wnmd.c:118)
 1373     ==5331==    by 0x213B0A: present_wnmd_flips_stop (present_wnmd.c:161)
 1374     ==5331==    by 0x2143EF: present_wnmd_flip_notify (present_wnmd.c:192)
 1375     ==5331==    by 0x2143EF: present_wnmd_event_notify (present_wnmd.c:228)
 1376     ==5331==    by 0x156216: xwl_present_sync_callback (xwayland-present.c:282)
 1377     ==5331==    by 0x6570FCD: ffi_call_unix64 (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
 1378     ==5331==    by 0x657093E: ffi_call (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
 1379     ==5331==    by 0x4DDB183: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 1380     ==5331==    by 0x4DD79D8: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 1381     ==5331==    by 0x4DD8EA3: wl_display_dispatch_queue_pending (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 1382     ==5331==    by 0x14BCCA: xwl_read_events (xwayland.c:814)
 1383     ==5331==    by 0x2AC0D0: ospoll_wait (ospoll.c:651)
 1384     ==5331==    by 0x2A5322: WaitForSomething (WaitFor.c:208)
 1385     ==5331==  Block was alloc'd at
 1386     ==5331==    at 0x48377D5: calloc (vg_replace_malloc.c:711)
 1387     ==5331==    by 0x212D9F: present_vblank_create (present_vblank.c:69)
 1388     ==5331==    by 0x214014: present_wnmd_pixmap (present_wnmd.c:610)
 1389     ==5331==    by 0x21576C: proc_present_pixmap (present_request.c:150)
 1390     ==5331==    by 0x27599D: Dispatch (dispatch.c:479)
 1391     ==5331==    by 0x279945: dix_main (main.c:276)
 1392     ==5331==    by 0x633AB16: (below main) (libc-start.c:310)
 1393     
 1394     v2: Still notify aborted flips (Roman)
 1395     
 1396     Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
 1397     Reviewed-by: Daniel Stone <daniels@collabora.com>
 1398     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107314
 1399     Reviewed-by: Roman Gilg <subdiff@gmail.com>
 1400     Tested-by: Roman Gilg <subdiff@gmail.com>
 1401     (cherry picked from commit ce271535adb6974e0a43bb64c8ed7a5dcaff67a2)
 1402 
 1403 commit 48300a7775b4ff3200de200e8c5502d99bd99104
 1404 Author: Scott Anderson <scott@anderso.nz>
 1405 Date:   Mon Aug 6 18:09:26 2018 +1200
 1406 
 1407     xwayland: use wayland axis_discrete event
 1408     
 1409     This prevents multiple scroll events happening for wayland compositors
 1410     which send axis values other than 10. For example, libinput will
 1411     typically return 15 for each scroll wheel step, and if a wayland
 1412     compositor sends those to xwayland without normalising them, 2 scroll
 1413     wheel steps will end up as 3 xorg scroll events. By listening for the
 1414     discrete_axis event, this will now correctly send only 2 xorg scroll
 1415     events.
 1416     
 1417     The wayland protocol gurantees that there will always be an axis event
 1418     following an axis_discrete event. However, it does not gurantee that
 1419     other events (including other axis_discrete+axis pairs) will not happen
 1420     in between them. So we must keep a list of outstanding axis_discrete
 1421     events.
 1422     
 1423     Signed-off-by: Scott Anderson <scott@anderso.nz>
 1424     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 1425     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 1426     (cherry picked from commit cd285922cdec966825e47220b1182a57abc1ff90)
 1427 
 1428 commit cd19a752f8bbc6caae7bf2457c53c850121fe9b7
 1429 Author: Jim Qu <Jim.Qu@amd.com>
 1430 Date:   Mon Aug 27 13:37:38 2018 +0800
 1431 
 1432     modesetting: code refactor for PRIME sync
 1433     
 1434     The X will be crashed on the system with other DDX driver,
 1435     such as amdgpu.
 1436     
 1437     show the log like:
 1438     
 1439     randr: falling back to unsynchronized pixmap sharing
 1440     (EE)
 1441     (EE) Backtrace:
 1442     (EE) 0: /usr/lib/xorg/Xorg (xorg_backtrace+0x4e)
 1443     (EE) 1: /usr/lib/xorg/Xorg (0x55cb0151a000+0x1b5ce9)
 1444     (EE) 2: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7f1587a1d000+0x11390)
 1445     (EE)
 1446     (EE) Segmentation fault at address 0x0
 1447     (EE)
 1448     
 1449     The issue is that modesetting as the master, and amdgpu as the slave.
 1450     Thus, when the master attempts to access pSlavePixPriv in ms_dirty_update(),
 1451     problems result due to the fact that it's accessing AMD's 'ppriv' using the
 1452     modesetting structure definition.
 1453     
 1454     Apart from fixing crash issue, the patch fix other issue in master interface
 1455     in which driver should refer to master pixmap.
 1456     
 1457     Signed-off-by: Jim Qu <Jim.Qu@amd.com>
 1458     Reviewed-by: Alex Goins <agoins@nvidia.com>
 1459     (cherry picked from commit f79e5368512b72bb463925983d265b070261b7aa)
 1460 
 1461 commit 5396a4aa084853805a73a2cfbbce156c47573916
 1462 Author: Alex Goins <agoins@nvidia.com>
 1463 Date:   Tue Aug 14 15:05:46 2018 -0500
 1464 
 1465     randr: rrCheckPixmapBounding should only increase screen size
 1466     
 1467     The purpose of rrCheckPixmapBounding() is to make sure that the fb is large
 1468     enough to accommodate the region scanned out by a GPU screen. Currently, however,
 1469     it will actually shrink the fb if it's larger than it needs to be.
 1470     
 1471     This is a problem when combining PRIME output slaving with arbitrary transforms
 1472     with xrandr.
 1473     
 1474     Although arbitrary transforms are not supposed to constrain the size of the fb
 1475     (https://lists.freedesktop.org/archives/xorg-devel/2018-January/055563.html),
 1476     xrandr will use RRSetScreenSize to resize the desktop to accommodate scaling
 1477     transforms, e.g. scaling a 1920x1080 display to 3840x2160 will result in a
 1478     desktop size of 3840x2160.
 1479     
 1480     In the case of PRIME, rrCheckPixmapBounding() will be called after
 1481     RRSetScreenSize() and it will resize the fb back down to what it would be
 1482     without the scaling transform, e.g. 1920x1080. This represents divergence in
 1483     behavior between PRIME and non-PRIME outputs.
 1484     
 1485     I had originally made rrCheckPixmapBounding() account for arbitrary transforms,
 1486     but realized that the fb being large enough to accommodate arbitrary transforms
 1487     is not a hard requirement enforced in the server. Instead, this change simply
 1488     makes it so that rrCheckPixmapBounding() will only resize the fb to be larger
 1489     than it already is, preventing it from stepping on prior requests to increase
 1490     the size of the fb.
 1491     
 1492     Signed-off-by: Alex Goins <agoins@nvidia.com>
 1493     Reviewed-by: Keith Packard <keithp@keithp.com>
 1494     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
 1495     (cherry picked from commit a90f33721eba7f2dbde4a7278f1a213d696c85e9)
 1496 
 1497 commit 051a0efc5c28fb4be1199d73d59e0e4d329b1144
 1498 Author: Peter Hutterer <peter.hutterer@who-t.net>
 1499 Date:   Wed Aug 8 15:22:41 2018 +1000
 1500 
 1501     dix: check_modmap_change() returns Success, not true
 1502     
 1503     Not sure what if anything calls XSetDeviceModifierMapping() but this would've
 1504     failed all the time. check_modmap_change() returns Success but we were
 1505     treating it like a boolean. Fix this.
 1506     
 1507     Reported-by: Adam Jackson <ajax@redhat.com>
 1508     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 1509     Reviewed-by: Keith Packard <keithp@keithp.com>
 1510     (cherry picked from commit 4fe02b8da3ca58500f7e6e017e388907cf4a8b73)
 1511 
 1512 commit 1508ea68065b7976dbf56039f9b20dcaf0394431
 1513 Author: Adam Jackson <ajax@redhat.com>
 1514 Date:   Tue Aug 7 12:26:05 2018 -0400
 1515 
 1516     xserver 1.20.1
 1517     
 1518     Signed-off-by: Adam Jackson <ajax@redhat.com>
 1519 
 1520 commit 101d15c7634b26eafb3c5f2edb7cafde102ce208
 1521 Author: Keith Packard <keithp@keithp.com>
 1522 Date:   Tue Jun 26 09:20:00 2018 -0700
 1523 
 1524     During reset/shutdown, clean up leases in DIX instead of each driver
 1525     
 1526     Instead of having every video driver loop over any pending leases to
 1527     free them during CloseScreen, do this up in the DIX layer by
 1528     terminating leases when a leased CRTC or Output is destroyed and
 1529     (just to make sure), also terminating leases in RRCloseScreen. The
 1530     latter should "never" get invoked as any lease should be associated
 1531     with a resource which was destroyed.
 1532     
 1533     This is required as by the time the driver's CloseScreen function is
 1534     invoked, we've already freed all of the DIX randr structures and no
 1535     longer have any way to reference the leases
 1536     
 1537     Signed-off-by: Keith Packard <keithp@keithp.com>
 1538     Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=106960
 1539     Cc: Thomas Hellstrom <thellstrom@vmware.com>
 1540     (cherry picked from commit 1ef7aed3e2bb2af32330f19b1e7560000512ddfe)
 1541 
 1542 commit 9347326d28fffc7534cad0b084539e936aacfd45
 1543 Author: Peter Hutterer <peter.hutterer@who-t.net>
 1544 Date:   Wed Jul 18 13:22:43 2018 +1000
 1545 
 1546     Xext: dynamically allocate the PanoramiXDepths[j].vids array
 1547     
 1548     Control flow is:
 1549        PanoramiXMaybeAddDepth() allocates an array size 240 (pDepth->numVisuals)
 1550        PanoramiXMaybeAddVisual() finds up to 270 matches (pScreen->numVisuals)
 1551        and writes those into the previously allocated array.
 1552     
 1553     This caused invalid reads/writes followed by eventually a double-free abort.
 1554     
 1555     Reproduced with xorg-integration-tests server test
 1556     XineramaTest.ScreenCrossing/* (and a bunch of others).
 1557     
 1558     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 1559     Reviewed-by: Keith Packard <keithp@keithp.com>
 1560     (cherry picked from commit 93cafb0828d2e24bd14616df1aa9883fb843dd6c)
 1561 
 1562 commit cbf1ca2dba7bc3561cf1a8023e5e18706adbdba6
 1563 Author: emersion <contact@emersion.fr>
 1564 Date:   Fri Jul 13 15:51:26 2018 -0400
 1565 
 1566     xwayland: rotate logical size for RRMode
 1567     
 1568     The logical size is the size of the output in the global compositor
 1569     space. The mode width/height should be scaled as in the logical
 1570     size, but shouldn't be transformed. Thus we need to rotate back
 1571     the logical size to be able to use it as the mode width/height.
 1572     
 1573     This fixes issues with pointer input on transformed outputs.
 1574     
 1575     Signed-Off-By: Simon Ser <contact@emersion.fr>
 1576     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 1577     (cherry picked from commit ce2dde9ed0243a18ae18af0879134f7c1afbd700)
 1578 
 1579 commit 18a52a8e16046d8cabea6cf45913bf0b5be07709
 1580 Author: Olivier Fourdan <ofourdan@redhat.com>
 1581 Date:   Wed Jul 25 16:33:23 2018 +0200
 1582 
 1583     xwayland: Enable DRI3 for glamor
 1584     
 1585     glamor_fds_from_pixmap() will bail out early if DRI3 is not enabled,
 1586     unfortunately Xwayland's glamor code would not set it as enabled which
 1587     would lead to blank pixmaps when using texture from pixmap.
 1588     
 1589     Make sure to mark DRI3 as enabled from glamor_egl_screen_init() in
 1590     Xwayland.
 1591     
 1592     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107287
 1593     Fixes: c8c276c956 ("glamor: Implement PixmapFromBuffers and BuffersFromPixmap")
 1594     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 1595     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
 1596     (cherry picked from commit cdec2b3c195d1d080207ef01c55ff14b45370010)
 1597 
 1598 commit c256e31a9eba20da259f31ee70d1c8e1870993f1
 1599 Author: Takashi Iwai <tiwai@suse.de>
 1600 Date:   Thu Jul 19 14:38:19 2018 +0200
 1601 
 1602     modesetting: Fix cirrus 24bpp breakage
 1603     
 1604     The recent rewrite of modesetting driver broke the 24bpp support.
 1605     As typically found on cirrus KMS, it leads to a blank screen, spewing
 1606     the error like:
 1607       failed to add fb -22
 1608       (EE) modeset(0): failed to set mode: Invalid argument
 1609     
 1610     The culript is that the wrong bpp value of the front buffer is passed
 1611     to drmModeAddFB().  Fix it by replacing with the back buffer bpp,
 1612     drmmode->kbpp.
 1613     
 1614     Signed-off-by: Takashi Iwai <tiwai@suse.de>
 1615     Tested-by: Stefan Dirsch <sndirsch@suse.de>
 1616     Reviewed-by: Adam Jackson <ajax@redhat.com>
 1617     (cherry picked from commit d625e16918ef9104863709eb108346464767c444)
 1618 
 1619 commit 2da0bde4498cf4ee422e5a2cb2c53cbbb73df937
 1620 Author: Matt Turner <mattst88@gmail.com>
 1621 Date:   Tue May 22 21:10:55 2018 -0700
 1622 
 1623     xfree86: Inline xf86{Read,Write}Mmio{8,16,32} on alpha
 1624     
 1625     In commit 9db2af6f757e (xfree86: Remove xf86{Map,Unmap}VidMem) we
 1626     somehow stopped exporting xf86{Read,Write}Mmio{8,16,32}. Since the
 1627     function pointer indirection was intended to support dense vs sparse and
 1628     sparse support is now gone, we can just make the functions static inline
 1629     in compiler.h and avoid all of this.
 1630     
 1631     Bugzilla: https://bugs.gentoo.org/548906
 1632     Tested-by: Christopher May-Townsend <chris@maytownsend.co.uk>
 1633     Reviewed-by: Adam Jackson <ajax@redhat.com>
 1634     Signed-off-by: Matt Turner <mattst88@gmail.com>
 1635     (cherry picked from commit 166ac294aefe21a6cfcc0e7a4c9525eef49c2f0c)
 1636 
 1637 commit b9e9eda08bd9198a6d089acd5d50677cd8713b33
 1638 Author: Stefan Agner <stefan@agner.ch>
 1639 Date:   Thu Dec 22 15:41:06 2016 +0100
 1640 
 1641     modesetting: Fix 16 bit depth/bpp mode
 1642     
 1643     When setting DefaultDepth to 16 in the Screen section, the current
 1644     code requests a 32 bpp framebuffer, however the X-Server seems to
 1645     assumes 16 bpp.
 1646     
 1647     Fixes commit 21217d02168d ("modesetting: Implement 32->24 bpp
 1648     conversion in shadow update")
 1649     
 1650     Reviewed-by: Adam Jackson <ajax@redhat.com>
 1651     Signed-off-by: Stefan Agner <stefan@agner.ch>
 1652     (cherry picked from commit 1c7f34e99ff9750979a03ae20c6be1f2b42c284c)
 1653 
 1654 commit 5c0662d44852363fe258c045250710ed881e56b7
 1655 Author: Lyude Paul <lyude@redhat.com>
 1656 Date:   Fri Jun 22 12:49:47 2018 -0400
 1657 
 1658     meson: ensure the libc has RPC functions when secure-rpc is enabled
 1659     
 1660     Currently our meson.build just makes the assumption that the libc is
 1661     going to provide RPC functions. This doesn't actually seem to be the
 1662     case on Fedora, which causes compilation to fail unexpectedly:
 1663     
 1664     ../../Projects/xserver/os/rpcauth.c:47:10: fatal error: rpc/rpc.h: No such file or directory
 1665      #include <rpc/rpc.h>
 1666               ^~~~~~~~~~~
 1667     compilation terminated.
 1668     
 1669     So, in the event that we can't use libtirpc ensure that we actually
 1670     check whether or not the libc provides rpc/rpc.h. If it doesn't, raise
 1671     an error.
 1672     
 1673     Reviewed-by: Adam Jackson <ajax@redhat.com>
 1674     Signed-off-by: Lyude Paul <lyude@redhat.com>
 1675     (cherry picked from commit d95a1310ef8e08a93a28f9766d1b4093f7891404)
 1676 
 1677 commit 10285bc36b411edd923ee5d369244647ba2b714b
 1678 Author: Keith Packard <keithp@keithp.com>
 1679 Date:   Tue Jun 26 16:34:29 2018 -0700
 1680 
 1681     xf86-video-modesetting: Lease planes as well if using atomic
 1682     
 1683     If we're using atomic modesetting, then we're also using universal
 1684     planes, and so the lease we create needs to include the plane.
 1685     
 1686     Signed-off-by: Keith Packard <keithp@keithp.com>
 1687     Reviewed-by: Daniel Stone <daniels@collabora.com>
 1688     (cherry picked from commit d83efc47b7a524b4f8d4a993c27a3e402a98fa7c)
 1689 
 1690 commit a530198ac0ffdc4c268d13e59079f7583930a284
 1691 Author: Keith Packard <keithp@keithp.com>
 1692 Date:   Tue Jun 26 14:05:31 2018 -0700
 1693 
 1694     xf86-video-modesetting: Don't enable UNIVERSAL_PLANES separately
 1695     
 1696     We don't want universal_planes unless we're using atomic APIs for
 1697     modesetting, and the kernel already enables universal_planes
 1698     automatically when atomic is enabled.
 1699     
 1700     If we enable universal_planes when we're not using atomic, then we
 1701     won't have selected a plane for each crtc, and this will break lease
 1702     creation which requires planes for each output when universal_planes
 1703     is enabled.
 1704     
 1705     Signed-off-by: Keith Packard <keithp@keithp.com>
 1706     Reviewed-by: Daniel Stone <daniels@collabora.com>
 1707     (cherry picked from commit 4a11f66e4690f9e94dc61cb264f5ef78dbdb255a)
 1708 
 1709 commit cd7680adccdf8f6905a83ae08cbde7ac76693fe5
 1710 Author: Keith Packard <keithp@keithp.com>
 1711 Date:   Thu Jun 28 11:45:16 2018 -0700
 1712 
 1713     xfree86: Wrap RRCrtcIsLeased and RROutputIsLeased to check for DIX structures
 1714     
 1715     Before DIX structures are allocated for crtcs and outputs, we don't
 1716     want to call DIX randr code with NULL pointers. This can happen if the
 1717     driver sets video modes early in server initialization, which Nouveau
 1718     does in zaphod mode.
 1719     
 1720     Cc: thellstrom@vmware.com
 1721     Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=106772
 1722     Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=106960
 1723     Reviewed-by: Adam Jackson <ajax@redhat.com>
 1724     Signed-off-by: Keith Packard <keithp@keithp.com>
 1725     (cherry picked from commit 2faf4cef8bcf9bb2034a27219a656ea7221afc6c)
 1726 
 1727 commit ebd4cd71f49151fb699cf45e835f3719e6b31bf5
 1728 Author: Keith Packard <keithp@keithp.com>
 1729 Date:   Thu Jun 28 11:45:15 2018 -0700
 1730 
 1731     xfree86: Reset randr_crtc and randr_output early in xf86CrtcCloseScreen
 1732     
 1733     The DIX crtc and output structures are freed when their resources are
 1734     destroyed, which happens before CloseScreen is called. As a result, we
 1735     know these pointers are invalid and referencing them during any of the
 1736     remaining CloseScreen sequence will be bad.
 1737     
 1738     Reviewed-by: Adam Jackson <ajax@redhat.com>
 1739     Signed-off-by: Keith Packard <keithp@keithp.com>
 1740     Cc: thellstrom@vmware.com
 1741     Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=106960
 1742     (cherry picked from commit c55a44a9a86aaece17c1a2e73c77e3e665c4888e)
 1743 
 1744 commit 1f169d5b38d93d725029d5f7dc237b558e8bb137
 1745 Author: Jon Turney <jon.turney@dronecode.org.uk>
 1746 Date:   Sat Jun 30 12:53:35 2018 +0100
 1747 
 1748     meson: use absolute paths in manpage substitutions
 1749     
 1750     paths returned by get_option('foodir') are potentially relative to prefix
 1751     
 1752     Noticed when comparing manpages generated by a meson build with those
 1753     generated by an autotools build
 1754     
 1755     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 1756     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 1757     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 1758     (cherry picked from commit 49283e238a0ba6051034ae635e5970891f17f9df)
 1759 
 1760 commit bc1882aa23a129c4b72b0bfc132cfd04db801a90
 1761 Author: Keith Packard <keithp@keithp.com>
 1762 Date:   Thu Jan 18 18:07:29 2018 -0800
 1763 
 1764     modesetting: Allow a DRM fd to be passed on command line with -masterfd [v2]
 1765     
 1766     This lets an application open a suitable DRM device and pass the file
 1767     descriptor to the mode setting driver through an X server command line
 1768     option, '-masterfd'.
 1769     
 1770     There's a companion application, xlease, which creates a DRM master by
 1771     leasing an output from another X server. That is available at
 1772     
 1773             git clone git://people.freedesktop.org/~keithp/xlease
 1774     
 1775     v2:
 1776             Always print usage, but note that it can't be used if
 1777             setuid/gid
 1778     
 1779             Suggested-by: Lyude Paul <lyude@redhat.com>
 1780     
 1781     Signed-off-by: Keith Packard <keithp@keithp.com>
 1782     Reviewed-by: Lyude Paul <lyude@redhat.com>
 1783     (cherry picked from commit 38ff29ec8ead0a293f50ac52146199babe4205ca)
 1784 
 1785 commit d60ce5b01f5988abc9957473d7175872c8845b08
 1786 Author: Laurent Carlier <lordheavym@gmail.com>
 1787 Date:   Sat Jun 16 13:00:01 2018 +0200
 1788 
 1789     meson: Add configuration of listening on tcp, unix and local
 1790     
 1791     bugzilla: https://bugs.kde.org/show_bug.cgi?id=395419
 1792     bugzilla: https://bugs.archlinux.org/task/59025
 1793     
 1794     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 1795     Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
 1796     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 1797     (cherry picked from commit 2f39b2a07805194fdd7def30d941666963d6e670)
 1798 
 1799 commit 79795bf9df395001c8d659ac8d28090ea9cefc8d
 1800 Author: Lyude Paul <lyude@redhat.com>
 1801 Date:   Wed Jun 27 20:29:42 2018 -0400
 1802 
 1803     modesetting: Fix uninitialized memory usage in drmmode_crtc_get_fb_id()
 1804     
 1805     This really sucked to find out :(
 1806     
 1807     Signed-off-by: Lyude Paul <lyude@redhat.com>
 1808     Reviewed-by: Karol Herbst <kherbst@redhat.com>
 1809     (cherry picked from commit c41d4ff48f72aa964afd131b59e1538295d062dc)
 1810 
 1811 commit 820ce7cb8bb07018de89e13aa50ae6090f2d84eb
 1812 Author: Thomas Hellstrom <thellstrom@vmware.com>
 1813 Date:   Wed Jun 20 19:23:48 2018 +0200
 1814 
 1815     glamor: Work around GEM usage v2
 1816     
 1817     KMS drivers are not required to support GEM. In particular, vmwgfx
 1818     doesn't support flink and handles and names are identical.
 1819     Getting a bo name should really be part of a lower level API, if needed,
 1820     but in the mean time work around this by setting the name identical to
 1821     the handle if GEM isn't supported.
 1822     
 1823     This fixes modesetting driver dri2 on vmwgfx.
 1824     
 1825     Reviewed-by: Deepak Rawat <drawat@vmware.com>
 1826     Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
 1827     (cherry picked from commit 9f02855e7a1b7a3c1e2ee7bfbc73e87c29126920)
 1828 
 1829 commit ba6a9283817254dca90fd8f9ee695504e7c20908
 1830 Author: Lyude Paul <lyude@redhat.com>
 1831 Date:   Wed Jun 20 19:12:32 2018 -0400
 1832 
 1833     randr: Scream when creating a shared pixmap fails
 1834     
 1835     This seems like a problem worth screaming about.
 1836     
 1837     Signed-off-by: Lyude Paul <lyude@redhat.com>
 1838     Reviewed-by: Dave Airlie <airlied@redhat.com>
 1839     (cherry picked from commit dc90b1c3c328f1d0b022a234b69ef32bda7ccb01)
 1840 
 1841 commit 91ec6245d6269a88a3f3ecd10fa7a7b326b0a616
 1842 Author: Lyude Paul <lyude@redhat.com>
 1843 Date:   Wed Jun 20 19:12:31 2018 -0400
 1844 
 1845     glamor: Unbreak glamor_fd_from_pixmap()
 1846     
 1847     When support for allocating GBM BOs with modifiers was added,
 1848     glamor_fd_from_pixmap() was changed so that it would return an error if
 1849     it got a bo with modifiers set from glamor_fds_from_pixmap(). The
 1850     problem is that on systems that support BOs with modifiers,
 1851     glamor_fds_from_pixmap() will always return BOs with modifiers.
 1852     
 1853     This means that glamor_fd_from_pixmap() was broken entirely, which broke
 1854     a number of other things including glamor_shareable_fd_from_pixmap(),
 1855     which meant that modesetting using multiple GPUs with the modesetting
 1856     DDX was also broken. Easy reproducer:
 1857     
 1858     - Find a laptop with DRI prime that has outputs connected to the
 1859       dedicated GPU and integrated GPU
 1860     - Try to enable one display on each using the modesetting DDX
 1861     - Fail
 1862     
 1863     Since there isn't a way to ask for no modifiers from
 1864     glamor_fds_from_pixmap, we create a shared _glamor_fds_from_pixmap()
 1865     function used by both glamor_fds_from_pixmap() and
 1866     glamor_fd_from_pixmap() that calls down to the appropriate
 1867     glamor_egl_fd*_from_pixmap() function.
 1868     
 1869     Signed-off-by: Lyude Paul <lyude@redhat.com>
 1870     Reviewed-by: Dave Airlie <airlied@redhat.com>
 1871     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 1872     Fixes: c8c276c956 ("glamor: Implement PixmapFromBuffers and BuffersFromPixmap")
 1873     (cherry picked from commit 186a21c4bac744ffe645c8d1a6dda2d41c6d33d8)
 1874 
 1875 commit 821f38fa56087fcb11d2d2483366307fc88bf365
 1876 Author: Lyude Paul <lyude@redhat.com>
 1877 Date:   Thu Jun 7 20:30:34 2018 -0400
 1878 
 1879     modesetting: Also disable CRTC in drmmode_output_disable()
 1880     
 1881     So, this did actually work on older kernels at one point in time,
 1882     however it seems that this working was a result of some of the Linux
 1883     kernel's atomic modesetting helpers not preserving the CRTC's enabled
 1884     state in the right spots. This was fixed in:
 1885     
 1886     846c7dfc1193 ("drm/atomic: Try to preserve the crtc enabled state in drm_atomic_remove_fb, v2")
 1887     
 1888     As a result, atomic commits which simply disassociate a DRM connector
 1889     with it's CRTC while leaving the CRTC in an enabled state aren't enough
 1890     to disable the CRTC, and result in the atomic commit failing. This
 1891     currently can cause issues with MST hotplugging where X will end up
 1892     failing to disable the MST outputs after they've left the system. A
 1893     simple reproducer:
 1894     
 1895     - Start up Xorg
 1896     - Connect an MST hub with displays connected to it
 1897     - Remove the hub
 1898     - Now there should be CRTCs stuck on the orphaned MST connectors, and X
 1899       won't be able to reclaim them.
 1900     
 1901     Signed-off-by: Lyude Paul <lyude@redhat.com>
 1902     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 1903     Reviewed-by: Dave Airlie <airlied@redhat.com>
 1904     (cherry picked from commit c12f1bd4b76088ea66e3bec9ab9721a52b20cdf2)
 1905 
 1906 commit 2f4d0d84266b82d8838b8b9b7972f45d66f0e2d1
 1907 Author: Olivier Fourdan <ofourdan@redhat.com>
 1908 Date:   Fri Jun 15 08:57:12 2018 +0200
 1909 
 1910     modesetting: use drmmode_bo_import() for rotate_fb
 1911     
 1912     drmmode_shadow_allocate() still uses drmModeAddFB() which may fail if
 1913     the format is not as expected, preventing from using a rotated output.
 1914     
 1915     Change it to use the new function drmmode_bo_import() which takes care
 1916     of calling the drmModeAddFB2() API.
 1917     
 1918     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106715
 1919     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 1920     Tested-by: Tomas Pelka <tpelka@redhat.com>
 1921     Reviewed-by: Lyude Paul <lyude@redhat.com>
 1922     (cherry picked from commit a85e94a50c94b07574c8701a3ff3c1243f4257f4)
 1923 
 1924 commit 394ed02f8761c7599fa08628a4d28d34337028f6
 1925 Author: John Lumby <johnlumby@hotmail.com>
 1926 Date:   Tue Jun 26 17:14:34 2018 -0700
 1927 
 1928     Change the DPMS initialization to be conditional on not set from config
 1929     
 1930     Any DPMS timeout values set in ServerFlags section of the xorg.conf
 1931     are being overwritten by DPMS extension initialization.  Therefore
 1932     change the DPMS initialization of timeout values to be conditional on
 1933     not set from config.
 1934     
 1935     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106963
 1936     Signed-off-by: John Lumby <johnlumby@hotmail.com>
 1937     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 1938     Signed-off-by: Keith Packard <keithp@keithp.com>
 1939     (cherry picked from commit f5aace7a27d6d61068dcae46c9756b669ab51d50)
 1940 
 1941 commit 8c2f0f8cbdba04f3d2eb65e3ea98f809545f8e87
 1942 Author: Damien Leone <dleone@nvidia.com>
 1943 Date:   Mon Jun 18 16:24:28 2018 -0700
 1944 
 1945     os: Recompute whether any clients are ready after check_timers()
 1946     
 1947     If a driver calls AttendClient() from within a timer callback we
 1948     need to re-compute the local 'are_ready' to prevent the attended
 1949     client from waiting until WaitForSomething() times out.
 1950     
 1951     This is a fix similar to commit 9ed5b263.
 1952     
 1953     Signed-off-by: Damien Leone <dleone@nvidia.com>
 1954     Reviewed-by: Keith Packard <keithp@keithp.com>
 1955     (cherry picked from commit f33cb4264387ed14a586ba080885b4d21e4aa48b)
 1956 
 1957 commit 180ab06d4564579cf05cb44c2533ac914b68be77
 1958 Author: Olivier Fourdan <ofourdan@redhat.com>
 1959 Date:   Mon Jun 11 09:21:08 2018 +0200
 1960 
 1961     xwayland: mandatory EGL backend API
 1962     
 1963     The API init_wl_registry() and has_wl_interfaces() are marked as being
 1964     optional, but both GBM And EGLStream backends implement them so there is
 1965     point in keeping those optional.
 1966     
 1967     Suggested-by: Emil Velikov <emil.velikov@collabora.com>
 1968     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 1969     (cherry picked from commit 92daeb31fa3235dc791e0444b072ec4bbc6e35ab)
 1970 
 1971 commit c641d10ef04475f2898cc40536bd5a03371f2761
 1972 Author: Olivier Fourdan <ofourdan@redhat.com>
 1973 Date:   Mon Jun 11 09:13:30 2018 +0200
 1974 
 1975     xwayland: simplify xwl_glamor_pixmap_get_wl_buffer()
 1976     
 1977     When retrieving the Wayland buffer from a pixmap, if the buffer already
 1978     exists, the GBM backend will return that existing buffer.
 1979     
 1980     However, as seen with the Present issues, if the call had previously
 1981     passed a wrong size, that buffer will remain at the wrong size for as
 1982     long as the buffer exists, which is error prone.
 1983     
 1984     Considering that the width/height passed to get_wl_buffer() is always the
 1985     actual pixmap  drawable size, and considering that the EGLStream backend
 1986     makes no use of the size either, there is really no point in passing the
 1987     width/height around.
 1988     
 1989     Simplify the xwl_glamor_pixmap_get_wl_buffer() and EGL backends API by
 1990     removing the pixmap size, and use the drawable size instead.
 1991     
 1992     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 1993     (cherry picked from commit 792359057bd54548555674d2d309c0cfeebac12d)
 1994 
 1995 commit 79ebd7f689492314067fc863510ad44683b67e64
 1996 Author: Olivier Fourdan <ofourdan@redhat.com>
 1997 Date:   Tue Jun 5 19:38:45 2018 +0200
 1998 
 1999     xwayland: EGL_IMG_context_priority required by EGLStream
 2000     
 2001     xwl_glamor_eglstream_init_egl() uses "EGL_IMG_context_priority"
 2002     extension, make sure it's actually available before using it.
 2003     
 2004     Suggested-by: Emil Velikov <emil.velikov@collabora.com>
 2005     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2006     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 2007     (cherry picked from commit bdadaa25f5c1f62d30d8e76b4ebfcef414ed9c90)
 2008 
 2009 commit 81969ab773ddf7bae04eb7d1cca3fe01344dcae9
 2010 Author: Olivier Fourdan <ofourdan@redhat.com>
 2011 Date:   Tue Jun 5 19:38:44 2018 +0200
 2012 
 2013     xwayland: check for EGLStream backend explicitly
 2014     
 2015     Now that we have separate backends for EGLStream and GBM, we can
 2016     explicitly check for the EGLStream backend to disable present support
 2017     in that case.
 2018     
 2019     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2020     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 2021     (cherry picked from commit 5d843f6947538dabde258584a5795e0b25ea8779)
 2022 
 2023 commit 60020989b9759a05153f832a160e6f573d53e266
 2024 Author: Olivier Fourdan <ofourdan@redhat.com>
 2025 Date:   Tue Jun 5 19:38:43 2018 +0200
 2026 
 2027     xwayland: refactor EGL backends for wayland registry
 2028     
 2029     To be able to check for availability of the Wayland interfaces required
 2030     to run a given EGL backend (either GBM or EGLStream for now), we need
 2031     to have each backend structures and vfuncs in place before we enter the
 2032     Wayland registry dance.
 2033     
 2034     That basically means that we should init all backends at first, connect
 2035     to the Wayland compositor and query the available interfaces and then
 2036     decide which backend is available and should be used (or none if either
 2037     the Wayland interfaces or the EGL extensions are not available).
 2038     
 2039     For this purpose, hold an egl_backend struct for each backend we are to
 2040     consider prior to connect to the Wayland display so that, when we get to
 2041     query the Wayland interfaces, everything is in place for each backend to
 2042     handle the various Wayland interfaces.
 2043     
 2044     Eventually, when we need to chose which EGL backend to use for glamor,
 2045     the available Wayland interfaces and EGL extensions available are all
 2046     known to Xwayland.
 2047     
 2048     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2049     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 2050     (cherry picked from commit d7185a84b60ed03aaa84eb522dcff365218e7211)
 2051 
 2052 commit cb698ec2ba11b827c4e6785693a83a27eec3c635
 2053 Author: Olivier Fourdan <ofourdan@redhat.com>
 2054 Date:   Tue Jun 5 19:38:42 2018 +0200
 2055 
 2056     xwayland: move EGL backend init to glamor
 2057     
 2058     Move EGL backends initialization to its own function in
 2059     xwayland-glamor.c
 2060     
 2061     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2062     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 2063     (cherry picked from commit 48f037a27c45b571c9750ac812977ac0a33ab12b)
 2064 
 2065 commit 8ffee3a6bd8901b4c87890087b8bd2ccb4a30a5c
 2066 Author: Olivier Fourdan <ofourdan@redhat.com>
 2067 Date:   Tue Jun 5 19:38:41 2018 +0200
 2068 
 2069     xwayland: Add Wayland interfaces check
 2070     
 2071     Introduces a new egl_backend function to let the EGL backend check for
 2072     the presence of the required Wayland interfaces.
 2073     
 2074     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2075     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 2076     (cherry picked from commit f2fcb4877e976d078b0eb4755177170467341484)
 2077 
 2078 commit aad1525180c0352ab9ea22c35405226b3afa69cc
 2079 Author: Olivier Fourdan <ofourdan@redhat.com>
 2080 Date:   Tue Jun 5 19:38:40 2018 +0200
 2081 
 2082     xwayland: move egl_backend to its own struct
 2083     
 2084     EGL backend availability requires both EGL extensions and Wayland
 2085     interfaces to be present, so we will need to consider multiple backends
 2086     during initialization.
 2087     
 2088     As a preliminary work, move the egl_backend to its own struct so that we
 2089     can have more than one backend at any given time.
 2090     
 2091     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2092     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 2093     (cherry picked from commit b74b0f18b8d3032317e38453ee63ae9efd33a098)
 2094 
 2095 commit 831f7194b7006da14424da219661373e7d49114a
 2096 Author: Olivier Fourdan <ofourdan@redhat.com>
 2097 Date:   Tue Jun 5 19:38:39 2018 +0200
 2098 
 2099     xwayland: skip drm authentication with render node
 2100     
 2101     If using a render node, we can skip DRM authentication.
 2102     
 2103     Suggested-by: Emil Velikov <emil.velikov@collabora.com>
 2104     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2105     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 2106     (cherry picked from commit de004eefc60ec595f5d6d81658468e082f8df930)
 2107 
 2108 commit 60eda2af0acd54e05ab794947f106f8f2d421e90
 2109 Author: Olivier Fourdan <ofourdan@redhat.com>
 2110 Date:   Tue Jun 5 19:38:38 2018 +0200
 2111 
 2112     xwayland: GBM should fail w/out "GL_OES_EGL_image"
 2113     
 2114     Surely, we should fail to init GBM backend if "GL_OES_EGL_image" is
 2115     missing.
 2116     
 2117     This seems to have been lost with commit 1545e2dba ("xwayland: Decouple
 2118     GBM from glamor").
 2119     
 2120     Suggested-by: Emil Velikov <emil.velikov@collabora.com>
 2121     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2122     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 2123     (cherry picked from commit b823b43dca143810146f563d09e8996058b9d09e)
 2124 
 2125 commit f8e96b22bfac0733328fb9902c151003db5cc724
 2126 Author: Olivier Fourdan <ofourdan@redhat.com>
 2127 Date:   Tue Jun 5 19:38:37 2018 +0200
 2128 
 2129     xwayland: swap "name" and "id" in init_wl_registry()
 2130     
 2131     Both xwl_glamor_init_wl_registry() and the Wayland global registry
 2132     handler use the interface id/name in that order, using name/id in the
 2133     egl_backend vfunc makes things confusing and error prone.
 2134     
 2135     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2136     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 2137     (cherry picked from commit 78ce4aa979ff3f5870fbc12a7e5c53547084a61a)
 2138 
 2139 commit 443e3348bb3c561160a2542365507179bd8dd825
 2140 Author: Olivier Fourdan <ofourdan@redhat.com>
 2141 Date:   Tue Jun 5 19:38:36 2018 +0200
 2142 
 2143     xwayland: move glamor specific routines
 2144     
 2145     Functions such as:
 2146     
 2147       xwl_glamor_egl_supports_device_probing()
 2148       xwl_glamor_egl_get_devices()
 2149       xwl_glamor_egl_device_has_egl_extensions()
 2150     
 2151     Are of no use outside of EGLStream support, move them to the relevant
 2152     source file.
 2153     
 2154     Similarly, the other glamor functions such as:
 2155     
 2156       xwl_glamor_init()
 2157       xwl_screen_set_drm_interface()
 2158       xwl_screen_set_dmabuf_interface()
 2159       xwl_glamor_pixmap_get_wl_buffer()
 2160       xwl_glamor_init_wl_registry()
 2161       xwl_glamor_post_damage()
 2162       xwl_glamor_allow_commits()
 2163       xwl_glamor_egl_make_current()
 2164     
 2165     Are useless without glamor support enabled, move those within a
 2166     a "#ifdef XWL_HAS_GLAMOR" in xwayland.h
 2167     
 2168     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2169     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 2170     (cherry picked from commit f6b2109c1b49484af772df518314ec8e8432febe)
 2171 
 2172 commit dea40be93577dff80cf25e9b39c2aaea030b9c9e
 2173 Author: Olivier Fourdan <ofourdan@redhat.com>
 2174 Date:   Tue Jun 5 19:37:58 2018 +0200
 2175 
 2176     xwayland: make xwl_output_get_xdg_output() static
 2177     
 2178     Make xwl_output_get_xdg_output() private, it doesn't need to be
 2179     available elsewhere.
 2180     
 2181     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2182     Reviewed-by: Lyude Paul <lyude@redhat.com>
 2183     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 2184     (cherry picked from commit d31a7be15e259275599a9f67e0d921471ae64913)
 2185 
 2186 commit 04a19291c93aaa4feeaf7a87663eaf1ef7c1f4b8
 2187 Author: Olivier Fourdan <ofourdan@redhat.com>
 2188 Date:   Tue Jun 5 19:37:57 2018 +0200
 2189 
 2190     xwayland: do not disable glamor if EGLStream failed
 2191     
 2192     EGLStream requires glamor, but the opposite is not true. So if someone
 2193     passes "-eglstream" with a GPU which does not support EGLStream, we
 2194     could maybe still try GBM and be lucky.
 2195     
 2196     That allows Wayland compositors to pass "-eglstream" regardless of the
 2197     actual hardware, if they want to enable EGLStream on GPU which support
 2198     it.
 2199     
 2200     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2201     Reviewed-by: Lyude Paul <lyude@redhat.com>
 2202     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 2203     (cherry picked from commit e16a6da79dea793a335be70ba07d5e1c1295b5eb)
 2204 
 2205 commit de40a55235614d6114e97bd8c6f687bb555bdba8
 2206 Author: Olivier Fourdan <ofourdan@redhat.com>
 2207 Date:   Tue Jun 5 19:37:56 2018 +0200
 2208 
 2209     xwayland: process Wayland events after adding screen
 2210     
 2211     When we're done adding a new screen, we need to process any pending
 2212     Wayland events again.
 2213     
 2214     Hence we don't end up processing xdg_output events unexpectedly when
 2215     glamor is disabled. Be that because "-shm" was passed or "-eglstream"
 2216     has failed.
 2217     
 2218     Failing to do that could lead to a crash at startup:
 2219     
 2220         Xwayland: dixGetPrivateAddr: Assertion `key->initialized' failed.
 2221         (EE)
 2222         (EE) Backtrace:
 2223         (EE) 0: Xwayland (OsSigHandler)
 2224         (EE) 1: libpthread.so.0 (funlockfile)
 2225         (EE) 2: libc.so.6 (gsignal)
 2226         (EE) 3: libc.so.6 (abort)
 2227         (EE) 4: libc.so.6 (?+0x0)
 2228         (EE) 5: libc.so.6 (__assert_fail)
 2229         (EE) 6: Xwayland (dixGetPrivateAddr)
 2230         (EE) 7: Xwayland (_fbGetWindowPixmap)
 2231         (EE) 8: Xwayland (getDrawableDamageRef)
 2232         (EE) 9: Xwayland (damageRegionProcessPending)
 2233         (EE) 10: Xwayland (damagePolyFillRect)
 2234         (EE) 11: Xwayland (miPaintWindow)
 2235         (EE) 12: Xwayland (miWindowExposures)
 2236         (EE) 13: Xwayland (miHandleValidateExposures)
 2237         (EE) 14: Xwayland (SetRootClip)
 2238         (EE) 15: Xwayland (update_screen_size)
 2239         (EE) 16: Xwayland (apply_output_change)
 2240         (EE) 17: libffi.so.6 (ffi_call_unix64)
 2241         (EE) 18: libffi.so.6 (ffi_call)
 2242         (EE) 19: libwayland-client.so.0 (wl_log_set_handler_client)
 2243         (EE) 20: libwayland-client.so.0 (_init)
 2244         (EE) 21: libwayland-client.so.0 (wl_display_dispatch_queue_pending)
 2245         (EE) 22: libwayland-client.so.0 (wl_display_roundtrip_queue)
 2246         (EE) 23: Xwayland (InitInput)
 2247         (EE) 24: Xwayland (dix_main)
 2248         (EE) 25: libc.so.6 (__libc_start_main)
 2249         (EE) 26: Xwayland (_start)
 2250         (EE)
 2251         (EE)
 2252         Fatal server error:
 2253         (EE) Caught signal 6 (Aborted). Server aborting
 2254         (EE)
 2255         Aborted (core dumped)
 2256     
 2257     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2258     Reviewed-by: Lyude Paul <lyude@redhat.com>
 2259     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 2260     (cherry picked from commit 44560af02823239e1b5b236e8cb365b5bdf24b6a)
 2261 
 2262 commit 2d31a40db5ab3dc93863dc5ed9d9865490508575
 2263 Author: Olivier Fourdan <ofourdan@redhat.com>
 2264 Date:   Tue Jun 5 19:37:55 2018 +0200
 2265 
 2266     xwayland: "EGL_EXT_device_base" required for EGLStream
 2267     
 2268     eglQueryDevicesEXT() would abort if the required extensions are not
 2269     available, meaning that enabling “-eglstream” on a non-EGLStream
 2270     capable hardware would lead to an abort().
 2271     
 2272     Check that "EGL_EXT_device_base" extension is available and bail out
 2273     early if not, so we don't abort() later in eglQueryDevicesEXT().
 2274     
 2275     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2276     Reviewed-by: Lyude Paul <lyude@redhat.com>
 2277     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 2278     (cherry picked from commit dbde3fec32641ae23389cffa12a04d3608936795)
 2279 
 2280 commit 65d46b2dfd638f6f6c6e52f3494c64716fc6687e
 2281 Author: Olivier Fourdan <ofourdan@redhat.com>
 2282 Date:   Tue Jun 5 19:37:54 2018 +0200
 2283 
 2284     xwayland: allow "-eglstream" option
 2285     
 2286     The command line option "-eglstream" used to enable EGLStream support
 2287     for NVidia GPU was made available only when Xwayland was built with
 2288     EGLStream support enabled.
 2289     
 2290     Wayland compositors who spawn Xwayland have no easy way to tell whether
 2291     or not Xwayland was built with EGLStream support enabled, and adding
 2292     "-eglstream" command line option to Xwayland when it wasn't built with
 2293     EGLStream support would prevent Xwayland from starting (“Unrecognized
 2294     option” error).
 2295     
 2296     Make sure we support the command line option "-eglstream" regardless of
 2297     EGLStream support in Xwayland. Obviously, if Xwayland was built without
 2298     EGLStream support, this has no effect.
 2299     
 2300     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2301     Reviewed-by: Lyude Paul <lyude@redhat.com>
 2302     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 2303     (cherry picked from commit 06c31e782e360363238cf20e7afd3e4990a2c304)
 2304 
 2305 commit 38835d1d8f613c3553149fc05e61a8bb9b0aef48
 2306 Author: Vladimir Panteleev <git@thecybershadow.net>
 2307 Date:   Wed Jun 20 13:37:45 2018 +0000
 2308 
 2309     glx/vndcmds: Fix vendor hash table key size
 2310     
 2311     The keySize parameter of the hashing/comparison functions was
 2312     incorrectly specified to be sizeof(void*), even though the keys of
 2313     this hashtable are CARD32.
 2314     
 2315     Fixes address sanitizer failure on 64-bit builds.
 2316     
 2317     Reviewed-by: Adam Jackson <ajax@redhat.com>
 2318     (cherry picked from commit 707d0f912b916e7546c4f7e7a5f7023a53e74615)
 2319 
 2320 commit d7220428daee26acecb6ae9771e255c801c83572
 2321 Author: Alexander Volkov <a.volkov@rusbitech.ru>
 2322 Date:   Tue Jun 5 13:05:39 2018 +0300
 2323 
 2324     Xext/shm: Refuse to work for remote clients
 2325     
 2326     Avoid access to System V shared memory segment on the X server side
 2327     for clients forwarded via SSH. Also prevent them from hanging while
 2328     waiting for the reply from the ShmCreateSegment request.
 2329     
 2330     v2: Allow ShmQueryVersion request even for remote clients
 2331     
 2332     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=11080
 2333     Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru>
 2334     Reviewed-by: Adam Jackson <ajax@redhat.com>
 2335     (cherry picked from commit ec7e2b54c5b4a34b2a077082967bc3ead30e227e)
 2336 
 2337 commit 9e417072bcde15f32dbf083327b6fe0202bb4cf4
 2338 Author: Michał Górny <gentoo@mgorny.alt.pl>
 2339 Date:   Mon Jun 11 17:17:31 2018 -0400
 2340 
 2341     xfree86: Makefile shouldn't rely on superuser being named 'root'
 2342     
 2343     Change the 'chown' statement in Makefile.am to use the numeric UID
 2344     of superuser instead of relying on the name 'root'.
 2345     
 2346     Bugzilla: https://bugs.freedesktop.org/27726
 2347     Signed-off-by: Adam Jackson <ajax@redhat.com>
 2348     Signed-off-by: Michał Górny <gentoo@mgorny.alt.pl>
 2349     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 2350     (cherry picked from commit 5c95be38e5af28108d8c6c08dfe08d1dfcb7ed42)
 2351 
 2352 commit 2e66ed066e4a9b52bcebf2ca3762f7e1ad141cf0
 2353 Author: Olivier Fourdan <ofourdan@redhat.com>
 2354 Date:   Fri Jun 8 16:23:44 2018 +0200
 2355 
 2356     xwayland: use pixmap size on present flip
 2357     
 2358     If the pixmap size does not match the present box size, flickering
 2359     occurs.
 2360     
 2361     This can happen when the client changes its size (e.g. switching to
 2362     fullscreen), and since the buffer is kept as long as the pixmap is
 2363     valid, once the buffer is created, it remains at the wrong (old) size
 2364     and causes continuous flickering.
 2365     
 2366     Use the actual pixmap's drawable size instead of the present box to
 2367     create the buffer so that it's sized appropriately.
 2368     
 2369     Bugzilla: https://bugs.freedesktop.org/106841
 2370     Fixes: 0fb2cca193e6 "xwayland: Preliminary support for Present's new
 2371                          window flip mode"
 2372     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2373     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
 2374     Reviewed-by: Roman Gilg <subdiff@gmail.com>
 2375     (cherry picked from commit 1993f147d08170f07a72e43f0a0f27687e16967b)
 2376 
 2377 commit 883d4d00b46f18902ad402a156d56b1bfcc06ebe
 2378 Author: Michel Dänzer <michel.daenzer@amd.com>
 2379 Date:   Thu Jun 7 17:55:21 2018 +0200
 2380 
 2381     present/wnmd: Preserve window pixmap's screen_x/y on flip
 2382     
 2383     The incorrect values could result in the new pixmap's contents
 2384     getting corrupted down the line.
 2385     
 2386     v2:
 2387     * Guard screen_x/y lines by #ifdef COMPOSITE
 2388     
 2389     Bugzilla: https://bugs.freedesktop.org/106841
 2390     Fixes: 029608dd8020 "present: Add window flip mode"
 2391     Reviewed-by: Adam Jackson <ajax@redhat.com> # v1
 2392     Reviewed-by: Keith Packard <keithp@keithp.com> # v1
 2393     Reviewed-by: Roman Gilg <subdiff@gmail.com>
 2394     Tested-by: Olivier Fourdan <ofourdan@redhat.com> # v1
 2395     (cherry picked from commit 10eec2ccb11701fe29ab246acd6c0bdc2991b775)
 2396 
 2397 commit 55171d738a0c2dd8a37ba2c880ea4658fd8001a2
 2398 Author: Dave Airlie <airlied@redhat.com>
 2399 Date:   Tue May 29 10:39:22 2018 +1000
 2400 
 2401     xwayland: fix typo in non-modifier fallback path
 2402     
 2403     Pointed out on irc by q66.
 2404     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 2405     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
 2406     
 2407     (cherry picked from commit 6300049a9a4b84789a2e8141f5cad17adf22185c)
 2408 
 2409 commit 64bf28572946da1db84f6e61b02b5e6432f13d10
 2410 Author: Roman Kapl <code@rkapl.cz>
 2411 Date:   Thu Jun 7 03:31:42 2018 +0200
 2412 
 2413     Xi: add forgotten byte-swaps for Valuator fields
 2414     
 2415     This has caused nonsensical values in xinput output.
 2416     
 2417     Signed-off-by: Roman Kapl <code@rkapl.cz>
 2418     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 2419     (cherry picked from commit 40586cc4f8faa271d62fd84fe98c41debb878984)
 2420 
 2421 commit 273115a01285ff2ce4837687f9bfc9d745a519a3
 2422 Author: Roman Kapl <code@rkapl.cz>
 2423 Date:   Thu Jun 7 03:31:41 2018 +0200
 2424 
 2425     Xi: fix byte-swapping of button labels
 2426     
 2427     The byte-swapping code forgot that the xXIButtonInfo is followed by a
 2428     button mask, not directly by the button labels. This resulted in client
 2429     crashes in cross-endian setups, for example in `xinput list --long`,
 2430     since the client got an invalid atom.
 2431     
 2432     A new function was introduced to get the right positions for the label
 2433     and mask data.
 2434     
 2435     Signed-off-by: Roman Kapl <code@rkapl.cz>
 2436     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 2437     (cherry picked from commit cefbc6a9356e5c6cf935b61557efa897762defae)
 2438 
 2439 commit 69980e4e5a0d8ff3b36acf09e3c1e8eb76710726
 2440 Author: Michel Dänzer <michel.daenzer@amd.com>
 2441 Date:   Fri Jun 1 11:57:15 2018 +0200
 2442 
 2443     exa: Use PictureMatchFormat for source-only picture format description
 2444     
 2445     Their pFormat member is NULL, which resulted in a crash in
 2446     miRenderColorToPixel.
 2447     
 2448     Fixes: 8171d4c2d67b "render: Store and use all 16bpc of precision for
 2449                          solid pixels (v2.1)"
 2450     Reviewed-by: Adam Jackson <ajax@redhat.com>
 2451     (cherry picked from commit 3ebef6ab850675e1091df2125ebdfbb147436e6c)
 2452 
 2453 commit 33f20c38fc15e6664635ad22a581d7860e4b185d
 2454 Author: Michel Dänzer <michel.daenzer@amd.com>
 2455 Date:   Wed May 23 11:18:02 2018 +0200
 2456 
 2457     glamor: Propagate glamor_fds_from_pixmap error in glamor_fd_from_pixmap
 2458     
 2459     glamor_fds_from_pixmap returns 0 on error, but we were treating that as
 2460     success, continuing with uninitialized stride and fd values.
 2461     
 2462     Also bail if the offset isn't 0, same as in dri3_fd_from_pixmap.
 2463     
 2464     v2:
 2465     * Reduce to a simple one-liner fix (Emil Velikov)
 2466     
 2467     Fixes: c8c276c9569b "glamor: Implement PixmapFromBuffers and
 2468                          BuffersFromPixmap"
 2469     Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
 2470     (cherry picked from commit 4d5950ce14676f970d9de97380929a93948b98f2)
 2471 
 2472 commit 544caffae1b0dc786383b117c036284feb579a66
 2473 Author: Michel Dänzer <michel.daenzer@amd.com>
 2474 Date:   Wed May 23 11:38:13 2018 +0200
 2475 
 2476     glamor: Always return 0 from glamor_fds_from_pixmap on error
 2477     
 2478     This matches what glamor_egl_fds_from_pixmap and dri3_fds_from_pixmap do
 2479     and what proc_dri3_buffers_from_pixmap expects.
 2480     
 2481     Fixes: c8c276c9569b "glamor: Implement PixmapFromBuffers and
 2482                          BuffersFromPixmap"
 2483     Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
 2484     (cherry picked from commit 3da999a0390407d512bf784e4faf01482bfff9ea)
 2485 
 2486 commit a9a17581ce73a49f0a8d3b9dbb2db083fa44cb69
 2487 Author: Michel Dänzer <michel.daenzer@amd.com>
 2488 Date:   Fri May 18 11:23:01 2018 +0200
 2489 
 2490     modesetting: Pass O_CLOEXEC when opening a DRM device
 2491     
 2492     We don't want DRM file descriptors to leak to child processes.
 2493     
 2494     Reviewed-by: Keith Packard <keithp@keithp.com>
 2495     Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
 2496     (cherry picked from commit 315c63c41d833700c505e4f21ffac4c59e1e3b2c)
 2497 
 2498 commit c3a06e330b7e55e1daeefbb5c16a075c80233bb0
 2499 Author: Michel Dänzer <michel.daenzer@amd.com>
 2500 Date:   Fri May 18 11:23:00 2018 +0200
 2501 
 2502     xfree86: Fix O_CLOEXEC usage in lnx_platform
 2503     
 2504     It was passing O_CLOEXEC as permission bits instead of as a flag.
 2505     
 2506     Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
 2507     Reviewed-by: Keith Packard <keithp@keithp.com>
 2508     (cherry picked from commit ab53e2859facecc0486344679dc01ea31fb427e9)
 2509 
 2510 commit 662273397c537d031e1aee7c607c925ec6bb2d10
 2511 Author: Lukas F. Hartmann <lukas@mntmn.com>
 2512 Date:   Tue May 15 21:51:56 2018 +0200
 2513 
 2514     glamor_init: clamp GLSL to 120 if platform doesn't have instanced arrays
 2515     
 2516     Hi,
 2517     
 2518     I upgraded Xwayland and the assorted libraries from git masters today,
 2519     and noticed that glamor wouldn't work anymore on i.MX6/etnaviv. The
 2520     error was:
 2521     
 2522     No provider of glVertexAttribDivisor found.  Requires one of:
 2523         Desktop OpenGL 3.3
 2524         OpenGL ES 3.0
 2525         GL extension "GL_ANGLE_instanced_arrays"
 2526         GL extension "GL_ARB_instanced_arrays"
 2527         GL extension "GL_EXT_instanced_arrays"
 2528         GL extension "GL_NV_instanced_arrays"
 2529     
 2530     The problem is that etnaviv offers GLSL 140 on GL 2.1 and glamor
 2531     rendering assumes that glVertexAttribDivisor() is always available on
 2532     GLSL>=130, which is not the case here. Forcing GLSL 120 makes glamor
 2533     work fine again on this platform. After chatting with ajax in
 2534     #xorg-devel, the following solution was proposed.
 2535     
 2536     This is my first time of submitting a patch, so please excuse me and
 2537     advise if I'm doing it wrong ;)
 2538     
 2539     Cheers
 2540     Lukas (mntmn)
 2541     Reviewed-by: Eric Anholt <eric@anholt.net>
 2542     
 2543     (cherry picked from commit 7437b6dbdee050f8ebb3a79b9077d051c91880c3)
 2544 
 2545 commit 590374bd9213091b51679887d473d1a3067c99b5
 2546 Author: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
 2547 Date:   Sun May 13 15:31:37 2018 +0200
 2548 
 2549     DRI2: Sync radeonsi_pci_ids.h from Mesa
 2550     
 2551     Fixes DRI2 client driver name mapping for newer AMD GPUs with the
 2552     modesetting driver, allowing the DRI2 extension to initialize.
 2553     
 2554     Fixes using GL with the modesetting driver for me.
 2555     
 2556     Seems we were way behind on this one, time to look into something
 2557     more scalable?
 2558     
 2559     Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
 2560     Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
 2561     (cherry picked from commit 3ab32a537840c6e6d6228b4ba62f98fbf5224f8a)
 2562 
 2563 commit 5407be2c516fa23c505e7ba254367b5739399960
 2564 Author: Jon Turney <jon.turney@dronecode.org.uk>
 2565 Date:   Sun May 13 19:36:05 2018 +0100
 2566 
 2567     meson: don't put literal 'PACKAGE_STRING' and 'XORG_MAN_PAGE' in man pages
 2568     
 2569     Instead, substitute the same values as autotools does
 2570     
 2571     Reviewed-by: Adam Jackson <ajax@redhat.com>
 2572     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 2573     (cherry picked from commit 27eff10bfa1a02da7338a82e2312d2080e3e5876)
 2574 
 2575 commit acd881e271419a2fc08cfc34ed9845346cee9e84
 2576 Author: Jon Turney <jon.turney@dronecode.org.uk>
 2577 Date:   Sun May 13 19:36:04 2018 +0100
 2578 
 2579     meson: don't install xorg wrapper manpages if suid-wrapper isn't being used
 2580     
 2581     Reviewed-by: Adam Jackson <ajax@redhat.com>
 2582     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 2583     (cherry picked from commit 47321bb455b1226c04711241496e62667eea34ea)
 2584 
 2585 commit c09c78298cdb4cdd8383e252d8fe68adae1f3c54
 2586 Author: Jon Turney <jon.turney@dronecode.org.uk>
 2587 Date:   Sun May 13 19:36:03 2018 +0100
 2588 
 2589     meson: install xwinclip and Xwinrc man pages
 2590     
 2591     Omitted from a1e8dc05
 2592     
 2593     Reviewed-by: Adam Jackson <ajax@redhat.com>
 2594     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 2595     (cherry picked from commit 08a3583b5b2f812cc7f039aebd74ff9b1cb0dbcd)
 2596 
 2597 commit 82f8fc5ffc0065537896ec43ae60d67d9a164c75
 2598 Author: Adam Jackson <ajax@redhat.com>
 2599 Date:   Thu May 10 12:24:11 2018 -0400
 2600 
 2601     xserver 1.20
 2602     
 2603     Signed-off-by: Adam Jackson <ajax@redhat.com>
 2604 
 2605 commit b6bf68b8416ec4b717eb78703fb63789c68e509a
 2606 Author: Aaron Plattner <aplattner@nvidia.com>
 2607 Date:   Wed May 2 12:54:26 2018 -0700
 2608 
 2609     meson: Fix module_dir configuration (v2)
 2610     
 2611     meson.build has code to set the module_dir variable to
 2612     ${libdir}/xorg/modules if the module_dir option string is empty.
 2613     However, this has several problems:
 2614     
 2615     1. The variable is only used for an unused @moduledir@ substitution in
 2616        the man page. The rule for xorg-server.pc uses option('module_dir')
 2617        directly instead.
 2618     2. The 'module_dir' option has a default value of 'xorg/modules' so the
 2619        above rule doesn't do anything by default.
 2620     3. The xorg-server.pc rule uses ${exec_prefix}/option('module_dir'), so
 2621        the effect of #2 is that the default moduledir is different between
 2622        autoconf and meson. E.g. if ${prefix} is /X, then you get
 2623     
 2624          autoconf: moduledir=/X/lib/xorg/modules
 2625          meson:    moduledir=/X/xorg/modules
 2626     
 2627     Fix this by using the module_dir variable when generating xorg-server.pc, and by
 2628     using join_paths() to assign module_dir unconditionally.
 2629     
 2630     v2: Keep the 'xorg/modules' default path, but use join_paths() unconditionally (Thierry Reding)
 2631     
 2632     Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
 2633     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 2634 
 2635 commit 9d628ee5facf6318368d5b8ca181e083adcffe8c
 2636 Author: Roman Gilg <subdiff@gmail.com>
 2637 Date:   Wed May 2 21:32:48 2018 +0200
 2638 
 2639     modesetting: set gbm as dependency in meson build
 2640     
 2641     Modifiers support needs gbm as a dependency. Without setting the dependency
 2642     included headers are not found reliably and the build might fail if the
 2643     headers are not placed in the default system include paths.
 2644     
 2645     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 2646     Reviewed-by: Adam Jackson <ajax@redhat.com>
 2647 
 2648 commit 0445705a8bbf76a5532997823ea8110daff26c6d
 2649 Author: Adam Jackson <ajax@redhat.com>
 2650 Date:   Mon May 7 17:21:20 2018 -0400
 2651 
 2652     man: Fix automake seddery
 2653     
 2654     Because this is an automakefile, things inside @@ get expanded, which
 2655     means your sed ends up saying s|/var/log|/var/log| and your manual pages
 2656     still have @logdir@ in them. Fix this by hiding the @s inside a trivial
 2657     character range, which keeps the pattern preserved all the way into the
 2658     Makefile.
 2659     
 2660     Signed-off-by: Adam Jackson <ajax@redhat.com>
 2661     Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 2662 
 2663 commit 9f21872ad8591c1f6f8ea1e466f212c3582d3c33
 2664 Author: Adam Jackson <ajax@redhat.com>
 2665 Date:   Mon May 7 17:21:19 2018 -0400
 2666 
 2667     glx: Be sure to set an error for ghost contexts
 2668     
 2669     Otherwise the caller is going to return garbage memory for the error
 2670     value.
 2671     
 2672     Signed-off-by: Adam Jackson <ajax@redhat.com>
 2673 
 2674 commit b9f415cbad47412bfb218cf7375d0c2856a27d1b
 2675 Author: Adam Jackson <ajax@redhat.com>
 2676 Date:   Mon May 7 17:21:18 2018 -0400
 2677 
 2678     present: Fix swapping of PresentCompleteNotify events
 2679     
 2680     The code would fall through to the PresentIdleNotify case, and nothing
 2681     good would come of it.
 2682     
 2683     Signed-off-by: Adam Jackson <ajax@redhat.com>
 2684     Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 2685 
 2686 commit cc66777d85f3509b0f9dfc9210d0a0415a2a388d
 2687 Author: Adam Jackson <ajax@redhat.com>
 2688 Date:   Mon May 7 17:21:17 2018 -0400
 2689 
 2690     xwayland: Don't create a "fake" crtc for Present
 2691     
 2692     We probably don't want a fake crtc to be visible to clients, and we
 2693     definitely don't want to generate events every time we create such a
 2694     fake (which would happen as a side effect from RRCrtcCreate hitting
 2695     RRTellChanged). As it happens we're not actually using that crtc for
 2696     anything because xwayland doesn't store any state on the crtc object,
 2697     so it suffices to use the real crtc for the screen.
 2698     
 2699     Signed-off-by: Adam Jackson <ajax@redhat.com>
 2700     Tested-by: Roman Gilg <subdiff@gmail.com>
 2701     Reviewed-by: Roman Gilg <subdiff@gmail.com>
 2702 
 2703 commit b23a0e4ded62500f2c248f23962ff5ac718467e6
 2704 Author: Eric Anholt <eric@anholt.net>
 2705 Date:   Mon May 7 16:46:20 2018 -0700
 2706 
 2707     xwayland: Fix a 32-bit build warning.
 2708     
 2709     Signed-off-by: Eric Anholt <eric@anholt.net>
 2710     Reviewed-by: Adam Jackson <ajax@redhat.com>
 2711 
 2712 commit ef95331603ff31d3643360c399b3865db5b0b97d
 2713 Author: Eric Anholt <eric@anholt.net>
 2714 Date:   Mon May 7 16:46:19 2018 -0700
 2715 
 2716     dri3: Switch fds_from_pixmap to stdint types.
 2717     
 2718     Again, this was causing 32-bit build warnings due to mixing CARD* and
 2719     stdint.
 2720     
 2721     Signed-off-by: Eric Anholt <eric@anholt.net>
 2722     Reviewed-by: Adam Jackson <ajax@redhat.com>
 2723 
 2724 commit 4c754b01fafc4b042d9918c05a71157f6fa6392a
 2725 Author: Eric Anholt <eric@anholt.net>
 2726 Date:   Mon May 7 16:46:18 2018 -0700
 2727 
 2728     dri3: Switch get_modifiers to using stdint.
 2729     
 2730     We were mixing stdint and CARD* types, causing compiler warnings on
 2731     32-bit.  Just switch over to stdint, which is what we'd like the server
 2732     to be using long term, anyway.
 2733     
 2734     Reviewed-by: Adam Jackson <ajax@redhat.com>
 2735 
 2736 commit 5e86484a183f051d7a8a67ea13c23a3d6e69e76b
 2737 Author: Eric Anholt <eric@anholt.net>
 2738 Date:   Mon May 7 16:46:17 2018 -0700
 2739 
 2740     dri3: Switch get_drawable_modifiers to using stdint.
 2741     
 2742     We were mixing stdint and CARD* types, causing compiler warnings on
 2743     32-bit.  Just switch over to stdint, which is what we'd like the server
 2744     to be using long term, anyway.
 2745     
 2746     Signed-off-by: Eric Anholt <eric@anholt.net>
 2747     Reviewed-by: Adam Jackson <ajax@redhat.com>
 2748 
 2749 commit 4ec02b573ef2424965d7ce2d33d150ddb92ec544
 2750 Author: Eric Anholt <eric@anholt.net>
 2751 Date:   Mon May 7 16:46:16 2018 -0700
 2752 
 2753     randr: Fix a compiler warning on 32-bit.
 2754     
 2755     Signed-off-by: Eric Anholt <eric@anholt.net>
 2756     Reviewed-by: Adam Jackson <ajax@redhat.com>
 2757 
 2758 commit e1ccd0fa0e1081edf8a2c69ce6e8e3f67a4aecba
 2759 Author: Eric Anholt <eric@anholt.net>
 2760 Date:   Mon May 7 16:46:15 2018 -0700
 2761 
 2762     dix: Fix a warning about GetTimeInMillis return value in XFont2.
 2763     
 2764     Signed-off-by: Eric Anholt <eric@anholt.net>
 2765     Reviewed-by: Adam Jackson <ajax@redhat.com>
 2766 
 2767 commit cf838f5ca81e0c967902b74fb1971bc6fac5c601
 2768 Author: Roman Gilg <subdiff@gmail.com>
 2769 Date:   Fri May 4 03:07:31 2018 +0200
 2770 
 2771     xwayland: persistent window struct on present
 2772     
 2773     Instead of reusing xwl_window introduce a persistent window struct for every
 2774     window, that asks for Present flips.
 2775     
 2776     This struct saves all relevant data and is only freed on window destroy.
 2777     
 2778     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 2779     Tested-by: Olivier Fourdan <ofourdan@redhat.com>
 2780 
 2781 commit c9afd8cb5ec975b189ab7b678e1f997d6a2ba5ee
 2782 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 2783 Date:   Sun May 6 07:34:31 2018 +0200
 2784 
 2785     modesetting: Fix and improve ms_kernel_msc_to_crtc_msc()
 2786     
 2787     The old 32-Bit wraparound handling didn't actually work, due to some
 2788     integer casting bug, and the mapping was ill equipped to deal with input
 2789     from the new true 64-bit GetCrtcSequence/QueueCrtcSequence api's
 2790     introduced in Linux 4.15.
 2791     
 2792     For 32-Bit truncated input from pageflip events and old vblank events
 2793     and old drmWaitVblank ioctl, implement new wraparound handling, which
 2794     also allows to deal with wraparound in the other direction, e.g., if a
 2795     32-Bit truncated sequence value is passed in, whose true 64-Bit
 2796     in-kernel hw value is within 2^30 counts of the previous processed
 2797     value, but whose 32-bit truncated sequence value happens to lie just
 2798     above or below a 2^32 boundary, iow. one of the two values 'sequence'
 2799     vs. 'msc_prev' lies above a 2^32 border, the other one below it.
 2800     
 2801     The method is directly translated from Mesa's proven implementation of
 2802     the INTEL_swap_events extension, where a true underlying 64-Bit wide
 2803     swapbuffers count (SBC) needs to get reconstructed from a 32-Bit LSB
 2804     truncated SBC transported over the X11 protocol wire. Same conditions
 2805     apply, ie. successive true 64-Bit SBC values are close to each other,
 2806     but don't always get received in strictly monotonically increasing
 2807     order. See Mesa commit cc5ddd584d17abd422ae4d8e83805969485740d9 ("glx:
 2808     Handle out-of-sequence swap completion events correctly. (v2)") for
 2809     explanation.
 2810     
 2811     Additionally add a separate path for true 64-bit msc input originating
 2812     from Linux 4.15+ drmCrtcGetSequence/QueueSequence ioctl's and
 2813     corresponding 64-bit vblank events. True 64-bit msc's don't need
 2814     remapping and must be passed through.
 2815     
 2816     As a reliability bonus, they are also used here to update the tracking
 2817     values msc_prev and ms_high with perfect 64-Bit ground truth as baseline
 2818     for mapping msc from pageflip completion events, because pageflip events
 2819     are always 32-bit wide, even when the new kernel api's are used. Because
 2820     each pageflip(-event) is always preceeded close in time (and vblank
 2821     count) by a drmCrtcQueueSequence queued event or drmCrtcGetSequence
 2822     query as part of DRI2 or DRI3+Present swap scheduling, we can be certain
 2823     that each pageflip event will get its truncated 32-bit msc remapped
 2824     reliably to the true 64-bit msc of flip completion whenever the sequence
 2825     api is available, ie. on Linux 4.15 or later.
 2826     
 2827     Note: In principle at least the 32-bit mapping path could also be
 2828     backported to earlier server branches, as this seems to be broken for at
 2829     least server 1.16 to 1.19.
 2830     
 2831     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 2832     Reviewed-by: Adam Jackson <ajax@redhat.com>
 2833     Cc: Keith Packard <keithp@keithp.com>
 2834     Cc: Michel Dänzer <michel.daenzer@amd.com>
 2835 
 2836 commit 73f0ed2d928afc692ed057eb3d7627328a6e5b12
 2837 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 2838 Date:   Fri May 4 14:14:10 2018 +0200
 2839 
 2840     modesetting: Remove ms_crtc_msc_to_kernel_msc().
 2841     
 2842     The function is ported from intel-ddx uxa backend around 2013, where its
 2843     stated purpose was to apply a vblank_offset to msc values to correct for
 2844     problems with those kernel provided msc values. Some (somewhat magic and
 2845     puzzling to myself) heuristic tried to guess if provided values were
 2846     unreasonable and tried to adapt the corrective vblank_offset to account
 2847     for that.
 2848     
 2849     Except: It wasn't applied to kernel provided msc values, but the values
 2850     delivered by clients via DRI2 or Present, so valid client targetmsc
 2851     values, e.g., requesting a vblank event > 1000 vblanks in the future,
 2852     triggered the offset correction in arbitrarily wrong ways, leading to
 2853     wrong msc values being returned and thereby vblank events queued to the
 2854     kernel for the wrong time. This causes glXSwapBuffersMscOML and
 2855     glXWaitForMscOML to swap / return immediately whenever a swap/wait in >
 2856     1000 vblanks is requested.
 2857     
 2858     The original code was also written to only deal with 32 bit mscs, but
 2859     server 1.20 modesetting ddx can now use new Linux 4.15+ kernel vblank
 2860     api to process true 64 bit msc's, which may confuse the heuristic even
 2861     more due to 32 bit integer truncation/wrapping.
 2862     
 2863     This code caused various problems in the intel-ddx in the past since
 2864     year 2013, and was removed there in 2015 by Chris Wilson in commit
 2865     42ebe2ef9646be5c4586868cf332b4cd79bb4618:
 2866     
 2867     "    uxa: Remove the filtering of bogus Present MSC values
 2868     
 2869         If the intention was to filter the return values from the kernel, the
 2870         filtering would have been applied to the kernel values and not to the
 2871         incoming values from Present. This filtering introduces crazy integer
 2872         promotion and truncation bugs all because Present feeds garbage into its
 2873         vblank requests.
 2874     
 2875     "
 2876     
 2877     Indeed, i found a Mesa bug yesterday which can cause Mesa's
 2878     PresentPixmap request to spuriously feed garbage targetMSC's into the
 2879     driver under some conditions. However, while other video drivers seem to
 2880     cope relatively well with that, modesetting ddx causes KDE-5's
 2881     plasmashell to lock up badly quite frequently, and my suspicion is that
 2882     the code removed in this commit is one major source of the extra
 2883     fragility.
 2884     
 2885     Also my own tests fail for any swap scheduled more than 1000 vblanks
 2886     into the future, which is not uncommon for some scientific applications.
 2887     
 2888     Iow. modesetting's swap scheduling seems to be more robust without this
 2889     function afaics.
 2890     
 2891     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 2892     Reviewed-by: Adam Jackson <ajax@redhat.com>
 2893     Cc: Chris Wilson <chris@chris-wilson.co.uk>
 2894     Cc: Keith Packard <keithp@keithp.com>
 2895     Tested-by: Mike Lothian <mike@fireburn.co.uk>
 2896 
 2897 commit f5ded22e14e2e15390eff8e01ce32de496ae0e86
 2898 Author: Aaron Plattner <aplattner@nvidia.com>
 2899 Date:   Fri May 4 10:48:17 2018 -0700
 2900 
 2901     meson: Set XCONFIGFILE to 'xorg.conf' instead of '/etc/xorg.conf'
 2902     
 2903     The autoconf build hard-codes XCONFIGFILE to just 'xorg.conf':
 2904     
 2905      XF86CONFIGFILE="xorg.conf"
 2906      AC_DEFINE_DIR(XCONFIGFILE, XF86CONFIGFILE, [Name of configuration file])
 2907     
 2908     Later, the X server passes that into DoSubstitution() which expands the path:
 2909     
 2910      DoSubstitution(template="/etc/X11/%X", ..., XConfigFile="xorg.conf")
 2911     
 2912     This returns "/etc/X11/xorg.conf".
 2913     
 2914     The Meson build, on the other hand, sets XCONFIGFILE to
 2915     join_paths(get_option('sysconfdir'), 'xorg.conf'). If sysconfdir is /etc, this
 2916     results in '/etc/xorg.conf', resulting in DoSubstitution returning
 2917     '/etc/X11/etc/xorg.conf'.
 2918     
 2919     Fix this by just hard-coding XCONFIGFILE to 'xorg.conf'.
 2920     
 2921     Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
 2922     Reviewed-by: Thierry Reding <treding@nvidia.com>
 2923 
 2924 commit 1a3e4a2f6722048c5c7c4c1a9d6748e68a895a3e
 2925 Author: Aaron Plattner <aplattner@nvidia.com>
 2926 Date:   Fri May 4 15:09:22 2018 -0700
 2927 
 2928     meson: Define DEFAULT_LIBRARY_PATH as join_paths(get_option('prefix'), get_option('libdir'))
 2929     
 2930     'libdir' defaults to 'lib', so running X -showDefaultLibPath just prints 'lib'
 2931     instead of '/usr/lib' or '/usr/local/lib'. Use joint_paths() to get the correct
 2932     full path.
 2933     
 2934     Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
 2935     Reviewed-by: Thierry Reding <treding@nvidia.com>
 2936 
 2937 commit 1dcd784a677c58e77c368a676fd9dbd3159db94f
 2938 Author: Anuj Phogat <anuj.phogat@gmail.com>
 2939 Date:   Thu May 3 11:29:11 2018 -0700
 2940 
 2941     dri2: Sync i965_pci_ids.h from mesa
 2942     
 2943     Copied from Mesa with no modifications.
 2944     
 2945     Gives us Cofeelake platform names updates and sync on Kaby Lake,
 2946     Ice Lake PCI IDs.
 2947     
 2948     Acked-by: Kenneth Graunke <kenneth@whitecape.org>
 2949     Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
 2950 
 2951 commit 4191b59bd5458ea3a8b0d5272bdcd250fee1e129
 2952 Author: Adam Jackson <ajax@redhat.com>
 2953 Date:   Wed May 2 15:09:52 2018 -0400
 2954 
 2955     meson: Fix build with three-component version numbers
 2956     
 2957     Otherwise:
 2958     
 2959     include/meson.build:5:0: ERROR: Index 3 out of bounds of array of size 3.
 2960     
 2961     Signed-off-by: Adam Jackson <ajax@redhat.com>
 2962 
 2963 commit 531e1648fc0da03816ecc57481479e6fc6a45ac3
 2964 Author: Adam Jackson <ajax@redhat.com>
 2965 Date:   Wed Apr 25 13:39:18 2018 -0400
 2966 
 2967     gitlab-ci: Add for gitlab.freedesktop.org
 2968     
 2969     Looks quite a bit like the travis path, doesn't it? Still, nice to not
 2970     rely on an external service if we don't have to.
 2971     
 2972     Signed-off-by: Adam Jackson <ajax@redhat.com>
 2973 
 2974 commit 22285a6f1c5fa6ba22f4214c4ccc09e27d1925f6
 2975 Author: Roman Gilg <subdiff@gmail.com>
 2976 Date:   Fri Apr 20 17:10:06 2018 +0200
 2977 
 2978     present: fix msc offset calculation in window mode
 2979     
 2980     Instead of getting the current msc value from the window, which might be
 2981     different to old one directly take the last saved msc value saved in
 2982     the window_priv struct.
 2983     
 2984     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 2985     Reviewed-by: Adam Jackson <ajax@redhat.com>
 2986 
 2987 commit d7297b00444b0e2cd936fbfb08206a575ab8c29d
 2988 Author: Chris Wilson <chris@chris-wilson.co.uk>
 2989 Date:   Mon Apr 30 15:19:53 2018 -0700
 2990 
 2991     randr: Account for panning and transforms when constraining the cursor
 2992     
 2993     commit 56c90e29f04727c903bd0f084d23bf44eb1a0a11 [1.10.99.901]
 2994     Author: Adam Jackson <ajax@redhat.com>
 2995     Date:   Mon Nov 15 14:29:14 2010 -0500
 2996     
 2997         randr: Add RRConstrainCursorHarder
 2998     
 2999     introduced a regression as it ignored the effect of panning and
 3000     transforms upon the crtc bounds. The result was that the cursor would be
 3001     constrained to the visible area even though the panning arena was much
 3002     bigger, or the cursor was constrained to a region that did not even
 3003     match the visible area when the output was transformed or reflected.
 3004     
 3005     This supercedes the hack introduced by
 3006     commit 1bf81af4a6be1113bcc3b940ab264d5c9e0f0c5d [1.12.99.904]
 3007     Author: Rui Matos <tiagomatos@gmail.com>
 3008     Date:   Mon Jul 30 14:32:12 2012 -0400
 3009     
 3010         xf86RandR12: Don't call ConstrainCursorHarder() if panning is enabled
 3011     which disabled the cursor constraints if a panning mode was active, but
 3012     did not fix the regression with arbitrary output transforms.
 3013     
 3014     Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
 3015     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=39949
 3016     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3017     Cc: Rui Matos <tiagomatos@gmail.com>
 3018 
 3019 commit a843c61456b2046fb1780415f17162b503243af7
 3020 Author: Roman Gilg <subdiff@gmail.com>
 3021 Date:   Fri Apr 20 17:07:42 2018 +0200
 3022 
 3023     xwayland: restrict present cleanup to presenting and top parent window
 3024     
 3025     Clean up only if the request points to the presenting window or its top
 3026     parent window.
 3027     
 3028     Since in this case all events are removed unconditionally, always stop
 3029     the timer.
 3030     
 3031     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3032     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 3033 
 3034 commit 975d3a509667579b81d88616b91491472059354d
 3035 Author: Adam Jackson <ajax@redhat.com>
 3036 Date:   Mon Apr 30 14:10:26 2018 -0400
 3037 
 3038     xwayland: Avoid using epoxy_has_egl()
 3039     
 3040     There's no real point - if we don't have EGL then the extension check is
 3041     also going to fail - and the entrypoint is new in 1.5.0, which we don't
 3042     need to require yet.
 3043     
 3044     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3045     Reviewed-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 3046 
 3047 commit d6f2272f44ce1a7a96ae04fdbde8708514c60771
 3048 Author: Adam Jackson <ajax@redhat.com>
 3049 Date:   Mon Apr 30 14:07:44 2018 -0400
 3050 
 3051     meson: Bump version number here too
 3052     
 3053     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3054 
 3055 commit 6cace4990abc2386b6ea68536b321994d264c295
 3056 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 3057 Date:   Thu Apr 26 11:04:15 2018 -0400
 3058 
 3059     modesetting: Fix GBM objects leak when checking for flip
 3060     
 3061     GBM objects were never destroyed after looking for format and
 3062     modifier compatibility when deciding whether flipping or copying
 3063     a presented pixmap.
 3064     
 3065     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106106
 3066     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 3067 
 3068 commit e00ada9fbbddf4570fe38c3ceeb922af7afcfd1a
 3069 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 3070 Date:   Mon Apr 30 09:06:09 2018 +0200
 3071 
 3072     glamor: Don't fail in glamor_get_formats if not dmabuf_capable.
 3073     
 3074     If dmabuf_capable is false, because the server "dmabuf_capable"
 3075     debug flag isn't set, treat it as successfull query with zero
 3076     returned formats, instead of failure.
 3077     
 3078     This allows the servers cache_formats_and_modifiers() function
 3079     to cache the fact that formats are not supported during the
 3080     current server generation, instead of pointless retesting at
 3081     every invocation.
 3082     
 3083     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 3084     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3085 
 3086 commit 55db3c9cfc1bc92a53b75b99e8fa49a32d7efe63
 3087 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 3088 Date:   Mon Apr 30 09:06:08 2018 +0200
 3089 
 3090     dri3: Robustly clamp to 1.0 if not all screens support 1.2
 3091     
 3092     Checking for dri3_screen_info_rec.version >= 2 is insufficient,
 3093     as some shipping drivers, e.g., intel-ddx, nouveau-ddx, set the
 3094     version to DRI3_SCREEN_INFO_VERSION, ie. to whatever version the
 3095     installed servers headers define. On server 1.20 that would
 3096     be version 2, but the drivers still don't support the v1.2
 3097     hooks. Make sure all hooks are defined before reporting v1.2.
 3098     
 3099     Also make clamping of reported version to minimum of client
 3100     or server robust against possible future clients with possible
 3101     majorVersion >= 2.0.
 3102     
 3103     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 3104     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3105     Cc: Daniel Stone <daniels@collabora.com>
 3106 
 3107 commit fbc5c5cd532962d2df96a04e5c8cc0d21b47b08a
 3108 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 3109 Date:   Mon Apr 30 09:06:07 2018 +0200
 3110 
 3111     dri3: Fix error handling in dri3_buffer_from_pixmap request.
 3112     
 3113     The old info->fd_from_pixmap() driver hook, which is
 3114     preferentially used in dri3_fd_from_pixmap(), can return
 3115     error codes other than -1, e.g., -EINVAL (-22) on nouveau-ddx.
 3116     
 3117     Not handling the error causes a broken/corrupted X-Connection
 3118     resulting from a failed request.
 3119     
 3120     This fixes failure of sddm-greeter to start up under nouveau-ddx
 3121     with DRI3 enabled and DRI3 protocol version properly clamped
 3122     to 1.0 by the server (see followup patch).
 3123     
 3124     Fixes: 75bba3aedcb0 ("dri3: Use single-FD screen call for single-FD request")
 3125     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 3126     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3127     Cc: Daniel Stone <daniels@collabora.com>
 3128 
 3129 commit 19d006ee3db4b4635ef9ef5c92562f3ffeddb305
 3130 Author: Adam Jackson <ajax@redhat.com>
 3131 Date:   Tue Apr 24 16:08:26 2018 -0400
 3132 
 3133     dri3: Clamp to 1.0 if not all screens support 1.2
 3134     
 3135     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3136     Reviewed-by: Daniel Stone <daniels@collabora.com>
 3137 
 3138 commit 352a5ac87fd344936b759a5766eb74271e7d295d
 3139 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 3140 Date:   Tue Apr 24 10:17:26 2018 +0200
 3141 
 3142     dri3: Fix DRI3.2 support for drivers other than modesetting-ddx.
 3143     
 3144     Both xf86-video-intel and xf86-video-nouveau cause OpenGL clients to
 3145     fail when used with DRI3 on server 1.20 with Mesa 18.1.
 3146     
 3147     Reason is that the servers DRI3 version is now unconditionally reported
 3148     as DRI3 1.2 to 1.2 capable clients. This causes clients using Mesa 18.1
 3149     to use the new DRI 3.2 requests DRI3GetSupportedModifiers,
 3150     DRI3PixmapFromBuffers, etc. Drivers other than modesetting-ddx do not
 3151     support the needed hooks like info->pixmap_from_fds or
 3152     info->get_formats, info->get_modifiers. Unfortunately we can't simply
 3153     report the servers DRI3 version as 1.0 in this case, as the reported
 3154     version can not be specific to a X-Screen, and different screens may
 3155     have drivers with different capabilities.
 3156     
 3157     Luckily the server has fallbacks to ->pixmap_from_fd, ->fd_from_pixmap,
 3158     and simply reporting an empty set of supported modifiers for the
 3159     DRI3GetSupportedModifiers request if the ddx doesn't support DRI 3.2.
 3160     
 3161     Clients like Mesa 18.1's dri3 loader respond to the empty set of
 3162     reported modifiers by falling back to a dri driver selected buffer
 3163     format (image->createImageWithModifiers responds to a NULL modifier_list
 3164     by acting like ->createImage()). This works, but Mesa 18.1 will still
 3165     try to use the DRI3PixmapFromBuffers request to create the corresponding
 3166     pixmap, just passing in a modifier that corresponds to whatever tiling
 3167     the dri driver selected by default. To prevent this request - and
 3168     thereby the client - from failing with a BadImplementation error, remove
 3169     the check for modifier == DRM_MOD_FORMAT_INVALID in the pixmap_from_fd
 3170     fallback path of dri3_pixmap_from_fds() and trust that if we hit the
 3171     fallback path then the client will have passed a buffer with some driver
 3172     specific default tiling that can be handled by pixmap_from_fd.
 3173     
 3174     Another approach would be for Mesa's dri3 loader to keep track how a
 3175     buffer was created (with explicit modifiers or not), and then call
 3176     DRI3PixmapFromBuffers or DRI3PixmapFromBuffer, but then any future DRI3
 3177     client implementation would need to be fixed, so the server side is
 3178     probably the better place for this.
 3179     
 3180     Tested on Intel Ivybridge and NVidia Pascal.
 3181     
 3182     Fixes: 6e7c40f62db6 ("dri3: Add multi-planar/modifier buffer requests")
 3183     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 3184     Cc: Daniel Stone <daniels@collabora.com>
 3185     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 3186     Tested-by: Mike Lothian <mike@fireburn.co.uk>
 3187     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3188 
 3189 commit c6ab21022ce876f9c1409db4bb1967134f9f6dbe
 3190 Author: Adam Jackson <ajax@redhat.com>
 3191 Date:   Tue Apr 24 17:03:07 2018 -0400
 3192 
 3193     xserver 1.20 RC5
 3194     
 3195     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3196 
 3197 commit c593d843f6305dd8bc5fa7762273d319a223abc4
 3198 Author: Daniel Stone <daniels@collabora.com>
 3199 Date:   Tue Apr 24 21:27:47 2018 +0100
 3200 
 3201     dri3: Don't call vfuncs on old DRI3 screens
 3202     
 3203     Only call the get_supported_modifiers vfunc if the DRI3 screen struct is
 3204     sufficiently new.
 3205     
 3206     Signed-off-by: Daniel Stone <daniels@collabora.com>
 3207     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3208 
 3209 commit 54ac09717cd8c49259f53a4a227d903ebe8e0a32
 3210 Author: Lyude Paul <lyude@redhat.com>
 3211 Date:   Fri Apr 20 14:38:05 2018 -0400
 3212 
 3213     xwayland: Add glamor egl_backend for EGLStreams
 3214     
 3215     This adds initial support for displaying Xwayland applications through
 3216     the use of EGLStreams and nvidia's custom wayland protocol by adding
 3217     another egl_backend driver. This also adds some additional egl_backend
 3218     hooks that are required to make things work properly.
 3219     
 3220     EGLStreams work a lot differently then the traditional way of handling
 3221     buffers with wayland. Unfortunately, there are also a LOT of various
 3222     pitfalls baked into it's design that need to be explained.
 3223     
 3224     This has a very large and unfortunate implication: direct rendering is,
 3225     for the time being at least, impossible to do through EGLStreams. The
 3226     main reason being that the EGLStream spec mandates that we lose the
 3227     entire color buffer contents with each eglSwapBuffers(), which goes
 3228     against X's requirement of not losing data with pixmaps.  no way to use
 3229     an allocated EGLSurface as the storage for glamor rendering like we do
 3230     with GBM, we have to rely on blitting each pixmap to it's respective
 3231     EGLSurface producer each frame. In order to pull this off, we add two
 3232     different additional egl_backend hooks that GBM opts out of
 3233     implementing:
 3234     
 3235     - egl_backend.allow_commits for holding off displaying any EGLStream
 3236       backed pixmaps until the point where it's stream is completely
 3237       initialized and ready for use
 3238     - egl_backend.post_damage for blitting the content of the EGLStream
 3239       surface producer before Xwayland actually damages and commits the
 3240       wl_surface to the screen.
 3241     
 3242     The other big pitfall here is that using nvidia's wayland-eglstreams
 3243     helper library is also not possible for the most part. All of it's API
 3244     for creating and destroying streams rely on being able to perform a
 3245     roundtrip in order to bring each stream to completion since the wayland
 3246     compositor must perform it's job of connecting a consumer to each
 3247     EGLstream. Because Xwayland has to potentially handle both responding to
 3248     the wayland compositor and it's own X clients, the situation of the
 3249     wayland compositor being one of our X clients must be considered. If we
 3250     perform a roundtrip with the Wayland compositor, it's possible that the
 3251     wayland compositor might currently be connected to us as an X client and
 3252     thus hang while both Xwayland and the wayland compositor await responses
 3253     from eachother. To avoid this, we work directly with the wayland
 3254     protocol and use wl_display_sync() events along with release() events to
 3255     set up and destroy EGLStreams asynchronously alongside handling X
 3256     clients.
 3257     
 3258     Additionally, since setting up EGLStreams is not an atomic operation we
 3259     have to take into consideration the fact that an EGLStream can
 3260     potentially be created in response to a window resize, then immediately
 3261     deleted due to another pending window resize in the same X client's
 3262     pending reqests before Xwayland hits the part of it's event loop where
 3263     we read from the wayland compositor. To make this even more painful, we
 3264     also have to take into consideration that since EGLStreams are not
 3265     atomic that it's possible we could delete wayland resources for an
 3266     EGLStream before the compositor even finishes using them and thus run
 3267     into errors. So, we use quite a bit of tracking logic to keep EGLStream
 3268     objects alive until we know the compositor isn't using them (even if
 3269     this means the stream outlives the pixmap it backed).
 3270     
 3271     While the default backend for glamor remains GBM, this patch exists for
 3272     users who have had to deal with the reprecussion of their GPU
 3273     manufacturers ignoring the advice of upstream and the standardization of
 3274     GBM across most major GPU manufacturers. It is not intended to be a
 3275     final solution to the GBM debate, but merely a baindaid so our users
 3276     don't have to suffer from the consequences of companies avoiding working
 3277     upstream. New drivers are strongly encouraged not to use this as a
 3278     backend, and use GBM like everyone else. We even spit this out as an
 3279     error from Xwayland when using the eglstream backend.
 3280     
 3281     Signed-off-by: Lyude Paul <lyude@redhat.com>
 3282     Acked-by: Daniel Stone <daniels@collabora.com>
 3283     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3284 
 3285 commit 994f781007079176e0247ee64af5696d34debcde
 3286 Author: Lyude Paul <lyude@redhat.com>
 3287 Date:   Fri Apr 20 14:38:04 2018 -0400
 3288 
 3289     xwayland: Add xwayland-config.h
 3290     
 3291     Just a small autogenerated header that will soon contain more then just
 3292     one macro.
 3293     
 3294     Signed-off-by: Lyude Paul <lyude@redhat.com>
 3295     Reviewed-by: Daniel Stone <daniels@collabora.com>
 3296     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3297 
 3298 commit 1545e2dbadcb147d7d52b546d053149de866a031
 3299 Author: Lyude Paul <lyude@redhat.com>
 3300 Date:   Fri Apr 20 14:38:03 2018 -0400
 3301 
 3302     xwayland: Decouple GBM from glamor
 3303     
 3304     This takes all of the gbm related code in wayland-glamor.c and moves it
 3305     into it's own EGL backend for Xwayland, xwayland-glamor-gbm.c.
 3306     Additionally, we add the egl_backend struct into xwl_screen in order to
 3307     provide hooks for alternative EGL backends such as nvidia's EGLStreams.
 3308     
 3309     Signed-off-by: Lyude Paul <lyude@redhat.com>
 3310     Reviewed-by: Lyude Paul <lyude@redhat.com>
 3311     Reviewed-by: Daniel Stone <daniels@collabora.com>
 3312     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3313 
 3314 commit d2d664df974ac5a55d5819f0379fcdac05d22fa3
 3315 Author: Adam Jackson <ajax@redhat.com>
 3316 Date:   Mon Apr 23 17:21:09 2018 -0400
 3317 
 3318     vfb: Fix man page in re depth
 3319     
 3320     32 is not a valid depth, and the default is now 24 not 8.
 3321     
 3322     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3323     Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 3324 
 3325 commit 79a7137557d33d4e92713ae8cabe838c44fea488
 3326 Author: Adam Jackson <ajax@redhat.com>
 3327 Date:   Mon Apr 23 16:19:15 2018 -0400
 3328 
 3329     glx: Require depth > 12 for GLX visuals
 3330     
 3331     fb is happy to do TrueColor to 8bpp drawables, but mesa is not. Depth 12
 3332     is the biggest pseudocolor anyone ever really did, and 15 is the least
 3333     truecolor.
 3334     
 3335     Without this Xvfb at depth 8 would "have" GLX, but no vendors
 3336     would actually back any of the screens. libGL will attempt to call
 3337     GLXQueryServerString to figure out the GLX version, and vnd will throw
 3338     an error because there's no vendor to dispatch that to, and then clients
 3339     crash.
 3340     
 3341     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3342 
 3343 commit 818885e6198cf2883155cb3d2e22c8c7bc4239fb
 3344 Author: Adam Jackson <ajax@redhat.com>
 3345 Date:   Mon Apr 23 16:19:14 2018 -0400
 3346 
 3347     vnd: Disable GLX if no vendors successfully initialized
 3348     
 3349     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3350 
 3351 commit fc25bceb515e5c18eecdebf5933c3e05cdac1a5a
 3352 Author: Adam Jackson <ajax@redhat.com>
 3353 Date:   Mon Apr 23 16:19:13 2018 -0400
 3354 
 3355     dix: Allow an extension to disable itself
 3356     
 3357     GLX registers an extension before we know if there are any screens that
 3358     can actually do it. It's inconvenient to shrink the extension list, so
 3359     instead allow the extension to simply zero out its base opcode to
 3360     indicate that it needed to panic and disable itself.
 3361     
 3362     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3363 
 3364 commit 73a1cb9c92c936c2c1ae3d69fed743e21916d687
 3365 Author: Adam Jackson <ajax@redhat.com>
 3366 Date:   Mon Apr 23 16:19:12 2018 -0400
 3367 
 3368     dix: Factor out extension availability check
 3369     
 3370     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3371 
 3372 commit 9d5af632fde0373babfa32e66a59cfbf26ed7e5d
 3373 Author: Adam Jackson <ajax@redhat.com>
 3374 Date:   Mon Apr 23 15:21:14 2018 -0400
 3375 
 3376     animcur: Fix crash when removing a master device
 3377     
 3378     Reproducer:
 3379     
 3380     $ Xvfb -ac -noreset :1 &
 3381     $ DISPLAY=:1 xinput create-master touch1
 3382     $ DISPLAY=:1 xinput remove-master "touch1 pointer"
 3383     
 3384     Bugzilla: https://bugs.freedesktop.org/105761
 3385     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3386     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 3387 
 3388 commit 8275903956d7876519fa55fb805669dc301bf243
 3389 Author: Thomas Klausner <wiz@NetBSD.org>
 3390 Date:   Mon Apr 23 14:56:17 2018 -0400
 3391 
 3392     sdksyms: Cope with __pid_t and __uint32_t
 3393     
 3394     Kludge sdksyms.c generator to not fail on GetClientPid.
 3395     It returns pid_t which on NetBSD is #define pid_t __pid_t
 3396     This slightly alters the GCC preprocessor output which this fragile
 3397     code could not deal with when using GCC 5+
 3398     
 3399     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3400 
 3401 commit e29d783278608544a208f211231a6a3ad2f8fa09
 3402 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 3403 Date:   Fri Apr 20 19:59:40 2018 +0200
 3404 
 3405     modesetting: Only use modifiers on kms drivers which do support them.
 3406     
 3407     Use the DRM_CAP_ADDFB2_MODIFIERS query to make sure the kms
 3408     driver supports modifiers in the addfb2 ioctl, and fall back
 3409     to addfb ioctl without modifiers if modifiers are unsupported.
 3410     
 3411     E.g., as of Linux 4.17, nouveau-kms so far does not suppport
 3412     modifiers and gets angry if drmModeAddFB2WithModifiers() is
 3413     called (-> failure to set a video mode -> blank screen), but
 3414     Mesa's nvc0+ gallium driver causes gbm_bo_get_modifier() to
 3415     return a valid modifier by translating the default tiling of
 3416     bo's created via gbm_bo_create() into a modifier other than
 3417     DRM_FORMAT_MOD_INVALID (see Mesa's nvc0_miptree_get_modifier()).
 3418     
 3419     Testing for != DRM_FORMAT_MOD_INVALID is apparently not
 3420     sufficient for safe use of drmModeAddFB2WithModifiers.
 3421     
 3422     Bonus: Handle potential failure of populate_format_modifiers().
 3423     
 3424     The required DRM_CAP is defined since libdrm v2.4.65, and we
 3425     require v2.4.89+ for the server, so we can use it unconditionally.
 3426     
 3427     Tested on intel-kms, radeon-kms, nouveau-kms. Fixes failure on
 3428     NVidia Pascal.
 3429     
 3430     Fixes: 2f807c2324b4 ("modesetting: Add support for multi-plane pixmaps when page-flipping")
 3431     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 3432     Cc: Daniel Stone <daniels@collabora.com>
 3433     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 3434     Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 3435 
 3436 commit fe4d1876b4f01c0b0e1916d548c398789f196164
 3437 Author: Lyude Paul <lyude@redhat.com>
 3438 Date:   Wed Apr 18 17:57:54 2018 -0400
 3439 
 3440     meson: Fix indenting in glx/meson.build
 3441     
 3442     No functional changes, just fixing a tabs vs. space error I noticed
 3443     
 3444     Signed-off-by: Lyude Paul <lyude@redhat.com>
 3445     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3446 
 3447 commit 4e28a6a223c4f9d0f5defe0313a94e22e0416787
 3448 Author: Lyude Paul <lyude@redhat.com>
 3449 Date:   Wed Apr 18 18:09:15 2018 -0400
 3450 
 3451     meson: Ensure we always build Xext/hashtable.c for glx
 3452     
 3453     Seems that while glxvnd relies on some of the hashtable functions in
 3454     Xext, we only build hashtable support for Xext if we're also building
 3455     the res extension. This leads to some errors if you try to build glx
 3456     without res enabled:
 3457     
 3458     glx/liblibglxvnd.a(vndcmds.c.o): In function `LookupVendorPrivDispatch':
 3459     /home/lyudess/Projects/xserver/glx/vndcmds.c:65: undefined reference to `ht_find'
 3460     /home/lyudess/Projects/xserver/glx/vndcmds.c:67: undefined reference to `ht_add'
 3461     glx/liblibglxvnd.a(vndcmds.c.o): In function `GlxDispatchInit':
 3462     /home/lyudess/Projects/xserver/glx/vndcmds.c:405: undefined reference to `ht_generic_compare'
 3463     /home/lyudess/Projects/xserver/glx/vndcmds.c:405: undefined reference to `ht_generic_hash'
 3464     /home/lyudess/Projects/xserver/glx/vndcmds.c:405: undefined reference to `ht_create'
 3465     glx/liblibglxvnd.a(vndcmds.c.o): In function `GlxDispatchReset':
 3466     /home/lyudess/Projects/xserver/glx/vndcmds.c:468: undefined reference to `ht_destroy'
 3467     collect2: error: ld returned 1 exit status
 3468     ninja: build stopped: subcommand failed.
 3469     
 3470     So, make sure that hashtable.c gets both for both glx and res
 3471     
 3472     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3473     Signed-off-by: Lyude Paul <lyude@redhat.com>
 3474 
 3475 commit 3b4671f9e9c85f23e7593652e1482b11dc3ad4af
 3476 Author: Olivier Fourdan <ofourdan@redhat.com>
 3477 Date:   Thu Apr 19 09:13:23 2018 +0200
 3478 
 3479     xwayland: Clean up all frame callbacks
 3480     
 3481     Regardless of the order we un-realize windows.
 3482     
 3483     Suggested-by: Roman Gilg <subdiff@gmail.com>
 3484     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 3485     Reviewed-by: Roman Gilg <subdiff@gmail.com>
 3486 
 3487 commit 8b8f9007cc56fdcee5479876e88e06b7f8b6de35
 3488 Author: Olivier Fourdan <ofourdan@redhat.com>
 3489 Date:   Wed Apr 18 16:02:02 2018 +0200
 3490 
 3491     xwayland: avoid using freed xwl_window on unrealize
 3492     
 3493     xwl_unrealize_window() would use freed xwl_window which can lead to
 3494     various memory corruption and crashes, as reported by valgrind:
 3495     
 3496      Invalid read of size 8
 3497         at 0x42C802: xwl_present_cleanup (xwayland-present.c:84)
 3498         by 0x42BA67: xwl_unrealize_window (xwayland.c:601)
 3499         by 0x541EE9: compUnrealizeWindow (compwindow.c:285)
 3500         by 0x57E1FA: UnrealizeTree (window.c:2816)
 3501         by 0x581189: UnmapWindow (window.c:2874)
 3502         by 0x54EB26: ProcUnmapWindow (dispatch.c:879)
 3503         by 0x554B7D: Dispatch (dispatch.c:479)
 3504         by 0x558BE5: dix_main (main.c:276)
 3505         by 0x7C4B1BA: (below main) (libc-start.c:308)
 3506       Address 0xf520f60 is 96 bytes inside a block of size 184 free'd
 3507         at 0x4C2EDAC: free (vg_replace_malloc.c:530)
 3508         by 0x42B9FB: xwl_unrealize_window (xwayland.c:624)
 3509         by 0x541EE9: compUnrealizeWindow (compwindow.c:285)
 3510         by 0x57E1FA: UnrealizeTree (window.c:2816)
 3511         by 0x581189: UnmapWindow (window.c:2874)
 3512         by 0x54EB26: ProcUnmapWindow (dispatch.c:879)
 3513         by 0x554B7D: Dispatch (dispatch.c:479)
 3514         by 0x558BE5: dix_main (main.c:276)
 3515         by 0x7C4B1BA: (below main) (libc-start.c:308)
 3516       Block was alloc'd at
 3517         at 0x4C2FB06: calloc (vg_replace_malloc.c:711)
 3518         by 0x42B307: xwl_realize_window (xwayland.c:488)
 3519         by 0x541E59: compRealizeWindow (compwindow.c:268)
 3520         by 0x57DA40: RealizeTree (window.c:2617)
 3521         by 0x580B28: MapWindow (window.c:2694)
 3522         by 0x54EA2A: ProcMapWindow (dispatch.c:845)
 3523         by 0x554B7D: Dispatch (dispatch.c:479)
 3524         by 0x558BE5: dix_main (main.c:276)
 3525         by 0x7C4B1BA: (below main) (libc-start.c:308)
 3526     
 3527     This is because UnrealizeTree() traverses the tree from top to bottom,
 3528     which invalidates the assumption that if the Window doesn't feature an
 3529     xwl_window on its own, it's the xwl_window of its first ancestor with
 3530     one.
 3531     
 3532     This reverts commit 82df2ce3
 3533     
 3534     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3535     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 3536 
 3537 commit 12a6b189fb17894d2c3851b70a396bbf41f444c6
 3538 Author: David Woodhouse <dwmw2@infradead.org>
 3539 Date:   Tue Apr 17 22:22:21 2018 +0100
 3540 
 3541     glamor: fix glamor_xv_query_image_attributes() for odd-width images
 3542     
 3543     Images which are one pixel wider than a multiple of 8 are being handled
 3544     incorrectly. Other drivers round up the width to a multiple of two
 3545     before they start calculating. Do the same.
 3546     
 3547     https://bugzilla.gnome.org/show_bug.cgi?id=795235
 3548     
 3549     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3550     Signed-off-by: David Woodhouse <dwmw2@infradead.org>
 3551 
 3552 commit ac7a4bf44c68c5f323375974b208d4530fb5b60f
 3553 Author: Chris Wilson <chris@chris-wilson.co.uk>
 3554 Date:   Sun Apr 15 15:40:03 2018 +0100
 3555 
 3556     os/WaitFor: Check timers on every iteration
 3557     
 3558     Currently we only check timer expiry if there are no client fd (or
 3559     other input) waiting to be serviced. This makes it very easy to starve
 3560     the timers with long request queues, and so miss critical timestamps.
 3561     
 3562     The timer subsystem is just another input waiting to be serviced, so
 3563     evaluate it on every loop like all the others, at the cost of calling
 3564     GetTimeInMillis() slightly more frequently. (A more invasive and likely
 3565     OS specific alternative would be to move the timer wheel to the local
 3566     equivalent of timerfd, and treat it as an input fd to the event loop
 3567     exactly equivalent to all the others, and so also serviced on every
 3568     pass. The trade-off being that the kernel timer wheel is likely more
 3569     efficiently integrated with epoll, but individual updates to each timer
 3570     would then require syscalls.)
 3571     
 3572     Reviewed-by: Peter Harris <pharris@opentext.com>
 3573     Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
 3574 
 3575 commit 78b6f940217c127f0f345b7710aa5994c6ded99c
 3576 Author: Adam Jackson <ajax@redhat.com>
 3577 Date:   Mon Apr 16 14:08:27 2018 -0400
 3578 
 3579     modesetting: Fix inverted check in dri2 WaitMSC
 3580     
 3581     ms_queue_vblank() returns false on failure.
 3582     
 3583     Reported-by: Chris Wilson <chris@chris-wilson.co.uk>
 3584     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3585     Reviewed-by: Frank Binns <frank.binns@imgtec.com>
 3586     Tested-by: Mike Lothian <mike@fireburn.co.uk>
 3587 
 3588 commit 4e92c51ce4d6ab50c1507a23a01c6be0d1954d79
 3589 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 3590 Date:   Mon Apr 16 08:14:47 2018 +0200
 3591 
 3592     dri3: Fix dri3_buffers_from_pixmap request.
 3593     
 3594     Sending pixmap depth and bpp was omitted, so the Mesa
 3595     X11 + EGL + DRI3 side of things always failed to
 3596     dri3_create_image_khr_pixmap_from_buffers(), which led
 3597     to failure of X11 + EGL compositing under DRI3 under,
 3598     e.g., KDE Plasma 5.
 3599     
 3600     Fixes: 6e7c40f62db6 ("dri3: Add multi-planar/modifier buffer requests")
 3601     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 3602     Cc: Daniel Stone <daniels@collabora.com>
 3603     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 3604     Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 3605     Tested-by: Mike Lothian <mike@fireburn.co.uk>
 3606 
 3607 commit a98a95b798a0062783ae6fd2135ad488af5efcfd
 3608 Author: Matt Turner <mattst88@gmail.com>
 3609 Date:   Sun Apr 15 23:37:45 2018 -0700
 3610 
 3611     modesetting: Move GBM code inside #ifdef GLAMOR_HAS_GBM
 3612     
 3613     Fixes a compilation error without Glamor.
 3614     
 3615     Bugzilla: https://bugs.gentoo.org/653288
 3616     Signed-off-by: Matt Turner <mattst88@gmail.com>
 3617     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 3618 
 3619 commit c3ae963a7b19e05b8296aae8b6354587756d48fa
 3620 Author: Olivier Fourdan <ofourdan@redhat.com>
 3621 Date:   Mon Apr 16 09:39:09 2018 +0200
 3622 
 3623     xwayland: Fix build without glamor
 3624     
 3625     Present support in Xwayland relies on glamor, make sure Xwayland can
 3626     be built without glamor by moving references to Present code inside
 3627     the conditional GLAMOR_HAS_GBM.
 3628     
 3629     Reported-by: Matt Turner <mattst88@gmail.com>
 3630     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 3631     Reviewed-by: Matt Turner <mattst88@gmail.com>
 3632     Reviewed-by: Roman Gilg <subdiff@gmail.com>
 3633 
 3634 commit bf147f67b2b7170fcc5cca07192f6b195dce85e5
 3635 Author: Adam Jackson <ajax@redhat.com>
 3636 Date:   Thu Apr 12 17:24:08 2018 -0400
 3637 
 3638     xwayland: Don't crash on WarpPointer(dest_w = None)
 3639     
 3640     Turns out that's legal, and xts exercises it, and we crash:
 3641     
 3642         Thread 1 "Xwayland" received signal SIGSEGV, Segmentation fault.
 3643         dixGetPrivate (key=0x813660 <xwl_window_private_key>, privates=0x20) at ../../include/privates.h:122
 3644         122     return (char *) (*privates) + key->offset;
 3645         (gdb) bt
 3646         #0  dixGetPrivate (key=0x813660 <xwl_window_private_key>, privates=0x20) at ../../include/privates.h:122
 3647         #1  dixLookupPrivate (key=0x813660 <xwl_window_private_key>, privates=0x20) at ../../include/privates.h:166
 3648         #2  xwl_window_of_top (window=0x0) at xwayland.c:128
 3649         #3  xwl_cursor_warped_to (device=<optimized out>, screen=0x268b6e0, client=<optimized out>, window=0x0, sprite=0x300bb30,
 3650             x=2400, y=1350) at xwayland.c:292
 3651         #4  0x00000000005622ec in ProcWarpPointer (client=0x32755d0) at events.c:3618
 3652     
 3653     In this case, x/y are the screen-space coordinates where the pointer
 3654     ends up, and we need to look up the (X) window there.
 3655     
 3656     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3657     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 3658 
 3659 commit d7269b49c3408f93a6cb8e28ddc3dda88224620a
 3660 Author: Emil Velikov <emil.velikov@collabora.com>
 3661 Date:   Wed Apr 11 18:51:16 2018 +0100
 3662 
 3663     configure.ac: make use of wayland-scanner.pc
 3664     
 3665     Replace the current (incorrect) assumption that wayland-scanner is
 3666     located in the wayland-client prefix. Make use of the wayland_scanner
 3667     variable in wayland-scanner.pc
 3668     
 3669     It was introduced back in 2013 and we already require newer wayland bits
 3670     
 3671     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3672     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 3673 
 3674 commit 0031bbad8400d35699664d18c0d8fc2e9e82d8a7
 3675 Author: Adam Jackson <ajax@redhat.com>
 3676 Date:   Wed Apr 11 15:39:33 2018 -0400
 3677 
 3678     sdksyms: Skip empty symbols
 3679     
 3680     Apparently on NetBSD we can hit failures like this:
 3681     
 3682     sdksyms.c:1773:15: error: expected expression before ',' token
 3683          (void *) &,                                                  /* ../../dri3/dri3.h:110 */
 3684     
 3685     I've been unable to reproduce that locally (even in a NetBSD vm), but
 3686     an obvious workaround might be to just notice empty symbol names and
 3687     ignore them rather than emit invalid C code.
 3688     
 3689     Tested-by: Thomas Klausner <wiz@netbsd.org>
 3690     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3691 
 3692 commit d61e516c847b9ff7e89e6be269050032070c1ad3
 3693 Author: Adam Jackson <ajax@redhat.com>
 3694 Date:   Tue Apr 10 15:45:02 2018 -0400
 3695 
 3696     xserver 1.20 RC4
 3697     
 3698     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3699 
 3700 commit a42992a4cca49cedd3930f5694c7a16e4f614b36
 3701 Author: Emil Velikov <emil.velikov@collabora.com>
 3702 Date:   Mon Apr 2 16:41:24 2018 +0100
 3703 
 3704     dri3: rework format/modifier caching
 3705     
 3706     Cut down the unnecessary malloc/memcpy/free by utilising the explicit
 3707     copy provided by the client.
 3708     
 3709     But above all: do so, after ensuring we get valid data from the
 3710     implementation.
 3711     
 3712     Fixes: cef12efc15c ("glamor: Implement GetSupportedModifiers")
 3713     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 3714     Cc: Daniel Stone <daniels@collabora.com>
 3715     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3716     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 3717 
 3718 commit 71a069fd7fbe815d386fc1b3c44cda732cff7af0
 3719 Author: Emil Velikov <emil.velikov@collabora.com>
 3720 Date:   Mon Apr 2 16:41:23 2018 +0100
 3721 
 3722     glamor: zero num_formats from the start
 3723     
 3724     The caller may ignore the return value (will be addressed with later
 3725     commit) so simply zero the count from the get-go. We're pretty much do
 3726     so, in all cases but one :-\
 3727     
 3728     Fixes: cef12efc15c ("glamor: Implement GetSupportedModifiers")
 3729     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 3730     Cc: Daniel Stone <daniels@collabora.com>
 3731     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3732     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 3733 
 3734 commit ac48724639e0a6a9e421b3b4e545d8506fd6bf5d
 3735 Author: Emil Velikov <emil.velikov@collabora.com>
 3736 Date:   Mon Apr 2 16:41:22 2018 +0100
 3737 
 3738     xwayland: zero num_formats from the start
 3739     
 3740     The caller may ignore the return value (will be addressed with later
 3741     commit) so simply zero the count from the get-go. We're pretty much do
 3742     so, in all cases but one :-\
 3743     
 3744     Fixes: cef12efc15c ("glamor: Implement GetSupportedModifiers")
 3745     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 3746     Cc: Daniel Stone <daniels@collabora.com>
 3747     
 3748     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3749     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 3750 
 3751 commit e2f45002fc3c53c6196935447b8fe77d0850175b
 3752 Author: Emil Velikov <emil.velikov@collabora.com>
 3753 Date:   Mon Apr 2 16:41:20 2018 +0100
 3754 
 3755     dri3: check for ::get_drawable_modifiers failure
 3756     
 3757     Currently if the function fails, we'll fall into two false assumptions:
 3758      - the the count is zero
 3759      - that the storage pointer is safe for free()
 3760     
 3761     I've just fixed the former (in glamor + xwayland) and have no
 3762     plans on adding yet another workaround for the latter.
 3763     
 3764     Simply zero both variables. Regardless if the implementation is missing
 3765     the callback or it foobars with output variables (normally a bad idea).
 3766     
 3767     Bonus points - this fixes a bug where we feed garbage to free() further
 3768     down ;-)
 3769     
 3770     Fixes: cef12efc15c ("glamor: Implement GetSupportedModifiers")
 3771     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 3772     Cc: Daniel Stone <daniels@collabora.com>
 3773     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3774     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 3775 
 3776 commit 150e4b12ad160b093899107ed586aa0cb258879e
 3777 Author: Emil Velikov <emil.velikov@collabora.com>
 3778 Date:   Mon Apr 2 16:41:19 2018 +0100
 3779 
 3780     glamor: zero num_modifiers from the start
 3781     
 3782     The caller may ignore the return value (will be addressed with later
 3783     commit) so simply zero the count from the get-go. We're pretty much do
 3784     so, in all cases but one :-\
 3785     
 3786     Fixes: cef12efc15c ("glamor: Implement GetSupportedModifiers")
 3787     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 3788     Cc: Daniel Stone <daniels@collabora.com>
 3789     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3790     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 3791 
 3792 commit b36a14c0b0e7e38406622eb5ff0666a8b8bc50f4
 3793 Author: Emil Velikov <emil.velikov@collabora.com>
 3794 Date:   Mon Apr 2 16:41:18 2018 +0100
 3795 
 3796     xwayland: zero num_modifiers from the start
 3797     
 3798     The caller may ignore the return value (will be addressed with later
 3799     commit) so simply zero the count from the get-go. We're pretty much do
 3800     so, in all cases but one :-\
 3801     
 3802     Fixes: cef12efc15c ("glamor: Implement GetSupportedModifiers")
 3803     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 3804     Cc: Daniel Stone <daniels@collabora.com>
 3805     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3806     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 3807 
 3808 commit a83ceec868a6d544bc7775a753b67aa40d0d0efc
 3809 Author: Emil Velikov <emil.velikov@collabora.com>
 3810 Date:   Mon Apr 2 16:41:15 2018 +0100
 3811 
 3812     dri3: simplify dri3_open() implementation
 3813     
 3814     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3815     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 3816 
 3817 commit 9a159f37e00ed47ec8cbff7c57d8787b8f5685f5
 3818 Author: Emil Velikov <emil.velikov@collabora.com>
 3819 Date:   Mon Apr 2 16:41:14 2018 +0100
 3820 
 3821     dri3: annotate fds/strides/offsets arrays as const
 3822     
 3823     It makes it perfectly clear that we should not be modifying them.
 3824     Should help highlight issues like the one fixed with previous commit.
 3825     
 3826     Fixes: cef12efc15c ("glamor: Implement GetSupportedModifiers")
 3827     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 3828     Cc: Daniel Stone <daniels@collabora.com>
 3829     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3830     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 3831 
 3832 commit 877fa0c66469628748dbd01506f15ddc4f11b849
 3833 Author: Emil Velikov <emil.velikov@collabora.com>
 3834 Date:   Mon Apr 2 16:41:13 2018 +0100
 3835 
 3836     xwayland: don't close() fds we don't own
 3837     
 3838     The glamor_pixmap_from_fds error path erroneously closes the fds.
 3839     We don't own them, plus the caller closes them after the function in
 3840     called.
 3841     
 3842     Fixes: cef12efc15c ("glamor: Implement GetSupportedModifiers")
 3843     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 3844     Cc: Daniel Stone <daniels@collabora.com>
 3845     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3846     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 3847 
 3848 commit 66b632bb068672f507212b00bd313b5040bf1a39
 3849 Author: Emil Velikov <emil.velikov@collabora.com>
 3850 Date:   Mon Apr 2 16:41:12 2018 +0100
 3851 
 3852     dri3: annotate the dri3_screen_info data as const
 3853     
 3854     dri3_screen_info is the user provide dispatch. Something that we do
 3855     not and should not change.
 3856     
 3857     When using the _ptr typecast + const the compiler barfs at us
 3858     (rightfully so), so use the _rec one.
 3859     
 3860     [Silence a new const mismatch warning too - ajax]
 3861     
 3862     Fixes: 56313829886 ("dri3: Add DRI3 extension")
 3863     Cc: Keith Packard <keithp@keithp.com>
 3864     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3865     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 3866 
 3867 commit c67f2eac56518163981af59f5accb7c79bc00f6a
 3868 Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
 3869 Date:   Mon Apr 9 14:35:30 2018 +0200
 3870 
 3871     dix: always send focus event on grab change
 3872     
 3873     Focus events are useless when 'from' and 'to' are the same.  But when
 3874     this is the result of a (Un)GrabKeyboard request, we should always send
 3875     them, including when the window manager had previously used XSetInputFocus
 3876     to specify the focus on a window which happens to be now taking a grab.
 3877     
 3878     This is notably needed for window manager using XI to always get keyboard
 3879     events even during grabs, so they can determine exactly when grabbing is
 3880     active.
 3881     
 3882     Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
 3883     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 3884 
 3885 commit 14be894b3f7976c133fc186e0e3c475606bab241
 3886 Author: Michal Srb <msrb@suse.com>
 3887 Date:   Tue Aug 1 10:29:03 2017 +0200
 3888 
 3889     Xext: Fix memory leaks in hashtable.
 3890     
 3891     Do not forget to delete key and value of every item and the hashtable itself.
 3892 
 3893 commit 1326ee0bc5eb858c3c00847b3ba65134e4ca2e2d
 3894 Author: Michal Srb <msrb@suse.com>
 3895 Date:   Tue Feb 13 10:33:30 2018 +0100
 3896 
 3897     glx: Do not call into Composite if it is disabled.
 3898     
 3899     Otherwise X server crashes if GLX is enabled and Composite disabled. For
 3900     example the compIsAlternateVisual function will try to lookup CompScreenPtr
 3901     using the CompScreenPrivateKey, but that was never initialized if Composite is
 3902     disabled.
 3903     
 3904     Fixes: f84e59a4f4. ("glx: Duplicate relevant fbconfigs for compositing visuals")
 3905     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104993
 3906     Signed-off-by: Michal Srb <msrb@suse.com>
 3907 
 3908 commit b9764b8489cabd15b50c360cfbd799fdab0883fd
 3909 Author: Jon Turney <jon.turney@dronecode.org.uk>
 3910 Date:   Tue Apr 3 16:54:00 2018 +0100
 3911 
 3912     hw/xwin/glx: Allocate fbconfigs correctly
 3913     
 3914     4b0a3cba fixed leaking of GLX fbconfigs, so now xwin needs to allocate them
 3915     correctly (individually, rather than all at once), so they can be freed
 3916     successfully.
 3917     
 3918     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 3919     Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
 3920 
 3921 commit e0a137ce5d653063604fa8d16c8498b8ac3ab3a7
 3922 Author: Kyle Brenneman <kbrenneman@nvidia.com>
 3923 Date:   Fri Apr 6 12:42:33 2018 -0600
 3924 
 3925     GLX: Fix a use after free error with the GLVND vendor handle.
 3926     
 3927     The GLVND layer will destroy all of the vendor handles at the end of each
 3928     server generation, but the GLX module then tries to re-use the same (now-freed)
 3929     handle in xorgGlxServerInit at the start of the next generation.
 3930     
 3931     In xorgGlxCloseExtension, explicitly destroy the vendor handle and set it to
 3932     NULL so that the next call to xorgGlxServerInit will recreate it.
 3933     
 3934     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3935 
 3936 commit 31c1489eeb8c5391cd978303989de167819f0041
 3937 Author: Peter Hutterer <peter.hutterer@who-t.net>
 3938 Date:   Fri Apr 6 12:28:56 2018 +1000
 3939 
 3940     xfree86: drop KDSKBMUTE handling
 3941     
 3942     This was never merged upstream. It was a Fedora kernel patch but dropped from
 3943     Fedora in 2013 with kernel 3.12.
 3944     
 3945     The reason for the KDSKBMUTE proposal has been fixed in systemd in Feb 2013,
 3946     systemd 198.
 3947     https://lists.freedesktop.org/archives/systemd-devel/2013-February/008795.html
 3948     
 3949     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3950     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 3951 
 3952 commit 74aef564a7faea4410e92fa606216ab877b0d452
 3953 Author: Adam Jackson <ajax@redhat.com>
 3954 Date:   Thu Apr 5 13:24:13 2018 -0400
 3955 
 3956     xwayland: Silence a build warning if we can
 3957     
 3958     [735/786] Generating 'hw/xwayland/Xwayland@exe/relative-pointer-unstable-v1-protocol.c'.
 3959     Using "code" is deprecated - use private-code or public-code.
 3960     See the help page for details.
 3961     
 3962     Use private-code if wayland-scanner is new enough.
 3963     
 3964     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3965 
 3966 commit 6f0903ddc905f44272b85942323a467d82fef644
 3967 Author: Adam Jackson <ajax@redhat.com>
 3968 Date:   Thu Apr 5 13:09:38 2018 -0400
 3969 
 3970     dix: Hush an almost certainly bogus warning
 3971     
 3972     ../dix/getevents.c: In function ‘transformAbsolute’:
 3973     ../dix/getevents.c:1195:28: warning: ‘oy’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 3974          struct pixman_f_vector p = {.v = {*x, *y, 1} };
 3975                                 ^
 3976     ../dix/getevents.c:1234:22: note: ‘oy’ was declared here
 3977          double x, y, ox, oy;
 3978                           ^~
 3979     
 3980     This one is truly special. Even though both ox and oy are set and read
 3981     along the same paths, only oy is marked for this warning! Initializing
 3982     just oy = 0.0 fixes it entirely, but let's not make a weird thing
 3983     weirder.
 3984     
 3985     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3986     Acked-by: Keith Packard <keithp@keithp.com>
 3987 
 3988 commit 57e872301f5e836be2efb8f952f9c9711650b447
 3989 Author: Adam Jackson <ajax@redhat.com>
 3990 Date:   Thu Apr 5 13:07:09 2018 -0400
 3991 
 3992     mi: Hush an almost certainly bogus warning
 3993     
 3994     In file included from ../mi/miexpose.c:83:
 3995     ../mi/miexpose.c: In function ‘miHandleExposures’:
 3996     ../include/regionstr.h:174:22: warning: ‘expBox.y2’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 3997          (_pReg)->extents = *(_pBox);
 3998          ~~~~~~~~~~~~~~~~~^~~~~~~~~~
 3999     ../mi/miexpose.c:139:12: note: ‘expBox.y2’ was declared here
 4000          BoxRec expBox;
 4001                 ^~~~~~
 4002     
 4003     etc. It's initialized if (extents), and then only read if (extents),
 4004     but gcc doesn't seem to figure that out. Whatever, bzero it to be
 4005     explicit.
 4006     
 4007     Signed-off-by: Adam Jackson <ajax@redhat.com>
 4008     Acked-by: Keith Packard <keithp@keithp.com>
 4009 
 4010 commit 83913de25d35709b3ab7b0ab124b73924145d2dd
 4011 Author: Adam Jackson <ajax@redhat.com>
 4012 Date:   Thu Apr 5 12:59:11 2018 -0400
 4013 
 4014     xkb: Silence some compiler warnings
 4015     
 4016     Of the form:
 4017     
 4018     ../xkb/XKBGAlloc.c: In function ‘SrvXkbAddGeomKeyAlias’:
 4019     ../xkb/XKBGAlloc.c:591:13: warning: ‘strncpy’ specified bound 4 equals destination size [-Wstringop-truncation]
 4020                  strncpy(alias->real, realStr, XkbKeyNameLength);
 4021                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4022     
 4023     This is intentional; the code that reads from these fields never reads
 4024     more than 4 bytes anyway. Rephrase things in terms of memcpy so that's
 4025     clear. Obviously this is awful but in XKB awful is par.
 4026     
 4027     Signed-off-by: Adam Jackson <ajax@redhat.com>
 4028     Acked-by: Keith Packard <keithp@keithp.com>
 4029 
 4030 commit d13cd3862e9ccd35c91a06680d02f2fc8fd03420
 4031 Author: Adam Jackson <ajax@redhat.com>
 4032 Date:   Thu Apr 5 12:48:26 2018 -0400
 4033 
 4034     dmx: Silence a string truncation warning.
 4035     
 4036     ../hw/dmx/config/dmxparse.c: In function ‘dmxConfigCreateOption’:
 4037     ../hw/dmx/config/dmxparse.c:385:13: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
 4038                  strncpy(option->string + offset, p->string, len);
 4039                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4040     ../hw/dmx/config/dmxparse.c:383:23: note: length computed here
 4041                  int len = strlen(p->string);
 4042                            ^~~~~~~~~~~~~~~~~
 4043     
 4044     The thing it's warning about is intentional, the surrounding code does
 4045     its own nul-termination. Make that obvious by using memcpy instead.
 4046     
 4047     Signed-off-by: Adam Jackson <ajax@redhat.com>
 4048     Acked-by: Keith Packard <keithp@keithp.com>
 4049 
 4050 commit 176f26e96ab9958c84c98c88f31729d0240c420e
 4051 Author: Adam Jackson <ajax@redhat.com>
 4052 Date:   Thu Apr 5 12:45:51 2018 -0400
 4053 
 4054     dmx: Clean up some argument parsing code
 4055     
 4056     This threw:
 4057     
 4058     ../hw/dmx/input/dmxarg.c: In function ‘dmxArgParse’:
 4059     ../hw/dmx/input/dmxarg.c:128:5: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
 4060          strncpy(tmp, string, len);
 4061          ^~~~~~~~~~~~~~~~~~~~~~~~~
 4062     ../hw/dmx/input/dmxarg.c:126:11: note: length computed here
 4063          len = strlen(string) + 2;
 4064                ^~~~~~~~~~~~~~
 4065     
 4066     This code predates xstrtokenize, but that's no excuse.
 4067     
 4068     Signed-off-by: Adam Jackson <ajax@redhat.com>
 4069     Acked-by: Keith Packard <keithp@keithp.com>
 4070 
 4071 commit be99072a1a20af44d2457b8c86bd9041f61efa79
 4072 Author: Adam Jackson <ajax@redhat.com>
 4073 Date:   Thu Apr 5 12:35:59 2018 -0400
 4074 
 4075     dmx: Fix a read-from-uninitialized warning
 4076     
 4077     ../hw/dmx/dmxpixmap.c: In function ‘dmxBitmapToRegion’:
 4078     ../include/regionstr.h:174:22: warning: ‘Box.x1’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 4079          (_pReg)->extents = *(_pBox);
 4080          ~~~~~~~~~~~~~~~~~^~~~~~~~~~
 4081     ../hw/dmx/dmxpixmap.c:208:12: note: ‘Box.x1’ was declared here
 4082          BoxRec Box;
 4083                 ^~~
 4084     
 4085     Signed-off-by: Adam Jackson <ajax@redhat.com>
 4086     Acked-by: Keith Packard <keithp@keithp.com>
 4087 
 4088 commit c3b190f9da3a8cd6f98c127220683dd20aed0f9b
 4089 Author: Adam Jackson <ajax@redhat.com>
 4090 Date:   Thu Apr 5 12:31:04 2018 -0400
 4091 
 4092     dmx: Fix some snprintf warnings.
 4093     
 4094     snprintf doesn't terminate the string if it truncates, so things like
 4095     this are lurking crashers:
 4096     
 4097     ../hw/dmx/dmxprop.c: In function ‘dmxPropertyIdentifier.part.0’:
 4098     ../hw/dmx/dmxprop.c:94:36: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 123 [-Wformat-truncation=]
 4099          snprintf(buf, sizeof(buf), "%s:%s:%s", DMX_IDENT, hostname, display);
 4100                                         ^~                 ~~~~~~~~
 4101     ../hw/dmx/dmxprop.c:94:5: note: ‘snprintf’ output 7 or more bytes (assuming 262) into a destination of size 128
 4102          snprintf(buf, sizeof(buf), "%s:%s:%s", DMX_IDENT, hostname, display);
 4103          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4104     ../hw/dmx/dmxprop.c: In function ‘dmxPropertyWindow’:
 4105     ../hw/dmx/dmxprop.c:372:36: warning: ‘%d’ directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 127 [-Wformat-truncation=]
 4106          snprintf(buf, sizeof(buf), "%s,%d", id, dmxScreen->index);
 4107                                         ^~
 4108     ../hw/dmx/dmxprop.c:372:5: note: ‘snprintf’ output between 3 and 140 bytes into a destination of size 128
 4109          snprintf(buf, sizeof(buf), "%s,%d", id, dmxScreen->index);
 4110          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4111     
 4112     We could be more precise about termination, but meh.
 4113     
 4114     Signed-off-by: Adam Jackson <ajax@redhat.com>
 4115     Acked-by: Keith Packard <keithp@keithp.com>
 4116 
 4117 commit 4c1453393feaebd688571ed1ba16c21703119ced
 4118 Author: Adam Jackson <ajax@redhat.com>
 4119 Date:   Thu Apr 5 12:21:53 2018 -0400
 4120 
 4121     gtf: Warning fix
 4122     
 4123     ../hw/xfree86/utils/gtf/gtf.c: In function ‘print_fb_mode’:
 4124     ../hw/xfree86/utils/gtf/gtf.c:241:50: warning: cast from function call of type ‘double’ to non-matching type ‘int’ [-Wbad-function-cast]
 4125          printf("    timings %d %d %d %d %d %d %d\n", (int) rint(1000000.0 / m->pclk),       /* pixclock in picoseconds */
 4126     
 4127     That's pretty nitpicky of you, gcc, but at least it's easy to fix.
 4128     
 4129     Signed-off-by: Adam Jackson <ajax@redhat.com>
 4130     Acked-by: Keith Packard <keithp@keithp.com>
 4131 
 4132 commit 99f9b077c62e14ba955b9c1f7afda47f7799d317
 4133 Author: Daniel Stone <daniels@collabora.com>
 4134 Date:   Thu Apr 5 16:47:39 2018 +0100
 4135 
 4136     modesetting: Actually get framebuffer ID
 4137     
 4138     We would fail to get the FB ID if it wasn't already imported, since we
 4139     were checking to see if the pointer was NULL (it never was) rather than
 4140     if the content of the pointer was 0.
 4141     
 4142     Signed-off-by: Daniel Stone <daniels@collabora.com>
 4143     Reported-by: Olivier Fourdan <ofourdan@redhat.com>
 4144     Tested-by: Olivier Fourdan <ofourdan@redhat.com>
 4145     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 4146 
 4147 commit 8ff1cdb2bff72a37e75004f562737dd0af6daf14
 4148 Author: Daniel Stone <daniels@collabora.com>
 4149 Date:   Thu Apr 5 15:00:38 2018 +0100
 4150 
 4151     dri3: Set stride and size for old clients
 4152     
 4153     For old clients using the fd_from_pixmap entrypoint, make sure we set
 4154     stride and size correctly.
 4155     
 4156     Noticed by inspection.
 4157     
 4158     Signed-off-by: Daniel Stone <daniels@collabora.com>
 4159 
 4160 commit 78574a66b5b286e26839877640592980de089d64
 4161 Author: Daniel Stone <daniels@collabora.com>
 4162 Date:   Thu Apr 5 14:58:40 2018 +0100
 4163 
 4164     modesetting: Don't reuse iterator in nested loop
 4165     
 4166     drmmode_crtc_set_mode has a loop nested inside another loop, where both
 4167     of them were using 'i' as the loop iterator. Rename it to avoid an
 4168     infinite loop.
 4169     
 4170     Signed-off-by: Daniel Stone <daniels@collabora.com>
 4171     Reported-by: Michel Dänzer <michel.daenzer@amd.com>
 4172     Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer@amd.com>
 4173     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4174 
 4175 commit ce2a4313dd31084f7766af59b8477cabe029bf44
 4176 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 4177 Date:   Wed Apr 4 03:49:02 2018 +0200
 4178 
 4179     modesetting: Fix page flipping harder under DRI 3.2.
 4180     
 4181     Non-atomic kms drivers like radeon-kms (or nouveau-kms with
 4182     default setting of "atomic ioctl disabled") don't export
 4183     any formats, so num_formats == 0.
 4184     
 4185     Some atomic drivers (nouveau-kms with boot param nouveau.atomic=1,
 4186     or intel-kms on, e.g., Linux 4.13) expose num_formats == 0, or
 4187     don't expose any modifiers, so num_modifiers == 0.
 4188     
 4189     Let the drmmode_is_format_supported() check pass in these cases
 4190     to allow page flipping, as it works just fine.
 4191     
 4192     Tested on NV-96 for nouveau, HD-5770 for radeon, Intel Ivybridge
 4193     with Linux 4.13 and drm-next to fix page flipping.
 4194     
 4195     Fixes: 9d147305b404 ("modesetting: Check if buffer format is supported when flipping")
 4196     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 4197     Reviewed-by: Daniel Stone <daniels@collabora.com>
 4198 
 4199 commit 44e7098367b87c79470d6760753e42014be7ca01
 4200 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 4201 Date:   Wed Apr 4 00:01:15 2018 -0400
 4202 
 4203     modesetting: Have consistent state when using atomic modesetting
 4204     
 4205     We need to make sure that the atomic commit are consistent
 4206     or else the kernel will reject it. For example, when moving
 4207     a CRTC from one output to another one, the first output CRTC_ID
 4208     property needs to be reset. Also if the second output was using
 4209     another CRTC beforehands, it needs to be disabled to avoid an
 4210     inconsistent state.
 4211     
 4212     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 4213     Tested-by: Daniel Stone <daniels@collabora.com>
 4214     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4215 
 4216 commit bc4d278132956ec3c43695f1bd34083ef5fe7f22
 4217 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 4218 Date:   Wed Apr 4 00:01:14 2018 -0400
 4219 
 4220     modesetting: Use atomic modesetting to set DPMS mode
 4221     
 4222     CRTCs and outputs needs to be enabled/disabled when the current
 4223     DPMS mode is changed. We also try to do it in an atomic commit
 4224     when possible.
 4225     
 4226     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 4227     Tested-by: Daniel Stone <daniels@collabora.com>
 4228     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4229 
 4230 commit 23c67987a337beb91292f8e318d566941453baa3
 4231 Author: Daniel Stone <daniels@collabora.com>
 4232 Date:   Wed Apr 4 16:16:38 2018 +0100
 4233 
 4234     glamor: Add fd_from_pixmap hook
 4235     
 4236     Add a fd_from_pixmap (singular) hook to go with fds_from_pixmap, which
 4237     will ensure that the pixmap is allocated without modifiers and is thus
 4238     exportable to non-modifier-aware clients.
 4239     
 4240     This makes it possible to run a compositing manager on an old GLX/EGL
 4241     stack on top of an X server which allocates internal buffer storage
 4242     using exotic modifiers from modifier-aware GBM/EGL/KMS.
 4243     
 4244     Signed-off-by: Daniel Stone <daniels@collabora.com>
 4245     Reported-by: Adam Jackson <ajax@redhat.com>
 4246     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4247 
 4248 commit 9c407f0a1b40128fc65b19b6a499f1d4dae6f702
 4249 Author: Daniel Stone <daniels@collabora.com>
 4250 Date:   Wed Apr 4 16:16:37 2018 +0100
 4251 
 4252     glamor: Fall back to non-modifier allocations
 4253     
 4254     If we try to allocate with particular modifiers but it fails, try to
 4255     fall back to non-modifier allocations.
 4256     
 4257     Signed-off-by: Daniel Stone <daniels@collabora.com>
 4258     Reported-by: Adam Jackson <ajax@redhat.com>
 4259     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4260 
 4261 commit 86b2d8740a330deafe8a9bbf0402705a43efbb42
 4262 Author: Daniel Stone <daniels@collabora.com>
 4263 Date:   Wed Apr 4 16:16:36 2018 +0100
 4264 
 4265     glamor: Reallocate pixmap storage without modifiers if necessary
 4266     
 4267     If we need a pixmap's storage to be exported to a context in which we
 4268     aren't aware of modifiers, reallocate the buffer again without
 4269     modifiers.
 4270     
 4271     This makes it possible to run a compositing manager on an old GLX/EGL
 4272     stack on top of an X server which allocates internal buffer storage
 4273     using exotic modifiers from modifier-aware GBM/EGL/KMS.
 4274     
 4275     Signed-off-by: Daniel Stone <daniels@collabora.com>
 4276     Reported-by: Adam Jackson <ajax@redhat.com>
 4277     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4278 
 4279 commit aab5c46ccbe769830cae383330fd62c074a0d2f7
 4280 Author: Daniel Stone <daniels@collabora.com>
 4281 Date:   Wed Apr 4 16:16:35 2018 +0100
 4282 
 4283     glamor: Push make_exportable into callers
 4284     
 4285     Rather than calling make_exportable from the get_bo entrypoint, make
 4286     sure that someone has already explicitly requested the pixmap be
 4287     exportable.
 4288     
 4289     This is technically an ABI break in that it changes observable
 4290     behaviour, but no driver other than modesetting has ever used get_bo.
 4291     
 4292     Signed-off-by: Daniel Stone <daniels@collabora.com>
 4293     Reported-by: Adam Jackson <ajax@redhat.com>
 4294     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4295 
 4296 commit 1b9fa3b64ca420eb54b5e5f28074c326e1fbe825
 4297 Author: Daniel Stone <daniels@collabora.com>
 4298 Date:   Wed Apr 4 16:16:34 2018 +0100
 4299 
 4300     glamor: Track if BO allocation used modifiers
 4301     
 4302     Keep track of whether or not we fed modifiers into GBM when we allocated
 4303     a BO. We'll use this later inside Glamor, to reallocate buffer storage
 4304     if we allocate buffer storage using modifiers, and a non-modifier-aware
 4305     client requests an export of that pixmap.
 4306     
 4307     This makes it possible to run a compositing manager on an old GLX/EGL
 4308     stack on top of an X server which allocates internal buffer storage
 4309     using exotic modifiers from modifier-aware GBM/EGL/KMS.
 4310     
 4311     Signed-off-by: Daniel Stone <daniels@collabora.com>
 4312     Reported-by: Adam Jackson <ajax@redhat.com>
 4313     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4314 
 4315 commit 0e9504e10c4363e24a83f1a82e6a4b9f5fd8f846
 4316 Author: Daniel Stone <daniels@collabora.com>
 4317 Date:   Wed Apr 4 16:16:33 2018 +0100
 4318 
 4319     drmmode: Track if BO allocation used modifiers
 4320     
 4321     Keep track of whether or not we fed modifiers into GBM when we allocated
 4322     a BO. We'll use this later inside Glamor, to reallocate buffer storage
 4323     if we allocate buffer storage using modifiers, and a non-modifier-aware
 4324     client requests an export of that pixmap.
 4325     
 4326     This makes it possible to run a compositing manager on an old GLX/EGL
 4327     stack on top of an X server which allocates internal buffer storage
 4328     using exotic modifiers from modifier-aware GBM/EGL/KMS.
 4329     
 4330     Signed-off-by: Daniel Stone <daniels@collabora.com>
 4331     Reported-by: Adam Jackson <ajax@redhat.com>
 4332     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4333 
 4334 commit 75bba3aedcb04132a4fe2806680cd38a8f2bd206
 4335 Author: Daniel Stone <daniels@collabora.com>
 4336 Date:   Wed Apr 4 16:16:32 2018 +0100
 4337 
 4338     dri3: Use single-FD screen call for single-FD request
 4339     
 4340     When importing client buffers into Pixmaps, we can use the fds_to_pixmap
 4341     hook for both single-FD and multi-FD client requests without any harm.
 4342     
 4343     For the other direction of exporting Pixmap buffers to client FDs,
 4344     create a new helper which calls the old pixmap_to_fd hook if available.
 4345     This allows the implementation to ensure that the Pixmap storage is
 4346     accessible to clients not aware of multiple planes or modifiers, e.g. by
 4347     reallocating and copying.
 4348     
 4349     This makes it possible to run a compositing manager on an old GLX/EGL
 4350     stack on top of an X server which allocates internal buffer storage
 4351     using exotic modifiers from modifier-aware GBM/EGL/KMS.
 4352     
 4353     Signed-off-by: Daniel Stone <daniels@collabora.com>
 4354     Reported-by: Adam Jackson <ajax@redhat.com>
 4355     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4356 
 4357 commit 574069c2912893a9b9fd3d701eb3ad4784e31553
 4358 Author: Aaron Plattner <aplattner@nvidia.com>
 4359 Date:   Mon Apr 2 15:04:08 2018 -0700
 4360 
 4361     xfree86: Restore newline before "X Protocol Version" string
 4362     
 4363     The newline before the protocl version got lost in commit
 4364     6cbefc3e0a33b380c147c533914437c7798d9b93. Prior to that commit, the
 4365     release date printed a newline at the end:
 4366     
 4367      X.Org X Server 1.19.6
 4368      Release Date: 2017-12-20
 4369      X Protocol Version 11, Revision 0
 4370      Build Operating System: Linux 4.14.12-1-ARCH x86_64
 4371     
 4372     Now, that string gets run together with the version:
 4373     
 4374      X.Org X Server 1.19.99.903 (1.20.0 RC 3)X Protocol Version 11, Revision 0
 4375      Build Operating System: Linux
 4376     
 4377     Since the version string printing has a variety of #ifdefs in it, just
 4378     add the newline to the begining of the protocol version string.
 4379     
 4380     Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
 4381     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 4382     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 4383 
 4384 commit df6cbf7a2b3b45be6910afb34459d30ca7783c16
 4385 Author: Adam Jackson <ajax@redhat.com>
 4386 Date:   Mon Apr 2 15:44:50 2018 -0400
 4387 
 4388     xserver 1.20 RC3
 4389     
 4390     Signed-off-by: Adam Jackson <ajax@redhat.com>
 4391 
 4392 commit f580116f3c89b3c086655cbd441f84e50115ea78
 4393 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 4394 Date:   Thu Mar 29 01:07:26 2018 -0400
 4395 
 4396     modesetting: Fix reported size when using atomic modesetting
 4397     
 4398     The framebuffer can include multiple CRTCs in multi-monitors
 4399     setup. So we shouldn't use the buffer size but the CRTC size
 4400     instead. Rotated displays are shadowed, so we don't need to
 4401     worry about it there.
 4402     
 4403     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 4404     Tested-by: Olivier Fourdan <ofourdan@redhat.com>
 4405     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 4406     Reviewed-by: Daniel Stone <daniels@collabora.com>
 4407 
 4408 commit ce7d5087cfe1d2df756d93b7f567b3c0b0a7f6a8
 4409 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 4410 Date:   Thu Mar 29 01:07:25 2018 -0400
 4411 
 4412     modesetting: Ignore alpha channel when importing BOs for modesetting
 4413     
 4414     Fixes a regression caused by modifiers support. For some hw to
 4415     continue working even if not supporting ARGB8888 and ARGB2101010
 4416     formats, we assume that all imported BOs are opaque.
 4417     
 4418     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 4419     Tested-by: Olivier Fourdan <ofourdan@redhat.com>
 4420     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 4421     Reviewed-by: Daniel Stone <daniels@collabora.com>
 4422 
 4423 commit 85b3fc18606e56d01734defb0e9fa04182f9fc1c
 4424 Author: Olivier Fourdan <ofourdan@redhat.com>
 4425 Date:   Thu Mar 29 09:42:08 2018 +0200
 4426 
 4427     modesetting: Use actual crtc position for pageflip
 4428     
 4429     Otherwise the same content is shown on all outputs.
 4430     
 4431     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 4432     Reviewed-by: Daniel Stone <daniels@collabora.comM>
 4433 
 4434 commit a10f1c9e08b982029186028b144d9243a2ebdde3
 4435 Author: Emil Velikov <emil.velikov@collabora.com>
 4436 Date:   Mon Apr 2 18:51:21 2018 +0100
 4437 
 4438     docs: remove resource management references
 4439     
 4440     The code referenced was removed back in 2009.
 4441     
 4442     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4443     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 4444 
 4445 commit 32c07e6b83fdb5b0ed99fc6b1eaa18064f6c3527
 4446 Author: Emil Velikov <emil.velikov@collabora.com>
 4447 Date:   Mon Apr 2 18:51:20 2018 +0100
 4448 
 4449     docs: purge some ISA references
 4450     
 4451     The respective ISA functions were dropped back in 2008
 4452     
 4453     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4454     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 4455 
 4456 commit 80d4098411ad96b662e830db06e59a7ab7f5c9d3
 4457 Author: Thierry Reding <treding@nvidia.com>
 4458 Date:   Thu Mar 29 13:07:56 2018 +0200
 4459 
 4460     meson: Add pixman-1 to required modules in xorg-server.pc
 4461     
 4462     pixman headers will be included for builds of external modules against
 4463     the xorg-server SDK. Make sure pixman is listed as a required module so
 4464     that the correct CFLAGS will be added.
 4465     
 4466     Note that the xorg-server.pc generated by the autotools-based build has
 4467     many more modules listed, but this seems to be enough to build at least
 4468     some of the external drivers against an X server built with Meson (I've
 4469     tested with xf86-input-libinput, xf86-video-nouveau and xf86-video-ati).
 4470     
 4471     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4472     Signed-off-by: Thierry Reding <treding@nvidia.com>
 4473 
 4474 commit 88c7b8bf4bae080ecb879fe7e3f8be2bede6f0a6
 4475 Author: Thierry Reding <treding@nvidia.com>
 4476 Date:   Thu Mar 29 13:07:55 2018 +0200
 4477 
 4478     meson: Distribute more SDK headers
 4479     
 4480     Install missing headers to the SDK directory to allow external modules
 4481     to properly build against the SDK. After this commit, the list of files
 4482     installed in the SDK include directory is the same as the list of files
 4483     installed by the autotools-based build.
 4484     
 4485     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4486     Signed-off-by: Thierry Reding <treding@nvidia.com>
 4487 
 4488 commit f3b0a2aee21f12f3332bf598d3ba0fcbd2832f95
 4489 Author: Thierry Reding <treding@nvidia.com>
 4490 Date:   Thu Mar 29 13:07:54 2018 +0200
 4491 
 4492     meson: Remove usage of pkg-config --variable=includedir
 4493     
 4494     Querying a pkg-config variable using the --variable option produces the
 4495     value of the given variable as stored in the pkg-config file and should
 4496     not be used to add directories to the include search path.
 4497     
 4498     The reason for this is that it breaks cross-compilation, because header
 4499     files are installed relative to the host sysroot. pkg-config supports a
 4500     PKG_CONFIG_SYSROOT_DIR environment variable that points to this sysroot
 4501     and will prepend that to the path of directories in -I or -L options in
 4502     pkg-config's Cflags, Libs or Libs.private keywords. However, because no
 4503     context can be inferred from variable names, as opposed to the keywords
 4504     with fixed meaning, the sysroot path will not be prepended to them. The
 4505     build system is responsible for doing so if necessary since it is aware
 4506     of the context in which the variable is used.
 4507     
 4508     Adding the include directory returned by pkg-config to the include path
 4509     leaks build system information into the cross-build and break with very
 4510     confusing errors such as this:
 4511     
 4512             In file included from include/misc.h:82:0,
 4513                              from dix/atom.c:55:
 4514             /usr/include/pthread.h:682:6: warning: '__regparm__' attribute directive ignored [-Wattributes]
 4515                   __cleanup_fct_attribute;
 4516                   ^~~~~~~~~~~~~~~~~~~~~~~
 4517     
 4518     or this:
 4519     
 4520             In file included from include/misc.h:139:0,
 4521                              from dix/atom.c:55:
 4522             /usr/include/stdlib.h:133:8: error: '_Float128' is not supported on this target
 4523              extern _Float128 strtof128 (const char *__restrict __nptr,
 4524                     ^~~~~~~~~
 4525     
 4526     Fix this by replacing the include directory with the appropriate xproto
 4527     dependency required to add the correct include directory to the compile
 4528     command for subdirectories that are missing the dependency. As detailed
 4529     above, this gives pkg-config the opportunity to prepend the sysroot for
 4530     all paths in -I compiler options.
 4531     
 4532     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4533     Signed-off-by: Thierry Reding <treding@nvidia.com>
 4534 
 4535 commit 1c002bc43472063cf8599abb0d6d7367e30456e2
 4536 Author: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
 4537 Date:   Fri Mar 30 22:32:13 2018 +0200
 4538 
 4539     modesetting/drmmode: add NULL pointer check in drmmode_output_dpms
 4540     
 4541     drmmode_output_dpms is called especially with !output->crtc found in
 4542     xf86DisableUnusedFunctions so we have to guard for it, else the server
 4543     segfaults:
 4544     
 4545     0  0x00007fdc1706054b in drmmode_output_dpms (output=0x55e15243c210, mode=3) at
 4546     drmmode_display.c:2243
 4547     1  0x000055e1500b6873 in xf86DisableUnusedFunctions (pScrn=0x55e152133f00) at
 4548     xf86Crtc.c:3021
 4549     2  0x000055e1500be940 in xf86RandR12CrtcSet (pScreen=<optimized out>,
 4550     randr_crtc=0x55e1524b2b90, randr_mode=0x0, x=0, y=0, rotation=<optimized out>,
 4551     num_randr_outputs=0, randr_outputs=0x0) at xf86RandR12.c:1244
 4552     3  0x000055e1500fa1c2 in RRCrtcSet (crtc=<optimized out>, mode=0x0, x=0, y=0,
 4553     rotation=rotation@entry=1, numOutputs=numOutputs@entry=0, outputs=0x0) at
 4554     rrcrtc.c:763
 4555     4  0x000055e1500fba9e in ProcRRSetCrtcConfig (client=0x55e152bfae50) at
 4556     rrcrtc.c:1390
 4557     5  0x000055e150044008 in Dispatch () at dispatch.c:478
 4558     6  0x000055e150047ff8 in dix_main (argc=13, argv=0x7ffc68561038,
 4559     envp=<optimized out>) at main.c:276
 4560     7  0x00007fdc1a0c6a87 in __libc_start_main () at /lib64/libc.so.6
 4561     8  0x000055e150031d0a in _start () at ../sysdeps/x86_64/start.S:120
 4562     
 4563     Fixes: ba0c75177 ("modesetting: Fix up some XXX from removing GLAMOR_HAS_DRM_*")
 4564     Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
 4565     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4566 
 4567 commit 258081759fa70202a2e6134eeee4fe25ca54bedb
 4568 Author: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
 4569 Date:   Fri Mar 30 22:31:46 2018 +0200
 4570 
 4571     glamor: sanitze handling of "Debug" Option for "dmabuf_capable"
 4572     
 4573     With the appearance of the this new Option the X Server would crash if the
 4574     option is not set.
 4575     
 4576     Default dmabuf_capable to off/FALSE for now - a user without knowledge about
 4577     this option does not want to enable it until its save.
 4578     
 4579     Fixes: d11d5bb80 ("glamor: Hide new DRI behind Option "Debug" "dmabuf_capable")
 4580     Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
 4581     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4582 
 4583 commit debf75bd0b0ddfec82dad9580efa7d19479b55df
 4584 Author: Adam Jackson <ajax@redhat.com>
 4585 Date:   Wed Mar 28 15:47:33 2018 -0400
 4586 
 4587     xserver 1.20 RC2
 4588     
 4589     Signed-off-by: Adam Jackson <ajax@redhat.com>
 4590 
 4591 commit 726839459cb887a60361cb4779f9871c03f372b1
 4592 Author: Adam Jackson <ajax@redhat.com>
 4593 Date:   Wed Mar 28 16:11:18 2018 -0400
 4594 
 4595     autotools: Derive xkb configuration from xkbcomp.pc
 4596     
 4597     ... if available, falling back to the current heuristics otherwise. This
 4598     _finally_ gets me to being able to run util/modular/release.sh without
 4599     overriding $prefix.
 4600     
 4601     Signed-off-by: Adam Jackson <ajax@redhat.com>
 4602 
 4603 commit d11d5bb80d21f2aaa54ddf2f26a50aa6ef31d2fa
 4604 Author: Adam Jackson <ajax@redhat.com>
 4605 Date:   Wed Mar 28 12:46:01 2018 -0400
 4606 
 4607     glamor: Hide new DRI behind Option "Debug" "dmabuf_capable"
 4608     
 4609     ... for xfree86, at least for now. Things appear to work for Xwayland
 4610     but not yet for modesetting. Hopefully we can fix that before 1.20 but
 4611     in the meantime this makes testing both paths easier than a rebuild.
 4612     
 4613     Signed-off-by: Adam Jackson <ajax@redhat.com>
 4614 
 4615 commit df13ea7da9174d2e1c732985d9b7a9a35a6916bc
 4616 Author: Adam Jackson <ajax@redhat.com>
 4617 Date:   Wed Mar 28 12:46:00 2018 -0400
 4618 
 4619     xfree86: Add Option "Debug" to ServerFlags
 4620     
 4621     This provides a generic way to control obscure runtime behavior knobs
 4622     without making interface promises.
 4623     
 4624     Signed-off-by: Adam Jackson <ajax@redhat.com>
 4625 
 4626 commit c95361465ee98dd97a99778d8a31be88fe9e4c4f
 4627 Author: Antoine Martin <antoine@nagafix.co.uk>
 4628 Date:   Wed Mar 28 15:16:02 2018 -0400
 4629 
 4630     os: Fix -logfile when used with -displayfd
 4631     
 4632     Trivial way to reproduce the bug:
 4633     
 4634     $ Xorg -logfile /tmp/mylog -config /etc/xpra/xorg.conf -displayfd 2
 4635     
 4636     The server then moans:
 4637     
 4638     Failed to rename log file "/tmp/mylog" to "/tmp/mylog": No such file or directory
 4639     
 4640     And the log file is created but immediately renamed to "/tmp/mylog.old".
 4641     This is caused by the changes to the log file handling introduced by
 4642     this commit:
 4643     
 4644     https://cgit.freedesktop.org/xorg/xserver/commit/?id=edcb6426f20c3be5dd5f50b76a686754aef2f64e
 4645     
 4646     To fix this, only rename the logfile if the log filename contains the
 4647     magic substitution string "%s".
 4648     
 4649     Signed-off-by: Antoine Martin <antoine@nagafix.co.uk>
 4650     Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 4651 
 4652 commit b355e55f500c18d55d0ac241e5f7e826ed62f555
 4653 Author: Olivier Fourdan <ofourdan@redhat.com>
 4654 Date:   Wed Mar 28 12:17:48 2018 +0200
 4655 
 4656     automake: Fix 'make dist'
 4657     
 4658     Automake would skip a few meson files that would prevent to build with
 4659     meson a dist file previously generated by automake.
 4660     
 4661     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 4662     Reviewed-by: Thierry Reding <treding@nvidia.com>
 4663 
 4664 commit 16639ab77d14cecb7d03fd2d5c796c2fb1714c18
 4665 Author: Kyle Brenneman <kbrenneman@nvidia.com>
 4666 Date:   Fri Mar 2 17:58:07 2018 -0700
 4667 
 4668     Don't delete GLX's extensionInitCallback list during a reset.
 4669     
 4670     When a callback list is initialized using CreateCallbackList via AddCallback,
 4671     the list gets added to the listsToCleanup array, and as a result the list gets
 4672     deleted at the end of the server generation.
 4673     
 4674     But, vendor libraries add themselves to that callback list only once, not once
 4675     per generation, so if you delete the list, then no vendor will register itself
 4676     on the next generation, and GLX breaks.
 4677     
 4678     Instead, use a static CallbackListRec for the extensionInitCallback list. That
 4679     way, it doesn't get added to listsToCleanup, and doesn't get deleted during a
 4680     reset.
 4681     
 4682     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4683 
 4684 commit 7004a7c3c983b4453756b92341bf22790b1eb98d
 4685 Author: Daniel Stone <daniels@collabora.com>
 4686 Date:   Fri Mar 23 13:50:23 2018 +0000
 4687 
 4688     modesetting/drmmode: Remove unused flink call
 4689     
 4690     We don't use flink in the GetFB import path anymore, as we do an
 4691     FD-based import instead.
 4692     
 4693     Signed-off-by: Daniel Stone <daniels@collabora.com>
 4694     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 4695 
 4696 commit be087778a0eae3093ffdbba3ff7c9f3863d8e1d4
 4697 Author: Roman Gilg <subdiff@gmail.com>
 4698 Date:   Tue Mar 13 16:00:57 2018 +0100
 4699 
 4700     xwayland: Activate Present flips in rootless mode with Glamor
 4701     
 4702     Link the newly introduced support for Present flips. For now flips can only
 4703     be used in rootless mode together with Glamor.
 4704     
 4705     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 4706     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4707 
 4708 commit 07750ff3c084c6549a5612d1f935a9a3ab3df67c
 4709 Author: Roman Gilg <subdiff@gmail.com>
 4710 Date:   Tue Mar 13 16:00:55 2018 +0100
 4711 
 4712     xwayland: Implement queuing present vblanks
 4713     
 4714     Queue present events to msc values. Fake msc events with a refresh rate of
 4715     about 60fps when flips are not possible. When flips are executed rely on
 4716     frame callbacks with a slow updating timer as fallback.
 4717     
 4718     This is important for applications, that want to limit their framerate.
 4719     
 4720     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 4721     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4722 
 4723 commit 86df366973de1c10da5fbdc57d1ff12b681c321f
 4724 Author: Roman Gilg <subdiff@gmail.com>
 4725 Date:   Tue Mar 13 16:00:54 2018 +0100
 4726 
 4727     xwayland: Add fallback timer for msc counting
 4728     
 4729     When the compositor is not sending frame callbacks while we still wait
 4730     on buffer release events fake a continuous msc counter with a timer.
 4731     
 4732     Having this timer is a prerequisite for queuing events.
 4733     
 4734     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 4735     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4736 
 4737 commit 0fb2cca193e60b731c8e75a2a7e795477fb5fd8f
 4738 Author: Roman Gilg <subdiff@gmail.com>
 4739 Date:   Tue Mar 13 16:00:53 2018 +0100
 4740 
 4741     xwayland: Preliminary support for Present's new window flip mode
 4742     
 4743     Introduce support for Present's window flip mode. The support is not yet
 4744     complete, but works reasonable well for the most important use case, that
 4745     is fullscreen applications.
 4746     
 4747     We take a Present flip and if the xwl_window->window has the same dimensions
 4748     as the presenting window, the flip is represented by a wl_buffer and attached
 4749     to the main wl_surface of the xwl_window.
 4750     
 4751     After commit we are listening for the sync callback in order to tell Present,
 4752     that the pixmap flip is not longer pending, for the frame callback in order
 4753     to update the msc counter and for the buffer release callback in order to tell
 4754     Present that the pixmap is idle again.
 4755     
 4756     The following functionality is missing from this patch:
 4757     * (slowed down) flips in case the compositor is not sending frame callbacks,
 4758     * queuing events to MSC times,
 4759     * per window flips for child windows with smaller size than the xwl_window.
 4760     
 4761     To make use of this functionality Xwayland must run rootless and with
 4762     Glamor/GBM.
 4763     
 4764     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 4765     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4766 
 4767 commit 8fba2a03f1410f3bc7504e218ac1e5c964279ea2
 4768 Author: Roman Gilg <subdiff@gmail.com>
 4769 Date:   Tue Mar 13 16:00:52 2018 +0100
 4770 
 4771     xwayland: Add arguments to glamor_pixmap_get_wl_buffer
 4772     
 4773     Add arguments to give the caller more information and control
 4774     over the creation of a wl_buffer with GBM, in particular let
 4775     the caller determine the size of the buffer.
 4776     
 4777     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 4778     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4779 
 4780 commit 902429f077325b98e30ede2710bd7a88440d2937
 4781 Author: Roman Gilg <subdiff@gmail.com>
 4782 Date:   Tue Mar 13 16:00:51 2018 +0100
 4783 
 4784     present: Add exported init function of window flip mode
 4785     
 4786     Allow drivers now to initialize window flip mode.
 4787     
 4788     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 4789     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4790 
 4791 commit a337949f99bc473ea0ae0af64736eae3d5b39399
 4792 Author: Roman Gilg <subdiff@gmail.com>
 4793 Date:   Tue Mar 13 16:00:50 2018 +0100
 4794 
 4795     present: Add cleanups for window flip mode
 4796     
 4797     Make sure that vblanks and windows get cleaned up correctly
 4798     in window flip mode.
 4799     
 4800     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 4801     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4802 
 4803 commit 66a5c0bccb222ad8b9b57b10490c3041e1b3f05e
 4804 Author: Roman Gilg <subdiff@gmail.com>
 4805 Date:   Tue Mar 13 16:00:49 2018 +0100
 4806 
 4807     present: In window flip mode report damage on flip to driver
 4808     
 4809     Calculate damage before trying to flip and report it to the driver.
 4810     This allows drivers to optimize their rendering.
 4811     
 4812     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 4813     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4814 
 4815 commit 029608dd80204ac96423ef79ec46c1a18bbdd5ff
 4816 Author: Roman Gilg <subdiff@gmail.com>
 4817 Date:   Tue Mar 13 16:00:48 2018 +0100
 4818 
 4819     present: Add window flip mode
 4820     
 4821     In contrast to screen flip mode this mode:
 4822     * supports flips per windows (these windows currently need to have the same
 4823       size as their parent windows with the same pixmap),
 4824     * sends pixmap idle signals to the client only after the driver has given
 4825       an additional event notify.
 4826     
 4827     This patch only introduces the new mode as a stub. It additionally needs a
 4828     driver hook, such that it can get initialized and appropriate cleanup
 4829     functions.
 4830     
 4831     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 4832     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4833 
 4834 commit 8d370fcdcaed210d9f4afc1650aa8b161c7fbb44
 4835 Author: Roman Gilg <subdiff@gmail.com>
 4836 Date:   Tue Mar 13 16:00:47 2018 +0100
 4837 
 4838     present: Add driver facing window flip mode hooks
 4839     
 4840     To enable special functionality of window flips introduce for window flips
 4841     a separate set of driver facing function hooks.
 4842     
 4843     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 4844     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4845 
 4846 commit 7b071b4e440313254398f06eb59b1596a6d3e8fe
 4847 Author: Roman Gilg <subdiff@gmail.com>
 4848 Date:   Tue Mar 13 16:00:46 2018 +0100
 4849 
 4850     present: Adapt flip mode API hooks for window flip mode
 4851     
 4852     Flipping pixmaps per window needs additional arguments in the
 4853     flip mode API. Add these as preperation for window flip mode.
 4854     
 4855     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 4856     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4857 
 4858 commit 92b91b8cf34a38de39281044d8441b6cabe87a85
 4859 Author: Roman Gilg <subdiff@gmail.com>
 4860 Date:   Tue Mar 13 16:00:45 2018 +0100
 4861 
 4862     present: Add flip_idler vblank property
 4863     
 4864     Introduce vblank property for flip modes, that demand explicite
 4865     allowance by the driver for vblanks to become idle.
 4866     
 4867     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 4868     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4869 
 4870 commit 84e47f3fe68f05f7b0b762e96acd4c95fa8000ca
 4871 Author: Roman Gilg <subdiff@gmail.com>
 4872 Date:   Tue Mar 13 16:00:44 2018 +0100
 4873 
 4874     present: Add present_window_priv properties for window flip mode
 4875     
 4876     For window flip mode data about flips needs to be stored per window.
 4877     Add properties to 'present_window_priv' and initialize them on creation.
 4878     
 4879     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 4880     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4881 
 4882 commit 3aaaac0be573fb09a206966075d81ebe0510ca23
 4883 Author: Roman Gilg <subdiff@gmail.com>
 4884 Date:   Tue Mar 13 16:00:43 2018 +0100
 4885 
 4886     present: Refactor present_screen_init
 4887     
 4888     To initialize easily different flip modes, refactor
 4889     'present_screen_init'.
 4890     
 4891     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 4892     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4893 
 4894 commit 6d813bbd5ea0fc38a8114c08368a7954eeb2ef37
 4895 Author: Roman Gilg <subdiff@gmail.com>
 4896 Date:   Tue Mar 13 16:00:42 2018 +0100
 4897 
 4898     present: Add more hooks to internal flip mode API
 4899     
 4900     Add hooks to query caps, get crtcs, abort vblanks and destroy
 4901     a flip.
 4902     
 4903     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 4904     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4905 
 4906 commit 6a338b5959ca5a9e5260d71b6a739a5c672d77e7
 4907 Author: Roman Gilg <subdiff@gmail.com>
 4908 Date:   Tue Mar 13 16:00:41 2018 +0100
 4909 
 4910     present: Move timings adjustment in common part of flip mode API
 4911     
 4912     To reduce future code duplication refactor timings adjustment out
 4913     as a separate function.
 4914     
 4915     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 4916     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4917 
 4918 commit 84112a1d0b221c00d7d3c23fd5b97687e6e3749a
 4919 Author: Roman Gilg <subdiff@gmail.com>
 4920 Date:   Tue Mar 13 16:00:40 2018 +0100
 4921 
 4922     present: Add flip mode API hook for present_can_window_flip
 4923     
 4924     Flip modes can now have different implementations of
 4925     present_can_window_flip.
 4926     
 4927     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 4928     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4929 
 4930 commit 1db7cf0429eabf33f8e2b55a15db4d1f87e1fb95
 4931 Author: Roman Gilg <subdiff@gmail.com>
 4932 Date:   Tue Mar 13 16:00:39 2018 +0100
 4933 
 4934     present: Add flip mode API hook for present_pixmap
 4935     
 4936     Make present_pixmap a common function callable by any
 4937     flip mode.
 4938     
 4939     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 4940     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4941 
 4942 commit 679ffbf5f39822ea508e50f1b7c92a2a9e79f7bb
 4943 Author: Roman Gilg <subdiff@gmail.com>
 4944 Date:   Tue Mar 13 16:00:38 2018 +0100
 4945 
 4946     present: Refactor execute in separate file
 4947     
 4948     To be shared by multiple flip modes, refactor execute functionality,
 4949     such that logical chunks can go in new separate file.
 4950     
 4951     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 4952     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4953 
 4954 commit 1e7d8902bfe7cfb79c41b14fc6b50bcbe4f7c800
 4955 Author: Roman Gilg <subdiff@gmail.com>
 4956 Date:   Tue Mar 13 16:00:37 2018 +0100
 4957 
 4958     present: Add flip mode API hooks for several functions
 4959     
 4960     Add 'queue_vblank', 'flush' and 're_execute' hooks, that
 4961     are supposed to be shared with other flip modes.
 4962     
 4963     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 4964     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4965 
 4966 commit 5365ece70a75a05df3d6351767d19c3edcf0305d
 4967 Author: Roman Gilg <subdiff@gmail.com>
 4968 Date:   Tue Mar 13 16:00:36 2018 +0100
 4969 
 4970     present: Move vblank functionality in seperate file
 4971     
 4972     With the new internal flip mode API move vblank creation
 4973     and so on into a seperate file, such that it can be shared
 4974     between flip modes.
 4975     
 4976     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 4977     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4978 
 4979 commit c5c50c6db1e71e976596750277b1a618704c04aa
 4980 Author: Roman Gilg <subdiff@gmail.com>
 4981 Date:   Tue Mar 13 16:00:35 2018 +0100
 4982 
 4983     present: Preliminary internal flip mode API
 4984     
 4985     Add some basic function hooks to our future present-internal flip mode API,
 4986     that will allow us to share functionality in between modes and move more code
 4987     in separate files.
 4988     
 4989     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 4990     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4991 
 4992 commit dda7efec36b495e100e670e057d7ef5022ef3976
 4993 Author: Roman Gilg <subdiff@gmail.com>
 4994 Date:   Tue Mar 13 16:00:34 2018 +0100
 4995 
 4996     present: Move screen flip functionality in separate file
 4997     
 4998     As a preperation for future flip mode alternatives move most of the
 4999     functionality from 'present.c' into a separate file.
 5000     
 5001     Leave some functions needed by future other flip modes in 'present.c'.
 5002     
 5003     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 5004     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5005 
 5006 commit 4303deae78c4e2a60856be87bf87cd1643c268f5
 5007 Author: Thierry Reding <treding@nvidia.com>
 5008 Date:   Wed Mar 28 14:04:38 2018 +0200
 5009 
 5010     meson: Properly extract ABI versions for xorg-server.pc
 5011     
 5012     The newline in the middle of the awk expression confuses Meson and
 5013     causes it to pass only the string before the newline to awk, which will
 5014     subsequently fail because it encounters an unterminated string.
 5015     
 5016     One fix would be to escape the newlines ('\\n'), but that causes the
 5017     newline to end up in the pkg-config file and separate the ABI version
 5018     lines by blank lines.
 5019     
 5020     Instead, simply drop the newlines to make the generated pkg-config file
 5021     look more like the one generated as part of the autotools-based build.
 5022     
 5023     Signed-off-by: Thierry Reding <treding@nvidia.com>
 5024     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5025 
 5026 commit 465b38cadd573ce50eca959f4b56bf4a6a638d91
 5027 Author: Thierry Reding <treding@nvidia.com>
 5028 Date:   Wed Mar 28 14:04:37 2018 +0200
 5029 
 5030     meson: Fix generation of xorg-server.pc
 5031     
 5032     Meson stores relative paths for includedir, libdir and friends. These
 5033     have to be concatenated with the ${prefix} or ${exec_prefix} variables
 5034     to create a working pkg-config file.
 5035     
 5036     While at it, set a default value for the module_dir option so that it
 5037     points to the same location as used in the autotools-based build.
 5038     
 5039     Signed-off-by: Thierry Reding <treding@nvidia.com>
 5040     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5041 
 5042 commit d905e3330fd4f9b15a0277b22d608705787cb8bc
 5043 Author: Thierry Reding <treding@nvidia.com>
 5044 Date:   Wed Mar 28 14:04:36 2018 +0200
 5045 
 5046     meson: Fill in missing data for xorg-server.h
 5047     
 5048     Provide more values for the definitions in xorg-server.h for Meson
 5049     builds. The only missing defines left after this are _BSD_SOURCE,
 5050     _POSIX_SOURCE and _XOPEN_SOURCE, but Meson seems to already define
 5051     these via the command-line if necessary.
 5052     
 5053     Signed-off-by: Thierry Reding <treding@nvidia.com>
 5054     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5055 
 5056 commit 0babe78ed5afec8a06a517346f39b5ebd003773c
 5057 Author: Thierry Reding <treding@nvidia.com>
 5058 Date:   Wed Mar 28 14:04:35 2018 +0200
 5059 
 5060     meson: Generate xorg-server.h
 5061     
 5062     Some drivers (such as xf86-input-libinput) require the xorg-server.h to
 5063     build. Generate it and install it so that it can be used by users.
 5064     
 5065     Signed-off-by: Thierry Reding <treding@nvidia.com>
 5066     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5067 
 5068 commit b04ff31b9d471822fe96ed63eda93fc4cd8c22d0
 5069 Author: Thierry Reding <treding@nvidia.com>
 5070 Date:   Wed Mar 28 14:04:34 2018 +0200
 5071 
 5072     dix: Remove unused definitions from dix-config.h.in
 5073     
 5074     There is no code around that will ever define values for the
 5075     WORKING_UNALIGNED_INT or XORG_RELEASE symbols, so they will always end
 5076     up commented out and are therefore completely useless.
 5077     
 5078     Signed-off-by: Thierry Reding <treding@nvidia.com>
 5079     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5080 
 5081 commit c62a8b60b9a07092ebebf9aeb67a0c39c583aabe
 5082 Author: Thierry Reding <treding@nvidia.com>
 5083 Date:   Wed Mar 28 14:04:33 2018 +0200
 5084 
 5085     xorg: Remove unused definitions from xorg-server.h.in
 5086     
 5087     There is no code around that will ever define values for the XLOADABLE,
 5088     WORKING_UNALIGNED_INT or XORG_RELEASE symbols, so they will always end
 5089     up commented out and are therefore completely useless.
 5090     
 5091     Signed-off-by: Thierry Reding <treding@nvidia.com>
 5092     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5093 
 5094 commit 66402fcd8280b393d3992121c0bcff9c646c97ed
 5095 Author: Thierry Reding <treding@nvidia.com>
 5096 Date:   Wed Mar 28 14:04:32 2018 +0200
 5097 
 5098     meson: Fix build if Xdmcp is missing
 5099     
 5100     Xdmcp is an optional dependency, so make sure the build succeeds if it
 5101     is missing.
 5102     
 5103     Signed-off-by: Thierry Reding <treding@nvidia.com>
 5104     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5105 
 5106 commit 0a7dabc86c1a7b8d91a5d22ad12fbf03d859f43e
 5107 Author: Adam Jackson <ajax@redhat.com>
 5108 Date:   Mon Mar 26 14:57:07 2018 -0400
 5109 
 5110     meson: Add option to set default font path (v2)
 5111     
 5112     The autotools build gets this from some macros in fontutil, but they're
 5113     just wrappers around pkgconfig.
 5114     
 5115     v2: Use same default as autotools (Keith Packard)
 5116     
 5117     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5118     Reviewed-by: Keith Packard <keithp@keithp.com>
 5119 
 5120 commit a26195d5c1eba86ada8f43e775c4190683e0f874
 5121 Author: Adam Jackson <ajax@redhat.com>
 5122 Date:   Tue Mar 27 12:58:15 2018 -0400
 5123 
 5124     Revert "suid touchup"
 5125     
 5126     Pushed the wrong thing, sigh.
 5127     
 5128     This reverts commit 73a0562615aa1adfb934b953e23b1e69b126db4f.
 5129 
 5130 commit 73a0562615aa1adfb934b953e23b1e69b126db4f
 5131 Author: Adam Jackson <ajax@redhat.com>
 5132 Date:   Tue Mar 27 12:06:38 2018 -0400
 5133 
 5134     suid touchup
 5135 
 5136 commit 64b3227374f7f161e610df735f376fcc5bb0fd58
 5137 Author: Adam Jackson <ajax@redhat.com>
 5138 Date:   Tue Mar 27 10:47:05 2018 -0400
 5139 
 5140     autotools: Fix excessive \-escaping that broke the build
 5141     
 5142     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5143 
 5144 commit d3e8af99dc1139fac3307bbcb0046500b3feff11
 5145 Author: Adam Jackson <ajax@redhat.com>
 5146 Date:   Mon Mar 26 18:43:02 2018 -0400
 5147 
 5148     meson: Fix install path for 10-quirks.conf
 5149     
 5150     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5151     Reviewed-by: Keith Packard <keithp@keithp.com>
 5152 
 5153 commit 84507507ea03db2f6197b94c160bbee9768c4baa
 5154 Author: Adam Jackson <ajax@redhat.com>
 5155 Date:   Mon Mar 26 18:43:01 2018 -0400
 5156 
 5157     meson: Install xorg-server.m4
 5158     
 5159     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5160     Reviewed-by: Keith Packard <keithp@keithp.com>
 5161 
 5162 commit 8c684f59d517db0812fbad5fc6bcd90c7c810493
 5163 Author: Adam Jackson <ajax@redhat.com>
 5164 Date:   Mon Mar 26 18:43:00 2018 -0400
 5165 
 5166     meson: Generate xorg-server.pc
 5167     
 5168     Otherwise external drivers can't build against us.
 5169     
 5170     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5171     Acked-by: Keith Packard <keithp@keithp.com>
 5172 
 5173 commit 9b67303a52f5380bc96862624778b101f6379527
 5174 Author: Adam Jackson <ajax@redhat.com>
 5175 Date:   Mon Mar 26 18:42:59 2018 -0400
 5176 
 5177     meson: Install the dmx utilities
 5178     
 5179     And add the forgotten dmxrminput to the list.
 5180     
 5181     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5182     Reviewed-by: Keith Packard <keithp@keithp.com>
 5183 
 5184 commit f9ef293cf612e50830ff316d67066ea544905dc9
 5185 Author: Adam Jackson <ajax@redhat.com>
 5186 Date:   Mon Mar 26 18:42:58 2018 -0400
 5187 
 5188     meson: Build cvt and gtf
 5189     
 5190     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5191     Reviewed-by: Keith Packard <keithp@keithp.com>
 5192 
 5193 commit a1e8dc05163956de9ab73e567f86b91cb8790c0f
 5194 Author: Adam Jackson <ajax@redhat.com>
 5195 Date:   Mon Mar 26 18:42:57 2018 -0400
 5196 
 5197     meson: Install man pages
 5198     
 5199     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5200     Acked-by: Keith Packard <keithp@keithp.com>
 5201 
 5202 commit 1e0df64738d6924151adbbd4b040df80178cfa6b
 5203 Author: Adam Jackson <ajax@redhat.com>
 5204 Date:   Mon Mar 26 18:42:55 2018 -0400
 5205 
 5206     meson: Build Xorg suid wrapper
 5207     
 5208     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5209     Reviewed-by: Keith Packard <keithp@keithp.com>
 5210 
 5211 commit ab063cf96779c521618c022d4f669f69e3d9cc8f
 5212 Author: Adam Jackson <ajax@redhat.com>
 5213 Date:   Mon Mar 26 18:42:54 2018 -0400
 5214 
 5215     meson: Fix installing protocol.txt
 5216     
 5217     One fix the constructed path, two actually install it.
 5218     
 5219     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5220     Reviewed-by: Keith Packard <keithp@keithp.com>
 5221 
 5222 commit e3baacacda29afe524b3e4cab78ca057241c0551
 5223 Author: Adam Jackson <ajax@redhat.com>
 5224 Date:   Mon Mar 26 18:42:53 2018 -0400
 5225 
 5226     meson: Add libdrm to hw/xfree86/common's dependencies
 5227     
 5228     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5229     Acked-by: Keith Packard <keithp@keithp.com>
 5230 
 5231 commit 2e497bf887aca832dc0dd30d071c5288ab5c1e15
 5232 Author: Adam Jackson <ajax@redhat.com>
 5233 Date:   Mon Mar 26 18:42:52 2018 -0400
 5234 
 5235     man: s/__/@/g
 5236     
 5237     A cosmetic change for automake (though we have to replicate some of
 5238     xorg-macros.m4 in manpages.am now), but meson's configure_file() wants
 5239     @-delimited strings.
 5240     
 5241     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5242     Reviewed-by: Keith Packard <keithp@keithp.com>
 5243 
 5244 commit 6cbefc3e0a33b380c147c533914437c7798d9b93
 5245 Author: Adam Jackson <ajax@redhat.com>
 5246 Date:   Mon Mar 26 18:42:51 2018 -0400
 5247 
 5248     autotools: Stop caring about XORG_DATE
 5249     
 5250     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5251     Acked-by: Keith Packard <keithp@keithp.com>
 5252 
 5253 commit ba0c75177239ced7037d74cf61590377f6d075bb
 5254 Author: Adam Jackson <ajax@redhat.com>
 5255 Date:   Thu Mar 22 14:47:21 2018 -0400
 5256 
 5257     modesetting: Fix up some XXX from removing GLAMOR_HAS_DRM_*
 5258     
 5259     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5260     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 5261 
 5262 commit 757e0ee1884f2a34a287d632462e3bc689eccb3d
 5263 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 5264 Date:   Mon Mar 12 17:57:50 2018 +0100
 5265 
 5266     modesetting: Fix page flipping under DRI 3.2.
 5267     
 5268     The check for "no modifier specified" in drmmode_is_format_supported()
 5269     should check for DRM_FORMAT_MOD_INVALID, not for zero, as zero actually
 5270     means DRM_FORMAT_MOD_LINEAR.
 5271     
 5272     This allows page-flipping again when appropriate, as
 5273     tested under nouveau and ati drivers.
 5274     
 5275     Fixes: 9d147305b404 ("modesetting: Check if buffer format is supported when flipping")
 5276     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 5277     Reviewed-by: Daniel Stone <daniels@collabora.com>
 5278 
 5279 commit 136b45e0c0f5b96b5ce014681d77756dc47f0768
 5280 Author: Adam Jackson <ajax@redhat.com>
 5281 Date:   Fri Mar 16 18:03:18 2018 -0400
 5282 
 5283     travis: Drop Xcode 8.2
 5284     
 5285     Travis has only so many OSX builders, presumably due to the EULA
 5286     requiring that it be run on Apple-branded hardware. They're also really
 5287     slow to provision, presumably because they're virtual machines and not
 5288     containers. In any case it's not something I'm willing to be punished
 5289     for.
 5290     
 5291     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5292 
 5293 commit 243a34e170c4a7cc5d38b78f7409704adf703e9b
 5294 Author: Adam Jackson <ajax@redhat.com>
 5295 Date:   Fri Mar 16 18:28:19 2018 -0400
 5296 
 5297     travis: Bump rawhide image
 5298     
 5299     The image now has enough mojo to run xts, hooray!
 5300     
 5301     Note there's a couple of ugly bits in here. The piglit config fragment
 5302     and stock tetexec.cfg reflect missing features from the test suites
 5303     (using an installed copy of xts, figuring out the xserver test matrix at
 5304     runtime, etc.), I'll be happy to remove them once the tests are fixed.
 5305     
 5306     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5307 
 5308 commit 610055809f4030bd0e7312c6b0c561fdfe6e0183
 5309 Author: Eric Engestrom <eric.engestrom@imgtec.com>
 5310 Date:   Tue Mar 13 10:55:22 2018 +0000
 5311 
 5312     exa: promise not to touch the data when swapping pointers
 5313     
 5314     exa/exa.c:525:10: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 5315          swap(pExaGC, pGC, funcs);
 5316               ^
 5317     
 5318     Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
 5319     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 5320 
 5321 commit d36128a72acac4d54813c52c93efefad2dc9af41
 5322 Author: Alexander Volkov <a.volkov@rusbitech.ru>
 5323 Date:   Mon Mar 12 15:12:10 2018 +0300
 5324 
 5325     Xext/shm: Downgrade from error to debug log output about success
 5326     
 5327     Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru>
 5328     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5329 
 5330 commit 319af6f471912160ab3eb6395ef50f9950063d43
 5331 Author: Nicolai Hähnle <nicolai.haehnle@amd.com>
 5332 Date:   Tue Mar 13 17:46:37 2018 -0400
 5333 
 5334     glx: honor LIBGL_DRIVERS_PATH when loading DRI drivers
 5335     
 5336     Allow switching to another driver build without a full installation.
 5337     
 5338     Glamor already takes LIBGL_DRIVERS_PATH into account, so this change
 5339     makes sure that the same driver is used in both parts of the server.
 5340     
 5341     Signed-off-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
 5342     Reviewed-by: Ben Crocker <bcrocker@redhat.com>
 5343     Reviewed-by: Antoine Martin <antoine@nagafix.co.uk>
 5344     Tested-by: Ben Crocker <bcrocker@redhat.com>
 5345 
 5346 commit 75a869a4e7c06072380931b714ac83b1037d3bbe
 5347 Author: Nicolai Hähnle <nicolai.haehnle@amd.com>
 5348 Date:   Tue Mar 13 17:46:36 2018 -0400
 5349 
 5350     xfree86: replace all uses of xf86PrivsElevated with PrivsElevated
 5351     
 5352     [... but leave it defined and exported, since we're ABI-frozen - ajax]
 5353     
 5354     Signed-off-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
 5355     Reviewed-by: Ben Crocker <bcrocker@redhat.com>
 5356     Reviewed-by: Antoine Martin <antoine@nagafix.co.uk>
 5357     Tested-by: Ben Crocker <bcrocker@redhat.com>
 5358     
 5359     restore abi
 5360 
 5361 commit 1b6910af12cfefcc293be2f4144986fe3b56a36b
 5362 Author: Nicolai Hähnle <nicolai.haehnle@amd.com>
 5363 Date:   Tue Mar 13 17:46:35 2018 -0400
 5364 
 5365     os: use PrivsElevated instead of a manual check
 5366     
 5367     Signed-off-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
 5368     Reviewed-by: Ben Crocker <bcrocker@redhat.com>
 5369     Reviewed-by: Antoine Martin <antoine@nagafix.co.uk>
 5370     Tested-by: Ben Crocker <bcrocker@redhat.com>
 5371 
 5372 commit 9ef602de46de2beae1d6231dc72a1a783a26122f
 5373 Author: Nicolai Hähnle <nicolai.haehnle@amd.com>
 5374 Date:   Tue Mar 13 17:46:34 2018 -0400
 5375 
 5376     os: move xf86PrivsElevated here
 5377     
 5378     Having different types of code all trying to check for elevated privileges
 5379     is a bad idea. This implementation is the most thorough one.
 5380     
 5381     Signed-off-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
 5382     Reviewed-by: Ben Crocker <bcrocker@redhat.com>
 5383     Reviewed-by: Antoine Martin <antoine@nagafix.co.uk>
 5384     Tested-by: Ben Crocker <bcrocker@redhat.com>
 5385     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 5386 
 5387 commit 1519475a4382066707276d7463c7c6e52c382caa
 5388 Author: Adam Jackson <ajax@redhat.com>
 5389 Date:   Wed Mar 14 15:29:15 2018 -0400
 5390 
 5391     appveyor: use meson
 5392     
 5393     i686 cygwin build time with autotools:  16:22
 5394     i686 cygwin build time with meson:       6:56
 5395     
 5396     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5397 
 5398 commit 2415ef5b228f5a235377decde95cb146c6642ea9
 5399 Author: Adam Jackson <ajax@redhat.com>
 5400 Date:   Tue Mar 20 14:00:33 2018 -0400
 5401 
 5402     meson: Add the x(org)proto headers to the include path
 5403     
 5404     Without this meson won't properly use headers installed into a
 5405     non-default location.
 5406     
 5407     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5408 
 5409 commit 21e8a4a1b993a9b1abd4a7510cd3d8a152be998b
 5410 Author: Emil Velikov <emil.velikov@collabora.com>
 5411 Date:   Wed Mar 7 18:45:33 2018 +0000
 5412 
 5413     modesetting: remove fallback DRM_CAP_* defines
 5414     
 5415     All the macros are available in the libdrm that we depend on.
 5416     
 5417     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 5418     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5419 
 5420 commit d2568c058745ea66353fefa8f7296a6f37795905
 5421 Author: Emil Velikov <emil.velikov@collabora.com>
 5422 Date:   Wed Mar 7 18:45:32 2018 +0000
 5423 
 5424     modesetting: remove always true DRM_IOCTL_CRTC_QUEUE_SEQUENCE guard
 5425     
 5426     We already require libdrm 2.4.89 which provides the definition plus
 5427     guarding kernel UABI like that is generally a bad idea.
 5428     
 5429     See previous commit for details why :-)
 5430     
 5431     Cc: Keith Packard <keithp@keithp.com>
 5432     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 5433     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5434 
 5435 commit f368428ab84c14f32f52e50b880d9353fbb87181
 5436 Author: Emil Velikov <emil.velikov@collabora.com>
 5437 Date:   Wed Mar 7 18:45:31 2018 +0000
 5438 
 5439     modesetting: remove always true defined(DRM_CAP_PRIME) guards
 5440     
 5441     The macro was available in libdrm for ages. Furthermore having a guard
 5442     like this is a very bad idea.
 5443     
 5444     Building on an old server will result in a missing run-time functionality.
 5445     Since it's UABI one can use a local fallback, old kernels will return
 5446     -EINVAL and the fallback path will kick in.
 5447     
 5448     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 5449     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5450 
 5451 commit 22b489d27365d2513bf1cab6da92254e3bdbcf41
 5452 Author: Emil Velikov <emil.velikov@collabora.com>
 5453 Date:   Wed Mar 7 18:45:30 2018 +0000
 5454 
 5455     Remove always true GLAMOR_HAS_DRM_* guards
 5456     
 5457     With earlier commit the required version was bumped to 2.4.89, thus the
 5458     guards always evaluate to true.
 5459     
 5460     Fixes: e4e3447603b ("Add RandR leases with modesetting driver support
 5461     [v6]")
 5462     Cc: Keith Packard <keithp@keithp.com>
 5463     Cc: Daniel Stone <daniels@collabora.com>
 5464     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5465     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 5466     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5467 
 5468 commit e0748b10a8621066b404d713a76826907da777b9
 5469 Author: Emil Velikov <emil.velikov@collabora.com>
 5470 Date:   Wed Mar 7 18:45:29 2018 +0000
 5471 
 5472     configure: remove libdrm version check
 5473     
 5474     We already require said version.
 5475     
 5476     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 5477     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5478 
 5479 commit 8718d46157b9317554aba3e01b9919a1c0c28026
 5480 Author: Adam Jackson <ajax@redhat.com>
 5481 Date:   Wed Mar 14 16:43:09 2018 -0400
 5482 
 5483     ci: Ignore builds for branches aimed at other CI services
 5484     
 5485     Make appveyor ignore builds for /travis.*/ and vice versa. If you're
 5486     only testing a Windows change, building for OSX and Linux too is a bit
 5487     rude.
 5488     
 5489     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5490 
 5491 commit ae5c0dd199a5fbfbdf7a2d6b8c1b28c410289106
 5492 Author: Emil Velikov <emil.velikov@collabora.com>
 5493 Date:   Tue Mar 13 18:38:49 2018 +0000
 5494 
 5495     dri3: cap the version returned to the client
 5496     
 5497     As per the protocol, the server should not return version greater than
 5498     the one supported by the client.
 5499     
 5500     Add a spec quote and tweak the numbers accordingly.
 5501     
 5502     Fixes: 563138298868 ("dri3: Add DRI3 extension")
 5503     Cc: Daniel Stone <daniels@collabora.com>
 5504     Cc: Keith Packard <keithp@keithp.com>
 5505     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 5506     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5507 
 5508 commit 6a5d51e0823b43280e3646b7a0c919a3b76146ea
 5509 Author: Emil Velikov <emil.velikov@collabora.com>
 5510 Date:   Mon Mar 19 16:04:43 2018 +0000
 5511 
 5512     present: cap the version returned to the client
 5513     
 5514     As per the protocol, the server should not return version greater than
 5515     the one supported by the client.
 5516     
 5517     Add a spec quote and tweak the numbers accordingly.
 5518     
 5519     Fixes: 5c5c1b77982 ("present: Add Present extension")
 5520     Cc: Thierry Reding <treding@nvidia.com>
 5521     Cc: Daniel Stone <daniels@collabora.com>
 5522     Cc: Keith Packard <keithp@keithp.com>
 5523     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5524     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 5525 
 5526 commit abb9b58d1af9a0286162e52ef9db390d0c950fc1
 5527 Author: Thierry Reding <treding@nvidia.com>
 5528 Date:   Fri Mar 16 14:24:21 2018 +0100
 5529 
 5530     present: Advertise protocol version 1.2
 5531     
 5532     Everything is implemented to support protocol version 1.2. Make it
 5533     official.
 5534     
 5535     Reviewed-by: Daniel Stone <daniels@collabora.com>
 5536     Signed-off-by: Thierry Reding <treding@nvidia.com>
 5537     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 5538 
 5539 commit 7fc89251ef5e7363dfbf6d831ed448bbcd8519b8
 5540 Author: Alan Coopersmith <alan.coopersmith@oracle.com>
 5541 Date:   Sun Mar 4 13:00:05 2018 -0800
 5542 
 5543     Revert "modesetting: Remove #ifdefs XF86_PDEV_SERVER_FD"
 5544     
 5545     This reverts commit 8c455db0ebb6e5313ca81428bb6dd75ef12aaa15.
 5546     
 5547     Since xf86platformBus.h is only included when XSERVER_PLATFORM_BUS is
 5548     defined, and configure.ac only defines that on systems with udev, this
 5549     commit breaks the build on non-udev systems like Solaris.
 5550     
 5551     Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 5552 
 5553 commit edf08bd654dcdf31da9a592513b218bbd9f64cc6
 5554 Author: Adam Jackson <ajax@redhat.com>
 5555 Date:   Wed Mar 14 12:10:27 2018 -0400
 5556 
 5557     appveyor: Switch to xorgproto
 5558     
 5559     Also build with -j2, the builder VM has two cores.
 5560     
 5561     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5562 
 5563 commit 8f628033bed408c4de215ca117fa2fa2d9f9d5cd
 5564 Author: Adam Jackson <ajax@redhat.com>
 5565 Date:   Wed Mar 14 12:54:16 2018 -0400
 5566 
 5567     travis: Update OSX build
 5568     
 5569     Install and use xorgproto, and build with optimization as clang has
 5570     warnings that only work above -O0. Also expand the build matrix for both
 5571     Xcode 8.3 and 9.2. Both images are OSX 10.12 at the moment so this is
 5572     really just a way to test with clang 8 vs 9.
 5573     
 5574     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5575 
 5576 commit 1ca092f990e67c7dccf5790a72c41e84711c28a8
 5577 Author: Adam Jackson <ajax@redhat.com>
 5578 Date:   Wed Mar 14 13:13:54 2018 -0400
 5579 
 5580     travis: Switch linux build from stretch to rawhide
 5581     
 5582     Stretch's Mesa is too far behind, and building Mesa to build xserver is
 5583     not the sort of problem we're trying to solve here. But our Travis
 5584     scripts run inside a docker image, and that image can be whatever, so
 5585     since I have to keep rawhide building anyway let's switch to that for
 5586     now. The dockerfile can be found at:
 5587     
 5588     https://github.com/nwnk/xserver-travis
 5589     
 5590     The $DISTRO part of the change is foreshadowing for the day we readd a
 5591     (probably sid-based) debian image; patches for other environments are
 5592     welcome.
 5593     
 5594     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5595 
 5596 commit 17d30369f4445e1693a1b75dc6620bbc21ec8e61
 5597 Author: Michel Dänzer <michel.daenzer@amd.com>
 5598 Date:   Wed Mar 14 16:48:23 2018 +0100
 5599 
 5600     randr: Initialize RROuptutRec::nonDesktop
 5601     
 5602     Flagged by valgrind:
 5603     
 5604     ==13695== Conditional jump or move depends on uninitialised value(s)
 5605     ==13695==    at 0x22461C: RRNoticePropertyChange (rrproperty.c:150)
 5606     ==13695==    by 0x22461C: RRChangeOutputProperty (rrproperty.c:263)
 5607     ==13695==    by 0x222FC4: RROutputSetNonDesktop (rroutput.c:333)
 5608     ==13695==    by 0x22319C: RROutputCreate (rroutput.c:122)
 5609     ==13695==    by 0x1E1CE9: xf86RandR12CreateObjects12 (xf86RandR12.c:1734)
 5610     ==13695==    by 0x1E1CE9: xf86RandR12Init12 (xf86RandR12.c:2375)
 5611     ==13695==    by 0x1E1CE9: xf86RandR12Init (xf86RandR12.c:895)
 5612     ==13695==    by 0x1D469B: xf86CrtcScreenInit (xf86Crtc.c:778)
 5613     ==13695==    by 0xC095A54: RADEONScreenInit_KMS (radeon_kms.c:2436)
 5614     ==13695==    by 0x161444: AddGPUScreen (dispatch.c:3966)
 5615     ==13695==    by 0x1A3E46: InitOutput (xf86Init.c:763)
 5616     ==13695==    by 0x1654A7: dix_main (main.c:193)
 5617     ==13695==    by 0x7041A86: (below main) (libc-start.c:310)
 5618     ==13695==  Uninitialised value was created by a heap allocation
 5619     ==13695==    at 0x4C2CB8F: malloc (vg_replace_malloc.c:299)
 5620     ==13695==    by 0x223083: RROutputCreate (rroutput.c:83)
 5621     ==13695==    by 0x1E1CE9: xf86RandR12CreateObjects12 (xf86RandR12.c:1734)
 5622     ==13695==    by 0x1E1CE9: xf86RandR12Init12 (xf86RandR12.c:2375)
 5623     ==13695==    by 0x1E1CE9: xf86RandR12Init (xf86RandR12.c:895)
 5624     ==13695==    by 0x1D469B: xf86CrtcScreenInit (xf86Crtc.c:778)
 5625     ==13695==    by 0xC095A54: RADEONScreenInit_KMS (radeon_kms.c:2436)
 5626     ==13695==    by 0x161444: AddGPUScreen (dispatch.c:3966)
 5627     ==13695==    by 0x1A3E46: InitOutput (xf86Init.c:763)
 5628     ==13695==    by 0x1654A7: dix_main (main.c:193)
 5629     ==13695==    by 0x7041A86: (below main) (libc-start.c:310)
 5630     
 5631     Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
 5632     Reviewed-by: Keith Packard <keithp@keithp.com>
 5633     Signed-off-by: Keith Packard <keithp@keithp.com>
 5634 
 5635 commit 52048ce29f872192478fece3887b7bc1c8aace7d
 5636 Author: Keith Packard <keithp@keithp.com>
 5637 Date:   Mon Mar 12 12:14:44 2018 -0700
 5638 
 5639     Xext/saver: Swap ScreenSaverSuspend 'suspend' field. Handle old XCB clients.
 5640     
 5641     This field was defined as a Bool in the protocol headers and BOOL in
 5642     xcb. Bool is not a valid type for protocol fields. It is defined as
 5643     'int' by Xdefs.h, which we expect to be 32-bits on all machines.
 5644     
 5645     The protocol headers and xcb have patches posted to switch to CARD32,
 5646     which is at least well defined.
 5647     
 5648     This change adds the necessary byte swapping to handle other-endian
 5649     clients with this 32-bit field, and then changes the request
 5650     processing to compare all 32-bits against zero so that it works with
 5651     both new and old clients.
 5652     
 5653     On MSB machines, Xlib will continue to work properly, but old XCB will
 5654     not interoperate with the X server (either before or after this patch).
 5655     
 5656     Signed-off-by: Keith Packard <keithp@keithp.com>
 5657     Reviewed-by: Mihai Moldovan <ionic@ionic.de>
 5658     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5659 
 5660 commit beda6afb3c33adbf77637141f05631081894e93a
 5661 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 5662 Date:   Fri Mar 9 04:58:20 2018 +0100
 5663 
 5664     glamor/xwayland: Add depth 30 format mapping for DRI 3.2 as well.
 5665     
 5666     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 5667     Reviewed-by: Daniel Stone <daniels@collabora.com>
 5668 
 5669 commit 07c369e05ac116901dacc20f4742622bdca2784f
 5670 Author: Jon Turney <jon.turney@dronecode.org.uk>
 5671 Date:   Thu Mar 8 12:34:26 2018 +0000
 5672 
 5673     meson: Require libdrm for dri1/2/3 when configured 'auto' as well as 'true'
 5674     
 5675     If dri1/2/3 are configured for auto-detection, libdrm is required, as well
 5676     as the corresponding proto.  (Practically we will always have the
 5677     corresponding protos now, as they are part of xorgproto).
 5678     
 5679     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 5680     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 5681 
 5682 commit f69cd2024ef25e7fd2bd2d7012e33ce16eeb79ff
 5683 Author: Adam Jackson <ajax@redhat.com>
 5684 Date:   Thu Mar 8 11:13:16 2018 -0500
 5685 
 5686     os: Define {ReadFdFrom,WriteFdTo}Client unconditionally
 5687     
 5688     Otherwise this is broken on cygwin:
 5689     
 5690         rrlease.c: In function ‘ProcRRCreateLease’:
 5691         rrlease.c:305:9: error: implicit declaration of function ‘WriteFdToClient’ [-Werror=implicit-function-declaration]
 5692              if (WriteFdToClient(client, fd, TRUE) < 0) {
 5693     
 5694     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5695 
 5696 commit 90e0cdd42dfda2accfadffa5c550712696902e14
 5697 Author: Rodrigo Vivi <rodrigo.vivi@intel.com>
 5698 Date:   Wed Mar 7 07:46:20 2018 -0800
 5699 
 5700     dri2: Sync i965_pci_ids.h from Mesa.
 5701     
 5702     Copied from Mesa with no modifications.
 5703     
 5704     Gives us Geminilake and Kaby Lake platform names updates and
 5705     sync on Coffee Lake PCI IDs.
 5706     
 5707     Cc: Timo Aaltonen <timo.aaltonen@canonical.com>
 5708     Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
 5709     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5710 
 5711 commit 43576b901151a1f32209f476249a4de6980b654f
 5712 Author: Michel Dänzer <michel.daenzer@amd.com>
 5713 Date:   Tue Mar 6 10:53:19 2018 +0100
 5714 
 5715     glamor: Restore glamor_fd_from_pixmap and glamor_pixmap_from_fd
 5716     
 5717     They're part of the 1.20 RC1 ABI, and actually used by external drivers.
 5718     Also, requiring drivers which don't support the new functionality in
 5719     DRI3 1.2 to switch to the new interfaces seems unreasonable.
 5720     
 5721     Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
 5722     Reviewed-by: Daniel Stone <daniels@collabora.com>
 5723 
 5724 commit 5d3fd3856b718cfbc87d17f1de698ced94923c78
 5725 Author: Samir Benmendil <me@rmz.io>
 5726 Date:   Sat Mar 3 01:41:12 2018 +0000
 5727 
 5728     xkb: XkbSetMap on the lastSlave needs to change the master
 5729     
 5730     The layout needs to be set on the master too if the layout is changed on
 5731     the device that was last used by the master.
 5732     
 5733     Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=85256
 5734     Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=91571
 5735     
 5736     Signed-off-by: Samir Benmendil <me@rmz.io>
 5737     Acked-by: Daniel Stone <daniels@collabora.com>
 5738 
 5739 commit ce8da936464cc78ec31de6e970e1353ffecf2547
 5740 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5741 Date:   Wed Feb 28 01:19:46 2018 +0000
 5742 
 5743     dri3: Enable DRI3 version 1.2
 5744     
 5745     Enable DRI3 v1.2 now that all functions have been implemented and
 5746     that there is at least one backend implementing the driver hooks
 5747     (modesetting/glamor).
 5748     
 5749     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5750     Reviewed-by: Daniel Stone <daniels@collabora.com>
 5751     Acked-by: Keith Packard <keithp@keithp.com>
 5752     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5753 
 5754 commit 8d0d89715984e321315631dd6667e05813d26e03
 5755 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5756 Date:   Wed Feb 28 01:19:45 2018 +0000
 5757 
 5758     glamor: Use gbm_bo_create_with_modifiers for internal pixmap allocation
 5759     
 5760     Using modifier might allow the driver to use a more optimal format
 5761     (e.g. tiled/compressed). Let's try to use those if possible.
 5762     
 5763     v2: Don't filter out multi-plane modifiers
 5764     
 5765     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5766     Reviewed-by: Daniel Stone <daniels@collabora.com>
 5767     Acked-by: Keith Packard <keithp@keithp.com>
 5768     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5769 
 5770 commit cef12efc15ca1444d6d8cd839116b318a4668692
 5771 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5772 Date:   Wed Feb 28 01:19:44 2018 +0000
 5773 
 5774     glamor: Implement GetSupportedModifiers
 5775     
 5776     Implement function added in DRI3 v1.1.
 5777     
 5778     A newest version of libepoxy (>= 1.4.4) is required as earlier
 5779     versions use a problematic version of Khronos
 5780     EXT_image_dma_buf_import_modifiers spec.
 5781     
 5782     v4: Only send scanout-supported modifiers if flipping is possible
 5783     v5: Fix memory corruption in XWayland (uninitialized pointer)
 5784     
 5785     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5786     Reviewed-by: Daniel Stone <daniels@collabora.com>
 5787     Acked-by: Keith Packard <keithp@keithp.com>
 5788     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5789 
 5790 commit c8c276c9569b3ca1e695682a5443f1b615c606bd
 5791 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5792 Date:   Wed Feb 28 01:19:43 2018 +0000
 5793 
 5794     glamor: Implement PixmapFromBuffers and BuffersFromPixmap
 5795     
 5796     It relies on GBM >= 17.1.0 where we can import BO with multiple
 5797     planes and a format modifier (GBM_BO_IMPORT_FD_MODIFIER).
 5798     
 5799     v2: Properly free fds in Xwayland
 5800     
 5801     [Also add glamor_egl_ext.h to Makefile.am for distcheck's sake - ajax]
 5802     
 5803     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5804     Reviewed-by: Daniel Stone <daniels@collabora.com>
 5805     Acked-by: Keith Packard <keithp@keithp.com>
 5806     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5807 
 5808 commit 9d147305b4048dcec7ea4eda3eeea83f843f7788
 5809 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5810 Date:   Wed Feb 28 01:19:42 2018 +0000
 5811 
 5812     modesetting: Check if buffer format is supported when flipping
 5813     
 5814     Add support for 'check_flip2' so that the present core can know
 5815     why it is impossible to flip in that scenario. The core can then
 5816     let know the client that the buffer format/modifier is suboptimal.
 5817     
 5818     v2: No longer need to implement 'check_flip'
 5819     
 5820     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5821     Reviewed-by: Daniel Stone <daniels@collabora.com>
 5822     Acked-by: Keith Packard <keithp@keithp.com>
 5823     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5824 
 5825 commit e375f29662ad7589cc6d8d179846da9b8a897122
 5826 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5827 Date:   Wed Feb 28 01:19:41 2018 +0000
 5828 
 5829     modesetting: Create scanout buffers using supported modifiers
 5830     
 5831     Use most optimal buffer format (e.g. tiled/compressed) available
 5832     for scanout.
 5833     
 5834     v2: Don't use multi-plane modifier to create scanout buffer
 5835     
 5836     v3: Add flag to retrieve modifiers set from enabled CRTCs only
 5837     
 5838     v4: Fix uses when GBM/EGL driver doesn't support modifiers
 5839     
 5840     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5841     Reviewed-by: Daniel Stone <daniels@collabora.com>
 5842     Acked-by: Keith Packard <keithp@keithp.com>
 5843     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5844 
 5845 commit ca1c390ec7bf617c0147d69cf874dadce28e903b
 5846 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5847 Date:   Wed Feb 28 01:19:40 2018 +0000
 5848 
 5849     modesetting: Get supported formats/modifiers for scanout
 5850     
 5851     Retrieve IN_FORMATS property from the plane. It gives the
 5852     allowed formats and modifiers for BO allocation.
 5853     
 5854     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5855     Reviewed-by: Daniel Stone <daniels@collabora.com>
 5856     Acked-by: Keith Packard <keithp@keithp.com>
 5857     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5858 
 5859 commit 9817c14f6a2ea5db44459659131c13f403716df1
 5860 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5861 Date:   Wed Feb 28 01:19:39 2018 +0000
 5862 
 5863     modesetting: Use atomic modesetting to configure output/CRTCs
 5864     
 5865     To make sure we also use the same primary plane and to avoid
 5866     mixing uses of two APIs, it is better to always use the atomic
 5867     modesetting API when possible.
 5868     
 5869     v2: Don't use mode_output->connector_id
 5870     
 5871     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5872     Reviewed-by: Daniel Stone <daniels@collabora.com>
 5873     Acked-by: Keith Packard <keithp@keithp.com>
 5874     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5875 
 5876 commit 2f807c2324b46fbd9a557e7a4f177a392d5851b3
 5877 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5878 Date:   Wed Feb 28 01:19:38 2018 +0000
 5879 
 5880     modesetting: Add support for multi-plane pixmaps when page-flipping
 5881     
 5882     This allows the uses of CCS compressed or tiled pixmaps as BOs when
 5883     page-flipping.
 5884     
 5885     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5886     Reviewed-by: Daniel Stone <daniels@collabora.com>
 5887     Acked-by: Keith Packard <keithp@keithp.com>
 5888     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5889 
 5890 commit 4023d537341b9c36b9bb248c206e40694e4b08d2
 5891 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5892 Date:   Wed Feb 28 01:19:37 2018 +0000
 5893 
 5894     modesetting: Use atomic modesetting API for pageflip if available
 5895     
 5896     In order to flip between compressed and uncompressed buffers -
 5897     something drmModePageFlip explicitly bans us from doing - we need
 5898     to port use the atomic modesetting API. It's only 'fake' atomic
 5899     though given we still commit for each CRTC separately and
 5900     CRTC and connector properties are not set with the atomic API.
 5901     
 5902     The helper functions to retrieve DRM properties have been borrowed
 5903     from Weston.
 5904     
 5905     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5906     Reviewed-by: Daniel Stone <daniels@collabora.com>
 5907     Acked-by: Keith Packard <keithp@keithp.com>
 5908     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5909 
 5910 commit e2ef3b44fa697f2ed453767e98da72ea56d4046f
 5911 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5912 Date:   Wed Feb 28 01:19:36 2018 +0000
 5913 
 5914     present: Send PresentCompleteModeSuboptimalCopy appropriately
 5915     
 5916     Add 'check_flip2' hook for driver to let know the core
 5917     about why flipping is not possible ('reason').
 5918     If it is because of unsupported buffer format/modifier,
 5919     a PresentCompleteNotify event is sent to the client with
 5920     the PresentCompleteModeSuboptimalCopy mode.
 5921     
 5922     v2: Check for PresentOptionSuboptimal and check driver version
 5923         before using 'check_flip2'.
 5924     
 5925     v3: Only require one of 'check_flip' or 'check_flip2' to be
 5926         implemented by the driver.
 5927         Refactor reasons list to enum
 5928     
 5929     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5930     Reviewed-by: Daniel Stone <daniels@collabora.com>
 5931     Acked-by: Keith Packard <keithp@keithp.com>
 5932     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5933 
 5934 commit 6e7c40f62db66f5b59b2cf59f1e6a26e4fd21bda
 5935 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5936 Date:   Wed Feb 28 01:19:35 2018 +0000
 5937 
 5938     dri3: Add multi-planar/modifier buffer requests
 5939     
 5940     Initial implementation for DRI3 v1.1. Only the DRI3 implementation
 5941     is there, backends need to implement the proper hooks.
 5942     
 5943     Version is still set to 1.0 so clients shouldn't use the new
 5944     requests yet.
 5945     
 5946     v2: Use depth/bpp instead of DRM formats in requests
 5947     
 5948     v3: Remove DMA fence requests from v1.1
 5949         Add screen/drawable modifier sets
 5950     
 5951     v4: Free array returned by 'get_drawable_modifiers()'
 5952     
 5953     v5: Fix FD leak
 5954     
 5955     Signed-off-by: Daniel Stone <daniels@collabora.com>
 5956     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5957     Acked-by: Keith Packard <keithp@keithp.com>
 5958     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5959 
 5960 commit 0ff4074224ea370e021d79526c63cef91356730d
 5961 Author: Keith Packard <keithp@keithp.com>
 5962 Date:   Fri Mar 2 17:05:04 2018 -0800
 5963 
 5964     Require libdrm 2.4.89 or newer
 5965     
 5966     Both autotools and meson build systems had complicated logic around
 5967     what version of libdrm to require for various options. Remove that and
 5968     just check for a new enough version to support all of the options
 5969     which need libdrm.
 5970     
 5971     Signed-off-by: Keith Packard <keithp@keithp.com>
 5972     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5973 
 5974 commit 43ffd572592d26bb78decfdf55e643bdfb011d3f
 5975 Author: Laurent Carlier <lordheavym@gmail.com>
 5976 Date:   Thu Mar 1 12:58:16 2018 +0100
 5977 
 5978     meson: Make SHM extension optional
 5979     
 5980     v2: check for header 'sys/shm.h'
 5981     
 5982     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 5983     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5984 
 5985 commit de4565727a0bb199365d33e3c98d9ddd3e0de6f2
 5986 Author: Laurent Carlier <lordheavym@gmail.com>
 5987 Date:   Thu Mar 1 12:57:27 2018 +0100
 5988 
 5989     meson: get rid of useless HAVE_SYSV_IPC
 5990     
 5991     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 5992     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5993 
 5994 commit e02afb94783a25c21b07e44a7b615acdd86fa3f7
 5995 Author: Laurent Carlier <lordheavym@gmail.com>
 5996 Date:   Thu Mar 1 12:56:28 2018 +0100
 5997 
 5998     meson: Make ACPI support optional
 5999     
 6000     v2: Define HAVE_ACPI in dix-config.h
 6001     
 6002     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 6003     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6004 
 6005 commit 238219e7312e2b5d972a8620b02379009686a005
 6006 Author: Laurent Carlier <lordheavym@gmail.com>
 6007 Date:   Thu Mar 1 12:55:11 2018 +0100
 6008 
 6009     meson: Make APM support optional
 6010     
 6011     v2: Define HAVE_APM in dix-config.h
 6012     
 6013     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 6014     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6015 
 6016 commit 2af0a50a4bb9be9f58681d417ceb9a7029caaf3b
 6017 Author: Adam Jackson <ajax@redhat.com>
 6018 Date:   Wed Feb 28 11:23:41 2018 -0500
 6019 
 6020     randr: Fix a crash on initialization with GPU screens
 6021     
 6022     RRSetChanged (immediately above) was immune to screens with no master,
 6023     but RRTellChanged was not:
 6024     
 6025         Thread 1 "X" received signal SIGSEGV, Segmentation fault.
 6026         RRTellChanged (pScreen=<optimized out>) at ../../randr/randr.c:576
 6027         576             mastersp = rrGetScrPriv(master);
 6028         (gdb) bt
 6029         #0  RRTellChanged (pScreen=<optimized out>) at ../../randr/randr.c:576
 6030         #1  0x000055555566f1e9 in RRNoticePropertyChange (value=0x555555bfbf28, property=70, output=0x555555bfef10) at ../../randr/rrproperty.c:153
 6031         #2  RRChangeOutputProperty (output=output@entry=0x555555bfef10, property=<optimized out>, type=type@entry=19, format=format@entry=32, mode=<optimized out>, mode@entry=0, len=len@entry=1, value=0x7fffffffe77c, sendevent=1, pending=0)
 6032             at ../../randr/rrproperty.c:263
 6033         #3  0x000055555566dba5 in RROutputSetNonDesktop (output=output@entry=0x555555bfef10, nonDesktop=nonDesktop@entry=0) at ../../randr/rroutput.c:333
 6034         ...
 6035     
 6036     Reported-by: Michel Dänzer <michel@daenzer.net>
 6037     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6038 
 6039 commit cf485c659d93c92b26c4390402575f061eb175f6
 6040 Author: Adam Jackson <ajax@redhat.com>
 6041 Date:   Wed Feb 28 12:18:28 2018 -0500
 6042 
 6043     xserver 1.20 RC 1
 6044     
 6045     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6046 
 6047 commit afccb266edc8b2ca014aec5b2a67bb1627f29fe9
 6048 Author: Adam Jackson <ajax@redhat.com>
 6049 Date:   Wed Feb 28 12:26:26 2018 -0500
 6050 
 6051     glx: Add vndserver.h to the SDK
 6052     
 6053     Also unbreak 'make distcheck', sigh autotools.
 6054     
 6055     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6056 
 6057 commit 85ff1cdbd3286838e512fe7c70af149a8743b6fe
 6058 Author: Emil Velikov <emil.velikov@collabora.com>
 6059 Date:   Tue Feb 27 17:05:50 2018 +0000
 6060 
 6061     protocol.txt: add GLX req. 35 - SetClientInfo2ARB
 6062     
 6063     Noticed while skimming for the typo'd version ;-)
 6064     
 6065     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 6066     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6067 
 6068 commit e4e3447603b5fd3a38a92c3f972396d1f81168ad
 6069 Author: Keith Packard <keithp@keithp.com>
 6070 Date:   Mon Feb 12 13:51:56 2018 -0800
 6071 
 6072     Add RandR leases with modesetting driver support [v6]
 6073     
 6074     This adds support for RandR CRTC/Output leases through the modesetting
 6075     driver, creating a lease using new kernel infrastructure and returning
 6076     that to a client through an fd which will have access to only those
 6077     resources.
 6078     
 6079     v2:     Restore CRTC mode when leases terminate
 6080     
 6081             When a lease terminates for a crtc we have saved data for, go
 6082             ahead and restore the saved mode.
 6083     
 6084     v3:     Report RR_Rotate_0 rotations for leased crtcs.
 6085     
 6086             Ignore leased CRTCs when selecting screen size.
 6087     
 6088             Stop leasing encoders, the kernel doesn't do that anymore.
 6089     
 6090             Turn off crtc->enabled while leased so that modesetting
 6091             ignores them.
 6092     
 6093             Check lease status before calling any driver mode functions
 6094     
 6095             When starting a lease, mark leased CRTCs as disabled and hide
 6096             their cursors. Also, check to see if there are other
 6097             non-leased CRTCs which are driving leased Outputs and mark
 6098             them as disabled as well. Sometimes an application will lease
 6099             an idle crtc instead of the one already associated with the
 6100             leased output.
 6101     
 6102             When terminating a lease, reset any CRTCs which are driving
 6103             outputs that are no longer leased so that they start working
 6104             again.
 6105     
 6106             This required splitting the DIX level lease termination code
 6107             into two pieces, one to remove the lease from the system
 6108             (RRLeaseTerminated) and a new function that frees the lease
 6109             data structure (RRLeaseFree).
 6110     
 6111     v4:     Report RR_Rotate_0 rotation for leased crtcs.
 6112     
 6113     v5: Terminate all leases on server reset.
 6114     
 6115             Leases hang around after the associated client exits so that
 6116             the client doesn't need to occupy an X server client slot and
 6117             consume a file descriptor once it has gotten the output
 6118             resources necessary.
 6119     
 6120             Any leases still hanging around when the X server resets or
 6121             shuts down need to be cleaned up by calling the kernel to
 6122             terminate the lease and freeing any DIX structures.
 6123     
 6124             Note that we cannot simply use the existing
 6125             drmmode_terminate_lease function on each lease as that wants
 6126             to also reset the video mode, and during server shut down that
 6127     
 6128        modesetting: Validate leases on VT enter
 6129     
 6130             The kernel doesn't allow any master ioctls to run when another
 6131             VT is active, including simple things like listing the active
 6132             leases. To deal with that, we check the list of leases
 6133             whenever the X server VT is activated.
 6134     
 6135        xfree86: hide disabled cursors when resetting after lease termination
 6136     
 6137             The lessee may well have played with cursors and left one
 6138             active on our screen. Just tell the kernel to turn it off.
 6139     
 6140     v6:     Add meson build infrastructure
 6141     
 6142     [Also bumped libdrm requirement - ajax]
 6143     
 6144     Signed-off-by: Keith Packard <keithp@keithp.com>
 6145     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6146 
 6147 commit 023d4aba8d45e9e3630b944ecfb650c081799b96
 6148 Author: Keith Packard <keithp@keithp.com>
 6149 Date:   Mon Feb 12 13:51:55 2018 -0800
 6150 
 6151     xf86-video-modesetting: Create CONNECTOR_ID properties for outputs [v2]
 6152     
 6153     This lets a DRM client map between X outputs and kernel connectors.
 6154     
 6155     v2:
 6156             Change CONNECTOR_ID to enum -- Adam Jackson <ajax@nwnk.net>
 6157     
 6158     Signed-off-by: Keith Packard <keithp@keithp.com>
 6159     Reviewed-by: Adam Jackson <ajax@nwnk.net>
 6160 
 6161 commit 39573605050f6253d14a4786bb79ce2b48537039
 6162 Author: Keith Packard <keithp@keithp.com>
 6163 Date:   Mon Feb 12 13:51:54 2018 -0800
 6164 
 6165     randr: Support "non-desktop" property
 6166     
 6167     Tracks changes to the non-desktop property so that when non-zero,
 6168     outputs will always appear to be disconnected.
 6169     
 6170     Signed-off-by: Keith Packard <keithp@keithp.com>
 6171     Reviewed-by: Adam Jackson <ajax@nwnk.net>
 6172 
 6173 commit b91c787c4cd2d20685db69426c539938c556128a
 6174 Author: Keith Packard <keithp@keithp.com>
 6175 Date:   Mon Feb 12 13:51:53 2018 -0800
 6176 
 6177     xf86-video-modesetting: Record non-desktop kernel property at PreInit time
 6178     
 6179     Save any value of the kernel non-desktop property in the xf86Output
 6180     structure to avoid non-desktop outputs in the default configuration.
 6181     
 6182     [Also bump randrproto requirement to a version that defines
 6183     RR_PROPERTY_NON_DESKTOP - ajax]
 6184     
 6185     Signed-off-by: Keith Packard <keithp@keithp.com>
 6186     Reviewed-by: Adam Jackson <ajax@nwnk.net>
 6187 
 6188 commit fabbaa8d6260da14fe5b7ca0f3f8748af16253a2
 6189 Author: Keith Packard <keithp@keithp.com>
 6190 Date:   Mon Feb 12 13:51:52 2018 -0800
 6191 
 6192     xfree86/modes: Check for non-desktop monitors during PreInit [v2]
 6193     
 6194     At startup, we want to ignore non-desktop monitors unless we don't
 6195     find any desktop monitors. Because there are no DIX RandR resources
 6196     allocated, let the driver store this information in a new field in the
 6197     xf86Output structure and then use that value to help decide whether to
 6198     include an output as part of the default configuration.
 6199     
 6200     v2:
 6201       Suggested-by: Michel Dänzer <michel@daenzer.net>
 6202     
 6203       Bump XF86_CRTC_VERSION from 7 to 8. This will let out-of-tree
 6204       drivers know whether this field is available.
 6205     
 6206     Signed-off-by: Keith Packard <keithp@keithp.com>
 6207     Reviewed-by: Adam Jackson <ajax@nwnk.net>
 6208 
 6209 commit 80d4f4b6c20288aa3e0c9908d5d845fc0088a662
 6210 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 6211 Date:   Tue Feb 27 03:05:32 2018 +0100
 6212 
 6213     modesetting: Enable screen color depth 30 support.
 6214     
 6215     glamor now supports depth 30, so allow use of it.
 6216     
 6217     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 6218     Reviewed-by: Eric Anholt <eric@anholt.net>
 6219     Reviewed-by: Antoine Martin <antoine@nagafix.co.uk>
 6220 
 6221 commit 7bc86c7d2346eadb3aafe1550ec55e63f2a3b3e5
 6222 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 6223 Date:   Tue Feb 27 03:05:31 2018 +0100
 6224 
 6225     modesetting: Adapt xf86HandleColorMaps() for > 24 color depth. (v2)
 6226     
 6227     This retains old behavior for depths <= 24, but allows gamma
 6228     table and colormap updates to work properly at depth 30.
 6229     
 6230     This needs the xf86Randr12CrtcComputeGamma() fix for depth 30
 6231     from a previous commit to work. Otherwise the server will work,
 6232     but gamma table updates will silently fail, iow. the server
 6233     would always run with a default identity gamma lut.
 6234     
 6235     v2: Simplify as proposed by Michel.
 6236     
 6237     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 6238     Reviewed-by: Antoine Martin <antoine@nagafix.co.uk> (v1)
 6239 
 6240 commit b5f9fcd50a999a00128c0cc3f6e7d1f66182c9d5
 6241 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 6242 Date:   Tue Feb 27 03:05:30 2018 +0100
 6243 
 6244     xfree86/modes: Adapt xf86Randr12CrtcComputeGamma() for depth 30. (v2)
 6245     
 6246     At screen depths > 24 bit, the color palettes passed into
 6247     xf86Randr12CrtcComputeGamma() can have a larger number of slots
 6248     than the crtc's hardware lut. E.g., at depth 30, 1024 palette
 6249     slots vs. 256 hw lut slots. This palette size > crtc gamma size
 6250     case is not handled yet and leads to silent failure, so gamma
 6251     table updates do not happen.
 6252     
 6253     Add a new subsampling path for this case.
 6254     
 6255     This makes lut updates work again, as tested with the xgamma
 6256     utility (uses XF86VidMode extension) and some RandR based
 6257     gamma ramp animation.
 6258     
 6259     v2: Better resampling when subsampling the palette, as
 6260         proposed by Ville. Now reaches the max index of the
 6261         palette and deals with non-power-of-two sizes. Thanks.
 6262     
 6263     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 6264     Reviewed-by: Antoine Martin <antoine@nagafix.co.uk> (v1)
 6265     Cc: <ville.syrjala@linux.intel.com>
 6266 
 6267 commit 125201408ddd51ca8ea961a7338a6ad299e5816c
 6268 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 6269 Date:   Tue Feb 27 03:05:29 2018 +0100
 6270 
 6271     glamor: Bump version to 1.0.1 to signal depth 30 support.
 6272     
 6273     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 6274     Reviewed-by: Antoine Martin <antoine@nagafix.co.uk>
 6275 
 6276 commit 7a687da24c9d3c9e40ffa426631bf355322d470e
 6277 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 6278 Date:   Tue Feb 27 03:05:28 2018 +0100
 6279 
 6280     glamor: Enable composite acceleration for rgb10 formats. (v2)
 6281     
 6282     Specifically for xrgb2101010 format.
 6283     
 6284     Tested on KDE Plasma-5 with XRender based composite
 6285     acceleration backend. Much smoother and faster.
 6286     
 6287     (v2) Dropped argb2101010, because of depth 32 confusion with
 6288          argb8888, as pointed out by Eric. Thanks!
 6289     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 6290     Reviewed-by: Antoine Martin <antoine@nagafix.co.uk>
 6291 
 6292 commit c326c717c8dbf4a3f0c64a031fbe6030e73ff355
 6293 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 6294 Date:   Tue Feb 27 03:05:27 2018 +0100
 6295 
 6296     glamor: Fix loose ends in color depth 30 support.
 6297     
 6298     This makes it work properly with OpenGL based desktop
 6299     compositing, as tested with EGL and GLX based compositing
 6300     under OpenGL-2/3, and also artifact free with XRender
 6301     based 2D compositing.
 6302     
 6303     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 6304     Reviewed-by: Eric Anholt <eric@anholt.net>
 6305     Reviewed-by: Antoine Martin <antoine@nagafix.co.uk>
 6306 
 6307 commit 9ab5d91c6c228e8f5b34e4b30c5104aed6c41958
 6308 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 6309 Date:   Tue Feb 27 03:05:26 2018 +0100
 6310 
 6311     glamor: Make Xv extension initialize at depth 30.
 6312     
 6313     Support x-screens of depth 30, so init doesn't fail.
 6314     
 6315     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 6316     Reviewed-by: Eric Anholt <eric@anholt.net>
 6317     Reviewed-by: Antoine Martin <antoine@nagafix.co.uk>
 6318 
 6319 commit efe9e3e9ff96a06f50d94dc93ad2c19085fa3d09
 6320 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 6321 Date:   Tue Feb 27 06:51:59 2018 +0100
 6322 
 6323     modesetting: Fix fallback for lack of new vblank kernel API.
 6324     
 6325     Turns out that the kernel DRM ioctl handling returns EINVAL
 6326     instead of ENOTTY if one tries to call the new drmCrtcGetSequence()
 6327     or drmCrtcQueueSequence() ioctl's introduced in Linux 4.15 on an
 6328     older kernel where they are missing. This causes the fallback code
 6329     not to fall back to the old drmWaitVblank() ioctl and thereby
 6330     failure of vblank stuff.
 6331     
 6332     E.g., on Linux 4.13, glxgears -info runs unthrottled at 10000 fps
 6333     instead of 60 fps. Also breakage of OML_sync_control extension.
 6334     
 6335     Check for errno != EINVAL before setting has_queue_sequence = TRUE.
 6336     
 6337     Additionally in case of supported drmCrtcQueueSequence(), set
 6338     has_queue_sequence = TRUE on success, or we might get at
 6339     least a temporary failure in ms_queue_vblank().
 6340     
 6341     One slight ambiguity is that we can also get EINVAL if
 6342     drm_crtc_vblank_get() fails in the kernel, so if that
 6343     happened at first invocation of the new api, we'd fall
 6344     back to drmWaitVblank() and then fail there, instead of
 6345     failing in the new api, but the end result would be the
 6346     same.
 6347     
 6348     Fixes: 44d5f2eb8a2f ("xf86-video-modesetting: Support new vblank kernel API [v2]")
 6349     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 6350     Cc: Keith Packard <keithp@keithp.com>
 6351     Reviewed-by: Keith Packard <keithp@keithp.com>
 6352 
 6353 commit 8171d4c2d67b2990a278dc018ac32534c3afe606
 6354 Author: Adam Jackson <ajax@redhat.com>
 6355 Date:   Fri Feb 23 16:08:10 2018 -0500
 6356 
 6357     render: Store and use all 16bpc of precision for solid pixels (v2.1)
 6358     
 6359     This plumbs the full width color for solid pictures through to fb, exa,
 6360     and glamor. External drivers and acceleration code may wish to make a
 6361     similar change for sufficiently new servers.
 6362     
 6363     v2: Don't break ABI (Michel Dänzer)
 6364     v2.1: Use the (correct) full color in fb too (Michel Dänzer)
 6365     
 6366     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6367     Reviewed-by: Keith Packard <keithp@keithp.com>
 6368 
 6369 commit 92272378064a878ce7a62852b877d674bcad89cd
 6370 Author: Jeffrey Smith <whydoubt@gmail.com>
 6371 Date:   Thu Feb 15 06:46:55 2018 -0600
 6372 
 6373     modesetting: Do not close uninitialized dri2 screen
 6374     
 6375     If a dri2 screen is not successfully initialized, attempting to close it
 6376     results in a null dereference.
 6377     
 6378     Maintain a flag indicating whether the dri2 screen was successfully
 6379     initialized, and check it before attempting to close the dri2 screen.
 6380     
 6381     https://bugzilla.redhat.com/show_bug.cgi?id=1485811
 6382     https://bugzilla.redhat.com/show_bug.cgi?id=1493805
 6383     https://bugzilla.redhat.com/show_bug.cgi?id=1534459
 6384     https://bugzilla.redhat.com/show_bug.cgi?id=1541745
 6385     https://bugs.freedesktop.org/show_bug.cgi?id=101282
 6386     
 6387     Signed-off-by: Jeff Smith <whydoubt@gmail.com>
 6388 
 6389 commit aa29298416a6323fad1681a019dbcd54867b66c4
 6390 Author: Adam Jackson <ajax@redhat.com>
 6391 Date:   Mon Feb 26 15:26:35 2018 -0500
 6392 
 6393     glamor: unifdef XORG_VERSION_CURRENT
 6394     
 6395     This is always true now that glamor is in-tree.
 6396     
 6397     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6398     Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
 6399 
 6400 commit 059879b3edb104014959426f953e1faf103d99ff
 6401 Author: Adam Jackson <ajax@redhat.com>
 6402 Date:   Mon Feb 26 13:58:26 2018 -0500
 6403 
 6404     xquartz: Fix linking with glxvnd
 6405     
 6406     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6407 
 6408 commit 22a3ffe68c9c498e0b6b74ebcf1404becda8e2b1
 6409 Author: Michel Dänzer <michel.daenzer@amd.com>
 6410 Date:   Mon Feb 26 17:30:57 2018 +0100
 6411 
 6412     glx: Don't pass NULL to glxGetClient
 6413     
 6414     These guards were dropped by the commit below, but it turns out they're
 6415     needed. Fixes crash on VT switch.
 6416     
 6417     Fixes: d8ec33fe0542 ("glx: Use vnd layer for dispatch (v4)")
 6418     Bugzilla: https://bugs.freedesktop.org/105233
 6419     Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
 6420     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6421 
 6422 commit 528c94c6501db936882cd06338e2250a0b884b36
 6423 Author: Adam Jackson <ajax@redhat.com>
 6424 Date:   Tue Feb 20 11:03:46 2018 -0500
 6425 
 6426     glx: Fix indirect no-config contexts
 6427     
 6428     We would throw BadValue here for the GLX_SCREEN attribute. The upper
 6429     dispatch layer already checks this, we can ignore it here.
 6430     
 6431     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6432 
 6433 commit a63ab81f6be7ad46b7e2d98a50aef4da5e664847
 6434 Author: Adam Jackson <ajax@redhat.com>
 6435 Date:   Tue Feb 20 11:03:45 2018 -0500
 6436 
 6437     glx: Enable GLX_ARB_create_context_no_error (v2)
 6438     
 6439     This is mostly for the client library's convenience, if this extension
 6440     is listed then it can know the attribute won't be rejected. Note that we
 6441     don't honor this attribute for indirect contexts. That's fine, we don't
 6442     want to introduce undefined behavior into a potentially privileged
 6443     process.
 6444     
 6445     v2: Remember to ignore the attribute (Eric Anholt)
 6446     
 6447     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6448 
 6449 commit 701f3a206d6f71c4754f457e95e2b954cf0b80c7
 6450 Author: Adam Jackson <ajax@redhat.com>
 6451 Date:   Fri Feb 23 16:08:11 2018 -0500
 6452 
 6453     render: Simplify miCompositeRects
 6454     
 6455     Make a solid-fill picture for this instead of a 1x1 pixmap. In principle
 6456     the backend can accelerate this directly, and we also get to preserve
 6457     all the bits of the fill color.
 6458     
 6459     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6460     Reviewed-by: Keith Packard <keithp@keithp.com>
 6461 
 6462 commit 9339fa87d03204b29d47eb8c9406f701517b3514
 6463 Author: Adam Jackson <ajax@redhat.com>
 6464 Date:   Thu Feb 22 16:53:22 2018 -0500
 6465 
 6466     render: Cosmetic cleanup to default format creation
 6467     
 6468     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6469     Reviewed-by: Keith Packard <keithp@keithp.com>
 6470 
 6471 commit ddf752eafe951bb9723aabf2579c4725a6ffc9de
 6472 Author: Adam Jackson <ajax@redhat.com>
 6473 Date:   Thu Feb 22 16:53:21 2018 -0500
 6474 
 6475     render: Remove some 24bpp handling
 6476     
 6477     This can't happen anymore.
 6478     
 6479     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6480     Reviewed-by: Keith Packard <keithp@keithp.com>
 6481 
 6482 commit efd84bff238f8e12bf652525990d36baada8785b
 6483 Author: Peter Harris <pharris@opentext.com>
 6484 Date:   Thu Feb 22 18:07:38 2018 -0500
 6485 
 6486     composite: Fix use-after-free in compReparentWindow
 6487     
 6488     If an implicitly redirected window is unredirected by the reparent
 6489     operation, cw will be a stale pointer.
 6490     
 6491     Signed-off-by: Peter Harris <pharris@opentext.com>
 6492     Reviewed-by: Keith Packard <keithp@keithp.com>
 6493 
 6494 commit ac13d740bf14ba8799d4dfbee1f6f99a297dbc7e
 6495 Author: Emil Velikov <emil.velikov@collabora.com>
 6496 Date:   Wed Feb 21 17:12:15 2018 +0000
 6497 
 6498     mi: Mention extension loading in verbose logs
 6499     
 6500     Listing the extensions is useful, despite being annoying for normal
 6501     usecases. Print it only when extra (lvl 3) vebose is requested.
 6502     
 6503     v2: Move the logging to InitExtensions(), as requested by Adam.
 6504     
 6505     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6506     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 6507 
 6508 commit 9237c5e2878c088a6cd26ea380763465a9e67012
 6509 Author: Emil Velikov <emil.velikov@collabora.com>
 6510 Date:   Mon Feb 19 15:18:11 2018 +0000
 6511 
 6512     docs: correct LoadExtensionList() documentation
 6513     
 6514     Add the missing arguments to the function signature.
 6515     
 6516     Fixes: e46820fb897 ("miinitext: introduce LoadExtensionList() to replace
 6517     over LoadExtension()")
 6518     
 6519     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 6520     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6521 
 6522 commit 089a1b0f9fa2e80457dc3d5f05c84565c9113a21
 6523 Author: Emil Velikov <emil.velikov@collabora.com>
 6524 Date:   Mon Feb 19 15:18:10 2018 +0000
 6525 
 6526     glx: set the version we implement in GlxServerExports
 6527     
 6528     Set the major/minor version it's currently implemented, not the one
 6529     provided by the GLXSERVER_VENDOR_ABI_{MAJOR,MINOR}_VERSION macros.
 6530     
 6531     Those are identical for now, but can change in the future.
 6532     
 6533     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 6534     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6535 
 6536 commit edc00e020310d8f53ebc16295c373fe84ec6ec87
 6537 Author: Emil Velikov <emil.velikov@collabora.com>
 6538 Date:   Mon Feb 19 15:18:09 2018 +0000
 6539 
 6540     glx: use C99 initializers for GlxServerExports
 6541     
 6542     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 6543     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6544 
 6545 commit 7fc757986947ad89d76fc0fd3d69f5fdeefc9055
 6546 Author: Emil Velikov <emil.velikov@collabora.com>
 6547 Date:   Mon Feb 19 15:18:08 2018 +0000
 6548 
 6549     glx: NULL check the correct argument in dispatch_GLXVendorPriv
 6550     
 6551     malloc can return NULL, unlike GetVendorDispatchFunc. The latter
 6552     provides DispatchBadRequest.
 6553     
 6554     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 6555     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6556 
 6557 commit 1310241e8d606687811c7394811fe337c3e4de11
 6558 Author: Emil Velikov <emil.velikov@collabora.com>
 6559 Date:   Mon Feb 19 15:18:07 2018 +0000
 6560 
 6561     glx: keep glvnd_vendor a private [static] variable
 6562     
 6563     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 6564     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6565 
 6566 commit a054532668cbbb152d0d7acfcce1e03e884bb491
 6567 Author: Jason Ekstrand <jason@jlekstrand.net>
 6568 Date:   Tue Feb 20 09:41:39 2018 -0800
 6569 
 6570     xwayland: Fix backwards need_rotate logic (v2)
 6571     
 6572     When xdg_output support was added to Xwayland, need_rotate parameter was
 6573     added to output_get_new_size where true gave you the old pre-xdg_output
 6574     behavior and false gave the new behavior.  Unfortunately, the two places
 6575     where this is called, need_rotate was set backwards.  This caused input
 6576     get clampped to the wrong dimensions.  Also, the logic for deciding
 6577     whether or not to flip was wrong because, if need_rotate was false, it
 6578     would always flip which is not what you want.
 6579     
 6580     v2 (Daniel Stone):
 6581      - Fix output_get_new_size so that it doesn't flip the dimensions when
 6582        need_rotate is false.
 6583     
 6584     Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
 6585     Reviewed-by: Daniel Stone <daniels@collabora.com>
 6586     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 6587 
 6588 commit 343ee7d07565a75b90e6489c5c29f772dca79c43
 6589 Author: Alexander Volkov <a.volkov@rusbitech.ru>
 6590 Date:   Tue Feb 20 18:07:18 2018 +0300
 6591 
 6592     Xephyr: Avoid calling xcb_shm_detach() twice
 6593     
 6594     This call was forgotten to be removed in
 6595     90996f5909aab4bc9aa4011a6a6d0555a7aa3adf in which
 6596     hostx_destroy_shm_segment() was introduced, which
 6597     itself does it.
 6598     
 6599     Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru>
 6600     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6601 
 6602 commit 5ba0ba93e127a8c460b013e3c6851dd186377c27
 6603 Author: Laurent Carlier <lordheavym@gmail.com>
 6604 Date:   Sun Feb 18 10:58:35 2018 +0100
 6605 
 6606     meson: Make DGA extension optional
 6607     
 6608     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 6609 
 6610 commit e790bc621b8f55489e35b1de260c649d8d105d63
 6611 Author: Laurent Carlier <lordheavym@gmail.com>
 6612 Date:   Sun Feb 18 10:58:34 2018 +0100
 6613 
 6614     dga: #if XFreeXDGA → #ifdef XFreeXDGA
 6615     
 6616     ../include/events.h:32:14: error: #if with no expression
 6617     
 6618     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 6619 
 6620 commit ce4e20f80ff64a5a8b9f344e2507128f379e0715
 6621 Author: Laurent Carlier <lordheavym@gmail.com>
 6622 Date:   Sun Feb 18 10:58:33 2018 +0100
 6623 
 6624     meson: Make Xv and XvMC extensions optional
 6625     
 6626     Just mimic autoconf file, XvMC can't be enabled without Xv
 6627     
 6628     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 6629 
 6630 commit 82d9e99bf99660537a11d9475369c43814cad664
 6631 Author: Laurent Carlier <lordheavym@gmail.com>
 6632 Date:   Sun Feb 18 10:58:32 2018 +0100
 6633 
 6634     meson: Xephyr Requires xcb-shm version 1.9.3 or newer
 6635     
 6636     Sync with commit 8510f542e5474b719f7d7edba7ef0cc05af0271e
 6637     
 6638     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 6639 
 6640 commit 272fa1817091117d078a22252a03d3161dfc7b0f
 6641 Author: Jeffrey Smith <whydoubt@gmail.com>
 6642 Date:   Thu Feb 15 23:47:46 2018 -0600
 6643 
 6644     os: avoid uninitialized offsets in backtrace
 6645     
 6646     When xorg_backtrace calls unw_get_proc_name and an error occurs, offset
 6647     might not be set for the current frame.
 6648     
 6649     Initialize offset for each frame so that the offset from another frame
 6650     cannot be used inadvertently.
 6651     
 6652     Signed-off-by: Jeff Smith <whydoubt@gmail.com>
 6653     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6654 
 6655 commit 6f9d29040cd9f4723a2e6c1e5d2ec8104efc0710
 6656 Author: Jon Turney <jon.turney@dronecode.org.uk>
 6657 Date:   Fri Feb 16 16:44:37 2018 +0000
 6658 
 6659     hw/xwin: Update for glxvnd
 6660     
 6661     - Link with libglxvnd in meson.build
 6662     - Call xorgGlxCreateVendor() like all other DDX
 6663     
 6664     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 6665 
 6666 commit 500cc4a029efce9b962ab8fbb10da9f87d83372e
 6667 Author: Adam Jackson <ajax@redhat.com>
 6668 Date:   Wed Feb 14 17:21:43 2018 -0500
 6669 
 6670     dmx: warning fix
 6671     
 6672     /home/ajax/git/xserver/at/../hw/dmx/input/dmxinputinit.c: In function ‘dmxInputInit’:
 6673     /home/ajax/git/xserver/at/../hw/dmx/input/dmxinputinit.c:1019:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
 6674              int found;
 6675     
 6676     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6677 
 6678 commit 9bcddaf9619d01cdbf965cedb9f86a08ed6dc524
 6679 Author: Adam Jackson <ajax@redhat.com>
 6680 Date:   Wed Feb 14 17:20:16 2018 -0500
 6681 
 6682     dri2: warning fix
 6683     
 6684     /home/ajax/git/xserver/at/../glx/glxdri2.c: In function ‘create_driver_context’:
 6685     /home/ajax/git/xserver/at/../glx/glxdri2.c:444:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
 6686          const __DRIconfig *driConfig = config ? config->driConfig : NULL;
 6687     
 6688     I don't know why autotools has decided not to be C99 but at least it's
 6689     trivial to fix.
 6690     
 6691     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6692 
 6693 commit 133bd4443be6b76a36afadfae0905b832e998165
 6694 Author: Adam Jackson <ajax@redhat.com>
 6695 Date:   Wed Jan 10 13:05:48 2018 -0500
 6696 
 6697     glx: Large commands are context state, not client state
 6698     
 6699     There's no reason a multithreaded client shouldn't be allowed to
 6700     interleave other requests (for other contexts) with a RenderLarge. Move
 6701     the check into __glXForceCurrent, and store the state in the context not
 6702     the client.
 6703     
 6704     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6705 
 6706 commit 5d87e4f71355272c8da38c83f493b826623301cc
 6707 Author: Adam Jackson <ajax@redhat.com>
 6708 Date:   Wed Jan 10 13:05:47 2018 -0500
 6709 
 6710     miinitext: Remove separate extension toggle list
 6711     
 6712     This was only separate because GLX was loadable. The frontend is now
 6713     linked statically, so we can use the static extension list directly.
 6714     
 6715     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6716 
 6717 commit 67c303fff303f94b62f03a76de97116c6ebcfda9
 6718 Author: Adam Jackson <ajax@redhat.com>
 6719 Date:   Wed Jan 10 13:05:46 2018 -0500
 6720 
 6721     miinitext: Load GLX on the mi path
 6722     
 6723     Add a stub for Xnest so it continues to link, but otherwise we support
 6724     GLX on every server so there's no need to make every DDX add it.
 6725     
 6726     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6727 
 6728 commit d8ec33fe0542141aed1d9016d2ecaf52da944b4b
 6729 Author: Adam Jackson <ajax@redhat.com>
 6730 Date:   Wed Jan 10 13:05:45 2018 -0500
 6731 
 6732     glx: Use vnd layer for dispatch (v4)
 6733     
 6734     The big change here is MakeCurrent and context tag tracking. We now
 6735     delegate context tags entirely to the vnd layer, and simply store a
 6736     pointer to the context state as the tag data. If a context is deleted
 6737     while it's current, we allocate a fake ID for the context and move the
 6738     context state there, so the tag data still points to a real context. As
 6739     a result we can stop trying so hard to detach the client from contexts
 6740     at disconnect time and just let resource destruction handle it.
 6741     
 6742     Since vnd handles all the MakeCurrent protocol now, our request handlers
 6743     for it can just be return BadImplementation. We also remove a bunch of
 6744     LEGAL_NEW_RESOURCE, because now by the time we're called vnd has already
 6745     allocated its tracking resource on that XID.
 6746     
 6747     v2: Update to match v2 of the vnd import, and remove more redundant work
 6748     like request length checks.
 6749     
 6750     v3: Add/remove the XID map from the vendor private thunk, not the
 6751     backend. (Kyle Brenneman)
 6752     
 6753     v4: Fix deletion of ghost contexts (Kyle Brenneman)
 6754     
 6755     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6756 
 6757 commit 8753218beae641e5c5ac2c2ba598cfb99a893cf4
 6758 Author: Kyle Brenneman <kbrenneman@nvidia.com>
 6759 Date:   Wed Jan 10 13:05:44 2018 -0500
 6760 
 6761     glx: Import glxvnd server module (v2)
 6762     
 6763     This is based on an out-of-tree module written by Kyle:
 6764     
 6765     https://github.com/kbrenneman/libglvnd/tree/server-libglx
 6766     
 6767     I (ajax) did a bunch of cosmetic fixes, ported it off xfree86 API,
 6768     added request length checks, and fixed a minor bug or two.
 6769     
 6770     v2: Use separate functions to set/get a context tag's private data, and
 6771     call the backend's MakeCurrent when a client disconnects to unbind the
 6772     context. (Kyle Brenneman)
 6773     
 6774     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6775 
 6776 commit d1fdddeb76328ab84d9a181a5c72b90013f0f0a6
 6777 Author: Laurent Carlier <lordheavym@gmail.com>
 6778 Date:   Tue Feb 13 22:33:51 2018 +0100
 6779 
 6780     meson: Make Security extension optional
 6781     
 6782     Just mimic autoconf file, Security extension needs X-ACE extension
 6783     
 6784     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 6785     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6786 
 6787 commit 43ef94068e072228446484bf58c0624b9b9649ac
 6788 Author: Laurent Carlier <lordheavym@gmail.com>
 6789 Date:   Tue Feb 13 22:33:50 2018 +0100
 6790 
 6791     meson: Make more extensions optional
 6792     
 6793     Just mimic autoconf file for xf86bigfont, screensaver,
 6794     xres, xace and xinerama extensions
 6795     
 6796     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 6797     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6798 
 6799 commit 3203dd175bd71ef4d154578165d930eec29afddb
 6800 Author: Laurent Carlier <lordheavym@gmail.com>
 6801 Date:   Tue Feb 13 22:33:49 2018 +0100
 6802 
 6803     meson: Make DPMS extension optional
 6804     
 6805     Just mimic autoconf file, DPMS is disabled with Xquartz
 6806     
 6807     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 6808     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6809 
 6810 commit 2c3e137b786dab4a8002a4934fbcf4ef0742f473
 6811 Author: Adam Jackson <ajax@redhat.com>
 6812 Date:   Wed Feb 14 14:10:44 2018 -0500
 6813 
 6814     dmx: #if PANORAMIX → #ifdef PANORAMIX
 6815     
 6816     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6817 
 6818 commit ceaf4277447407a7430b9bc3205462fbdbae0e39
 6819 Author: Adam Jackson <ajax@redhat.com>
 6820 Date:   Mon Feb 12 15:35:05 2018 -0500
 6821 
 6822     xfixes: Restore monitoring of animated cursors
 6823     
 6824     This was broken by:
 6825     
 6826         commit aa6651f83c698e8cc40de61aad36c73ca7a6adcf
 6827         Author: Adam Jackson <ajax@redhat.com>
 6828         Date:   Thu Jun 8 16:23:12 2017 -0400
 6829     
 6830             xfixes: Remove the CursorCurrent array
 6831     
 6832     As of that change we look up the current cursor dynamically instead of
 6833     trying to track every time it's set through ->DisplayCursor. That would
 6834     work, except the 'bits' of an animated cursor is a transparent 1x1
 6835     pixel. So now, look up whether there's an animated cursor, and use its
 6836     current frame if so.
 6837     
 6838     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6839 
 6840 commit 0b7a5700ad3d65e408a2fae00bdee867a8d2e1a8
 6841 Author: Adam Jackson <ajax@redhat.com>
 6842 Date:   Mon Feb 12 15:35:04 2018 -0500
 6843 
 6844     animcur: Change which CursorPtr we save in external state
 6845     
 6846     Formerly spriteInfo->anim.pCursor would point to the animated cursor (or
 6847     NULL if not animated). That value would also be available in
 6848     spriteInfo->sprite->current, so instead lets use anim.pCursor to point
 6849     to the current animation element.
 6850     
 6851     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6852 
 6853 commit 8510f542e5474b719f7d7edba7ef0cc05af0271e
 6854 Author: Alexander Volkov <a.volkov@rusbitech.ru>
 6855 Date:   Wed Feb 7 14:08:50 2018 +0300
 6856 
 6857     Xephyr: Require xcb-shm version 1.9.3 or newer
 6858     
 6859     It's needed for FD-passing.
 6860     
 6861     Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru>
 6862     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6863 
 6864 commit 2ff6eaad85fd702e3cc597c44ccf2210570004ea
 6865 Author: Roman Gilg <subdiff@gmail.com>
 6866 Date:   Fri Feb 9 23:40:42 2018 +0100
 6867 
 6868     Correct xorg_list_is_empty return value description
 6869     
 6870     The helper xorg_list_is_empty returns True when the list is empty and not when
 6871     it contains one or more elements.
 6872     
 6873     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 6874     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 6875     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 6876 
 6877 commit bebcc8477c8070ade9dd4be7299c718baeab3d7a
 6878 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 6879 Date:   Mon Feb 5 11:20:41 2018 +0100
 6880 
 6881     glx: Only assign 8 bpc fbconfigs for composite visuals.
 6882     
 6883     Commit 91c42093b248 ("glx: Duplicate relevant fbconfigs for
 6884     compositing visuals") adds many new depth 32 fbconfigs as
 6885     composite visuals. On a X-Screen running at depth 24, this
 6886     also adds bgra 10-10-10-2 fbconigs, as they also have
 6887     config.rgbBits == 32, but these are not displayable on a
 6888     depth 24 screen, leading to visually corrupted desktops
 6889     under some compositors, e.g., fdo bug 104597 "Compton
 6890     weird colors" when running compton with
 6891     "compton --backend glx".
 6892     
 6893     Be more conservative for now and only select fbconfigs with
 6894     8 bpc red, green, blue components for composite visuals.
 6895     
 6896     Fixes: 91c42093b248 ("glx: Duplicate relevant fbconfigs for
 6897                           compositing visuals")
 6898     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104597
 6899     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 6900     Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
 6901     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6902 
 6903 commit 98edb9a35e2cdd61355656b82975d7f2b6a9f0e6
 6904 Author: Lyude Paul <lyude@redhat.com>
 6905 Date:   Tue Feb 6 12:41:47 2018 -0500
 6906 
 6907     xwayland: Don't process cursor warping without an xwl_seat
 6908     
 6909     Unfortunately, on my machine Xwayland immediately crashes when I try to
 6910     start it. gdb backtrace:
 6911     
 6912      #0  0x00007ffff74f0e79 in wl_proxy_marshal () from target:/lib64/libwayland-client.so.0
 6913      #1  0x0000000000413172 in zwp_confined_pointer_v1_destroy (zwp_confined_pointer_v1=0x700000000)
 6914          at hw/xwayland/Xwayland@exe/pointer-constraints-unstable-v1-client-protocol.h:612
 6915      #2  0x0000000000418bc0 in xwl_seat_destroy_confined_pointer (xwl_seat=0x8ba2a0)
 6916          at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-input.c:2839
 6917      #3  0x0000000000418c09 in xwl_seat_unconfine_pointer (xwl_seat=0x8ba2a0)
 6918          at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-input.c:2849
 6919      #4  0x0000000000410d97 in xwl_cursor_confined_to (device=0xa5a000, screen=0x8b9d80, window=0x9bdb70)
 6920          at /home/lyudess/Projects/xserver/hw/xwayland/xwayland.c:328
 6921      #5  0x00000000004a8571 in ConfineCursorToWindow (pDev=0xa5a000, pWin=0x9bdb70, generateEvents=1,
 6922          confineToScreen=0) at /home/lyudess/Projects/xserver/dix/events.c:900
 6923      #6  0x00000000004a94b7 in ScreenRestructured (pScreen=0x8b9d80)
 6924          at /home/lyudess/Projects/xserver/dix/events.c:1387
 6925      #7  0x0000000000502386 in RRScreenSizeNotify (pScreen=0x8b9d80)
 6926          at /home/lyudess/Projects/xserver/randr/rrscreen.c:160
 6927      #8  0x000000000041a83c in update_screen_size (xwl_output=0x8e7670, width=3840, height=2160)
 6928          at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-output.c:203
 6929      #9  0x000000000041a9f0 in apply_output_change (xwl_output=0x8e7670)
 6930          at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-output.c:252
 6931      #10 0x000000000041aaeb in xdg_output_handle_done (data=0x8e7670, xdg_output=0x8e7580)
 6932          at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-output.c:307
 6933      #11 0x00007ffff50e9d1e in ffi_call_unix64 () at ../src/x86/unix64.S:76
 6934      #12 0x00007ffff50e968f in ffi_call (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>,
 6935          avalue=<optimized out>) at ../src/x86/ffi64.c:525
 6936      #13 0x00007ffff74f3d8b in wl_closure_invoke () from target:/lib64/libwayland-client.so.0
 6937      #14 0x00007ffff74f0928 in dispatch_event.isra () from target:/lib64/libwayland-client.so.0
 6938      #15 0x00007ffff74f1be4 in wl_display_dispatch_queue_pending () from target:/lib64/libwayland-client.so.0
 6939      #16 0x00007ffff74f200b in wl_display_roundtrip_queue () from target:/lib64/libwayland-client.so.0
 6940      #17 0x0000000000418cad in InitInput (argc=12, argv=0x7fffffffd9c8)
 6941          at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-input.c:2867
 6942      #18 0x00000000004a20e3 in dix_main (argc=12, argv=0x7fffffffd9c8, envp=0x7fffffffda30)
 6943          at /home/lyudess/Projects/xserver/dix/main.c:250
 6944      #19 0x0000000000420cb2 in main (argc=12, argv=0x7fffffffd9c8, envp=0x7fffffffda30)
 6945         at /home/lyudess/Projects/xserver/dix/stubmain.c:34
 6946     
 6947     This appears to be the result of xwl_cursor_confined_to() and
 6948     xwl_screen_get_default_seat(). While not against protocol, mutter ends
 6949     up sending xdg_output before wl_seat. xwl_screen_get_default_seat()
 6950     makes the naïve assumption that we always have a valid seat, we end up
 6951     returning a pointer to the empty list itself instead of an actual seat
 6952     and causing ourselves to segfault.
 6953     
 6954     So, actually return NULL in xwl_screen_get_default_seat() if the seat
 6955     list is empty, and skip any pointer confinement processing in
 6956     xwl_cursor_confined_to() when we don't have a seat setup yet.
 6957     
 6958     Signed-off-by: Lyude Paul <lyude@redhat.com>
 6959     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6960 
 6961 commit fd21b282dc88936043a23baa4ec053a2811319a7
 6962 Author: Jeff Smith <whydoubt@gmail.com>
 6963 Date:   Sun Feb 4 23:17:54 2018 -0600
 6964 
 6965     xfree86: Only call PreInit handler if it exists for device
 6966     
 6967     DoConfigure() attempts to call the PreInit handler on a device without
 6968     checking that the handler exists.
 6969     
 6970     Check that the PreInit handler exists for a device before attempting to
 6971     call it.
 6972     
 6973     Signed-off-by: Jeff Smith <whydoubt@gmail.com>
 6974     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6975 
 6976 commit e81031f3fda0f8b4237224b13c016759eaa52449
 6977 Author: Jeff Smith <whydoubt@gmail.com>
 6978 Date:   Sun Feb 4 23:17:53 2018 -0600
 6979 
 6980     xfree86: Allocate sufficienct space for dev2screen array
 6981     
 6982     When the dev2screen is sized to xf86NumDrivers in DoConfigure(),
 6983     subsequent code may attempt to write past the end of the array.
 6984     
 6985     Size the dev2screen array to nDevToConfig instead.
 6986     
 6987     Signed-off-by: Jeff Smith <whydoubt@gmail.com>
 6988     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6989 
 6990 commit 1a24a0ae7b1a7400735530a21ac8c0247723223d
 6991 Author: Jeff Smith <whydoubt@gmail.com>
 6992 Date:   Sun Feb 4 23:17:52 2018 -0600
 6993 
 6994     xfree86: Do not use uninitialized pointer during probe
 6995     
 6996     Commits b5dffbb and d75ffcd introduce code in xf86platformProbe() that
 6997     references a member of xf86configptr.  However, when using the
 6998     "-configure" option, xf86configptr may not be initialized when
 6999     xf86platformProbe() is called.
 7000     
 7001     Avoid referencing a member of xf86configptr if uninitialized.
 7002     
 7003     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100405
 7004     Signed-off-by: Jeff Smith <whydoubt@gmail.com>
 7005     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7006 
 7007 commit 1e23f03dd5fb6c981ef6d64c084f72fc6820ed71
 7008 Author: Jan Beich <jbeich@freebsd.org>
 7009 Date:   Fri Jul 7 16:31:48 2017 +0200
 7010 
 7011     shm, xwayland: prefer atomic close-on-exec without O_TMPFILE
 7012     
 7013     Signed-off-by: Jan Beich <jbeich@FreeBSD.org>
 7014     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7015 
 7016 commit 3e3b8a40fee77d1af6ca0c2946ff276d555ddea8
 7017 Author: Michal Srb <msrb@suse.com>
 7018 Date:   Mon Mar 27 15:03:38 2017 +0300
 7019 
 7020     modesetting: Check for -1 before converting to unsigned int.
 7021     
 7022     dri2.c:516:21: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
 7023         if (front->name < 0)
 7024     
 7025     Prevents a failure from being ignored.
 7026 
 7027 commit a9f68688f313752b1c6dfcbf6bf54f8c41fd811d
 7028 Author: Michal Srb <msrb@suse.com>
 7029 Date:   Mon Mar 27 15:03:37 2017 +0300
 7030 
 7031     xfree86: Silence always true condition warning.
 7032     
 7033     xf86pciBus.c:1464:21: warning: comparison of constant 256 with expression of type 'uint8_t' (aka 'unsigned char') is always true [-Wtautological-constant-out-of-range-compare]
 7034         if (pVideo->bus < 256)
 7035     
 7036     The code used to be in xf86FormatPciBusNumber and compared parameter which was int, but since b967bf2a it was inlined now it works with uint8_t.
 7037 
 7038 commit b75835a4358065378142691bf4a20140981a410f
 7039 Author: Raimonds Cicans <ray@apollo.lv>
 7040 Date:   Mon Nov 6 15:26:33 2017 +0200
 7041 
 7042     Xdmx: fix input driver initialization code paths
 7043     
 7044     Problem: Xdmx exit with error "(Fatal Error) dmx: Unknown input argument: "
 7045     if local input driver is specified (example: -input local,usb-kbd,usb-mou).
 7046     
 7047     Cause: code block for remote input drivers is placed in code path common
 7048     for all drivers.
 7049     
 7050     Fix: affected code block moved to remote input driver code path part.
 7051     
 7052     Signed-off-by: Raimonds Cicans <ray@apollo.lv>
 7053     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7054 
 7055 commit cbf09619f2355d14c103eff69aaf191cca614c06
 7056 Author: Adam Jackson <ajax@redhat.com>
 7057 Date:   Mon Nov 6 12:56:05 2017 -0500
 7058 
 7059     meson: Get more xkb configuration from xkbcomp.pc
 7060     
 7061     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7062     Reviewed-by: Daniel Stone <daniels@collabora.com>
 7063 
 7064 commit 93c16b0524711cd3cd8e32f151c53b5d6522e967
 7065 Author: Alexander Volkov <a.volkov@rusbitech.ru>
 7066 Date:   Fri Feb 2 15:17:15 2018 +0300
 7067 
 7068     Xephyr: Call forgotten XShmDetach if can't mmap SHM segment
 7069     
 7070     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7071 
 7072 commit 6b26a7bda9efa93440734ede0382a3e9a6761365
 7073 Author: Alex Goins <agoins@nvidia.com>
 7074 Date:   Mon Jan 8 18:44:25 2018 -0800
 7075 
 7076     randr: Fix rotation check in ProcRRSetScreenSize()
 7077     
 7078     ProcRRSetScreenSize() does bounds checking to ensure that none of the CRTCs have
 7079     a viewport that extends beyond the new screen size. In doing so, it accounts for
 7080     if the CRTC is rotated 90 or 270 degrees, swapping width and height.
 7081     
 7082     However, it does so by testing if crtc->rotation is equal to RR_Rotate_90 or
 7083     RR_Rotate_270. crtc->rotation is a bit mask, and it includes reflection as well
 7084     as rotation. If a CRTC is reflected as well as rotated, it will incorrectly fail
 7085     this test, resulting in incorrect dimensions being used to verify the validity
 7086     of the new screen size. In some cases, this can cause valid uses of
 7087     ProcRRSetScreenSize() to fail with BadMatch.
 7088     
 7089     This patch fixes the issue by testing that the bits RR_Rotate_90 or
 7090     RR_Rotate_270 are set, rather than testing for equality.
 7091     
 7092     Signed-off-by: Alex Goins <agoins@nvidia.com>
 7093     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
 7094 
 7095 commit 90996f5909aab4bc9aa4011a6a6d0555a7aa3adf
 7096 Author: Alexander Volkov <a.volkov@rusbitech.ru>
 7097 Date:   Wed Jan 31 15:36:36 2018 +0300
 7098 
 7099     Xephyr: Prefer using MIT-SHM FD-passing when possible
 7100     
 7101     This makes the shared memory visible only for the Xephyr
 7102     and the X server to which it is connected.
 7103     
 7104     Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru>
 7105     Reviewed-by: Keith Packard <keithp@keithp.com>
 7106 
 7107 commit 8a220bd83c3e23de7e07d3976bfc1248c38558d4
 7108 Author: Alexander Volkov <a.volkov@rusbitech.ru>
 7109 Date:   Wed Jan 31 15:36:35 2018 +0300
 7110 
 7111     Xephyr: Extract functions to create/delete shared memory segments
 7112     
 7113     Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru>
 7114     Reviewed-by: Keith Packard <keithp@keithp.com>
 7115 
 7116 commit 510e7d0d869dcc008b1e11e21961f2c1c3cb9cd3
 7117 Author: Jeff Smith <whydoubt@gmail.com>
 7118 Date:   Tue Dec 26 22:10:52 2017 -0600
 7119 
 7120     os: Always return microseconds from GetTimeInMicros()
 7121     
 7122     When a monotonic clock is not available, GetTimeInMicros() returns the
 7123     time in nanoseconds.  Instead, return the time in microseconds, as the
 7124     name indicates.
 7125     
 7126     Signed-off-by: Jeff Smith <whydoubt@gmail.com>
 7127     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7128 
 7129 commit 94e7ca6a5667eeb13c078496a07d3e6cf1ec95cc
 7130 Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
 7131 Date:   Wed Jan 31 17:33:48 2018 +0100
 7132 
 7133     rrmonitor: allocate using the correct type
 7134     
 7135     Monitor outputs are of type RROutput, not RRCrtc.
 7136     
 7137     (Which are both XID, so this makes no difference in practice, other than
 7138     being technically correct.)
 7139     
 7140     Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
 7141     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7142 
 7143 commit ff410c56bfd6dcdf5d252ef0ba3f4c6fde91774b
 7144 Author: Jeff Smith <whydoubt@gmail.com>
 7145 Date:   Fri Jan 26 06:25:22 2018 -0600
 7146 
 7147     glamor: tidy up some gradient color formulas
 7148     
 7149     - Avoid some needlessly complex equations for calculating the color at a
 7150       point in a gradient field.
 7151     - Avoid calculating certain values multiple times.
 7152     - Use similar variable names across the two versions of the get_color
 7153       function where practical.
 7154     
 7155     Signed-off-by: Jeff Smith <whydoubt@gmail.com>
 7156     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7157 
 7158 commit 3bd17dff1ac5a4685a5da92a9982f621effee658
 7159 Author: Jeff Smith <whydoubt@gmail.com>
 7160 Date:   Fri Jan 26 06:25:21 2018 -0600
 7161 
 7162     glamor: remove unused variables in linear gradient shader
 7163     
 7164     Signed-off-by: Jeff Smith <whydoubt@gmail.com>
 7165     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7166 
 7167 commit 5815c7b5951fd46d69e5c40144b64e516c7afdbf
 7168 Author: Jeff Smith <whydoubt@gmail.com>
 7169 Date:   Fri Jan 26 06:25:20 2018 -0600
 7170 
 7171     glamor: fix no-reflect case for gradients
 7172     
 7173     When compositing a no-reflect gradient, 'before' the gradient is empty,
 7174     but 'after' the gradient is padded with the final color.  Both sides are
 7175     supposed to be empty.
 7176     
 7177     This is fixed by moving the virtual stops to match the first and last
 7178     client-supplied stops for no-reflect gradients, then causing everything
 7179     'before' the initial virtual stop and 'after' the final virtual stop to
 7180     emit rgba(0,0,0,0).  This does not impact gradients using the other
 7181     reflect modes.
 7182     
 7183     Signed-off-by: Jeff Smith <whydoubt@gmail.com>
 7184     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7185 
 7186 commit 3e377e238f7257fd01e56a4a25dfd77e033673e4
 7187 Author: Jeff Smith <whydoubt@gmail.com>
 7188 Date:   Fri Jan 26 06:25:19 2018 -0600
 7189 
 7190     glamor: fix repeat-reflect case in linear gradient shader
 7191     
 7192     If _pt_distance is negative, it causes the final distance to be negative
 7193     in the repeat-reflect case.  Moving the scaling by _pt_distance earlier
 7194     avoids this problem, and simplifies some equations as a bonus.
 7195     
 7196     Bugzilla: https://bugs.freedesktop.org/98508
 7197     Signed-off-by: Jeff Smith <whydoubt@gmail.com>
 7198     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7199 
 7200 commit 9b7b8720ebc8028b14796a66d0a21b002682a83c
 7201 Author: Jeff Smith <whydoubt@gmail.com>
 7202 Date:   Sat Jan 27 00:14:02 2018 -0600
 7203 
 7204     edid: use value returned from pruning duplicate modes
 7205     
 7206     xf86PruneDuplicateModes is passed a linked list of modes, and after
 7207     pruning the duplicate nodes, the new head of the list is returned.  If
 7208     the first element is removed, the head of the list will change and the
 7209     returned value needs to be assigned.
 7210     
 7211     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103722
 7212     Thanks: John Lumby <johnlumby@hotmail.com>
 7213     Signed-off-by: Jeff Smith <whydoubt@gmail.com>
 7214     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7215 
 7216 commit dd00e5466a0e4ea313d1860824da4123692827ed
 7217 Author: Adam Jackson <ajax@redhat.com>
 7218 Date:   Wed Jan 24 15:40:22 2018 -0500
 7219 
 7220     xfree86: Remove broken RANDR disabling logic (v4)
 7221     
 7222     The only way to get at xf86Info.disableRandR from configuration is
 7223     Option "RANDR" "foo" in ServerFlags, which probably nobody is using
 7224     seeing as it's not documented. The other way it could be set is if a
 7225     screen supports RANDR 1.2, in which case we set it to avoid trying to
 7226     use the RANDR 1.1 compat code. If the second screen is not 1.2-aware
 7227     then this would mean we don't do RANDR setup on the second screen at
 7228     all, which would almost certainly crash the first time you try to do
 7229     RANDR operations on the second screen.
 7230     
 7231     Fix that all by deletion, and just check whether the screen already has
 7232     RANDR initialized before installing the stub support. If you want to
 7233     disable RANDR, use the Extensions section of xorg.conf instead.
 7234     
 7235     v2: Also remove a now entirely pointless log message, telling you to
 7236     ignore a line we will no longer print.
 7237     
 7238     v3: Explain the fallback path in InitOutput. (Keith Packard)
 7239     
 7240     v4: Check whether the RANDR private key is initialized before trying to
 7241     use it to look up the screen private.
 7242     
 7243     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7244     Reviewed-by: Keith Packard <keithp@keithp.com>
 7245 
 7246 commit 9a416a478c1a29d1aa12c394acf21fb1b4a3aca9
 7247 Author: Hawking Zhang <Hawking.Zhang@amd.com>
 7248 Date:   Thu Jan 25 18:03:57 2018 +0100
 7249 
 7250     glamor: Add 30bit RGB color format support
 7251     
 7252     Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
 7253     
 7254     [ Michel Dänzer: Adapt to glamor changes since 1.19 ]
 7255     
 7256     Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
 7257     Acked-by: Alex Deucher <alexander.deucher@amd.com>
 7258 
 7259 commit fc8b7d05e74a6351df56ad8b17216aeb0dcc016b
 7260 Author: Olivier Fourdan <ofourdan@redhat.com>
 7261 Date:   Thu Jan 25 13:43:09 2018 +0100
 7262 
 7263     xwayland: place a manual redirect on windows
 7264     
 7265     Place a manual redirect on windows on xwl_realize_window() and remove
 7266     it on xwl_unrealize_window() to avoid the X11 window manager removing
 7267     its redirect before Xwayland has unrealized the window (e.g. if the X11
 7268     window manager has terminated unexpectedly)
 7269     
 7270     Suggested by Daniel Stone <daniel@fooishbar.org>
 7271     
 7272     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 7273     Reviewed-by: Daniel Stone <daniel@fooishbar.org>
 7274 
 7275 commit 3362422e8413dd9f231cfac50ce0a0862525b1bf
 7276 Author: Olivier Fourdan <ofourdan@redhat.com>
 7277 Date:   Wed Jan 24 17:45:37 2018 +0100
 7278 
 7279     xwayland: remove dirty window unconditionally on unrealize
 7280     
 7281     This is a rare occurrence of a crash in Xwayland for which I don't have
 7282     the reproducing steps, just a core file.
 7283     
 7284     The backtrace looks as follow:
 7285     
 7286       #0  raise () from /usr/lib64/libc.so.6
 7287       #1  abort () from /usr/lib64/libc.so.6
 7288       #2  OsAbort () at utils.c:1361
 7289       #3  AbortServer () at log.c:877
 7290       #4  FatalError () at log.c:1015
 7291       #5  OsSigHandler () at osinit.c:154
 7292       #6  <signal handler called>
 7293       #7  xwl_glamor_pixmap_get_wl_buffer () at xwayland-glamor.c:162
 7294       #8  xwl_screen_post_damage () at xwayland.c:514
 7295       #9  block_handler () at xwayland.c:665
 7296       #10 BlockHandler () at dixutils.c:388
 7297       #11 WaitForSomething () at WaitFor.c:219
 7298       #12 Dispatch () at dispatch.c:422
 7299       #13 dix_main () at main.c:287
 7300     
 7301     The crash is caused by dereferencing “xwl_pixmap->buffer” in
 7302     xwl_glamor_pixmap_get_wl_buffer() because “xwl_pixmap” is NULL.
 7303     
 7304     Reason for this is because the corresponding pixmap is from the root
 7305     window and xwayland is rootless by default.
 7306     
 7307     This can happen if the window was mapped, redirected, damaged and
 7308     unredirected immediately, before the damage is processed by Xwayland.
 7309     
 7310     Make sure to remove the dirty window from the damage list on unrealize
 7311     to prevent this from happening.
 7312     
 7313     Credit goes to Adam Jackson <ajax@nwnk.net> and Daniel Stone
 7314     <daniel@fooishbar.org> for finding the root cause the issue.
 7315     
 7316     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 7317     Reviewed-by: Daniel Stone <daniels@collabora.com>
 7318 
 7319 commit 29a5423abd4bc6cb7bb800924a27b5d90951e408
 7320 Author: Jason Gerecke <killertofu@gmail.com>
 7321 Date:   Tue Nov 7 11:09:44 2017 -0800
 7322 
 7323     xwayland: Support for BTN_STYLUS3 kernel events
 7324     
 7325     BTN_STYLUS3 has been introduced by the Linux 4.15 kernel to report the
 7326     status of the third button present on Wacom's new "Pro Pen 3D" stylus.
 7327     Treat this button like xf86-input-wacom and send a button 8 event
 7328     ("navigate back") when received from Wayland.
 7329     
 7330     Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
 7331     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 7332     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 7333 
 7334 commit 71348e99a8e6a95542e483b93839168ca8f51f81
 7335 Author: Michal Srb <msrb@suse.com>
 7336 Date:   Mon Nov 27 09:59:01 2017 +0100
 7337 
 7338     os/inputthread: Force unlock when stopping thread.
 7339     
 7340     The inputthread is kept locked all the time while X server's VT is not active.
 7341     If the X server is terminated while not active, it will be stuck forever in
 7342     InputThreadFini waiting for the thread to join, but it wouldn't because it is
 7343     locked.
 7344     
 7345     Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=103782
 7346     Signed-off-by: Michal Srb <msrb@suse.com>
 7347     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7348 
 7349 commit d5c23b29487d5ff440abf5ed0beb22c00f21e387
 7350 Author: Peter Harris <pharris@opentext.com>
 7351 Date:   Thu Dec 14 12:21:19 2017 -0500
 7352 
 7353     composite: Propagate damagedDescendants when reparented
 7354     
 7355     If a window that is fully covered by an automatic-redirected descendant
 7356     (even implicitly, eg. via BackingStores) is reparented, the automatic
 7357     updates could be broken if the new parent is not marked as having
 7358     damaged descendants.
 7359     
 7360     Fix this issue by propagating the damagedDescendants flag whenever a
 7361     window is reparented.
 7362     
 7363     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7364     Signed-off-by: Peter Harris <pharris@opentext.com>
 7365 
 7366 commit ac138f9b31b0fba00742edbc3326afe66e28099a
 7367 Author: Rinat Ibragimov <ibragimovrinat@mail.ru>
 7368 Date:   Tue Oct 24 01:43:43 2017 +0300
 7369 
 7370     modesetting: setup colormap
 7371     
 7372     Signed-off-by: Rinat Ibragimov <ibragimovrinat@mail.ru>
 7373     Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
 7374 
 7375 commit 5cb330cd5d887b20351604ac080e8b71a4e28be7
 7376 Author: Adam Jackson <ajax@redhat.com>
 7377 Date:   Wed Jan 24 15:24:00 2018 -0500
 7378 
 7379     Revert "xfree86: Remove broken RANDR disabling logic (v3)"
 7380     
 7381     Tsk. This broke vesa for me, the rrGetScrPriv in InitOutput will crash
 7382     if randr's screen private key hasn't been initialized yet. That seems
 7383     dumb, but let's not leave it broken.
 7384     
 7385     This reverts commit c08d7c1cdde6a844338ed4c3645b00bf25843a31.
 7386 
 7387 commit c08d7c1cdde6a844338ed4c3645b00bf25843a31
 7388 Author: Adam Jackson <ajax@redhat.com>
 7389 Date:   Tue Jan 23 12:10:52 2018 -0500
 7390 
 7391     xfree86: Remove broken RANDR disabling logic (v3)
 7392     
 7393     The only way to get at xf86Info.disableRandR from configuration is
 7394     Option "RANDR" "foo" in ServerFlags, which probably nobody is using
 7395     seeing as it's not documented. The other way it could be set is if a
 7396     screen supports RANDR 1.2, in which case we set it to avoid trying to
 7397     use the RANDR 1.1 compat code. If the second screen is not 1.2-aware
 7398     then this would mean we don't do RANDR setup on the second screen at
 7399     all, which would almost certainly crash the first time you try to do
 7400     RANDR operations on the second screen.
 7401     
 7402     Fix that all by deletion, and just check whether the screen already has
 7403     RANDR initialized before installing the stub support. If you want to
 7404     disable RANDR, use the Extensions section of xorg.conf instead.
 7405     
 7406     v2: Also remove a now entirely pointless log message, telling you to
 7407     ignore a line we will no longer print.
 7408     
 7409     v3: Explain the fallback path in InitOutput. (Keith Packard)
 7410     
 7411     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7412     Reviewed-by: Keith Packard <keithp@keithp.com>
 7413 
 7414 commit da8de2a7f6ab52ef52039b0dc9978260232a34a6
 7415 Author: Olivier Fourdan <ofourdan@redhat.com>
 7416 Date:   Thu Sep 7 17:43:16 2017 +0200
 7417 
 7418     xwayland: Add optional xdg-output support
 7419     
 7420     The xdg-output protocol aims at describing outputs in way which is
 7421     more in line with the concept of an output on desktop oriented systems.
 7422     
 7423     For now it just features the position and logical size which describe
 7424     the output position and size in the global compositor space.
 7425     
 7426     This is however much useful for Xwayland to advertise the output size
 7427     and position to X11 clients which need this to configure their surfaces
 7428     in the global compositor space as the compositor may apply a different
 7429     scale from what is advertised by the output scaling property (to achieve
 7430     fractional scaling, for example).
 7431     
 7432     This was added in wayland-protocols 1.10.
 7433     
 7434     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7435     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 7436 
 7437 commit 75408f53d4e203e462b2f13ea4b06264f0e59ad2
 7438 Author: Michel Dänzer <michel.daenzer@amd.com>
 7439 Date:   Wed Jan 24 12:28:38 2018 +0100
 7440 
 7441     xf86XvMCScreenInit: Clear pScreenPriv->dixinfo when freeing pAdapt
 7442     
 7443     Fixes double-free later in xf86XvMCCloseScreen, which would generally
 7444     cause fireworks.
 7445     
 7446     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7447     Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
 7448 
 7449 commit 76732f498f1e73fb081841a04faf068660f3d5c7
 7450 Author: Michel Dänzer <michel.daenzer@amd.com>
 7451 Date:   Wed Jan 24 11:40:50 2018 +0100
 7452 
 7453     Revert "present: Only send PresentCompleteNotify events to the presenting client"
 7454     
 7455     This reverts commit 5c00e693631475679c1c2504e03177652ec7de28.
 7456     
 7457     It broke the Gallium nine state tracker, which makes PresentPixmap
 7458     requests on one display connection and processes the corresponding
 7459     events on another one.
 7460     
 7461     The issue that motivated this change is prevented on the client side by
 7462     https://cgit.freedesktop.org/mesa/mesa/commit/?id=7b0e8264dd21ae05521d08d41fecd84139401fef
 7463     
 7464     Bugzilla: https://bugs.freedesktop.org/104678
 7465 
 7466 commit f704620e5db8305c54c6b6981657d801dbf6849b
 7467 Author: Adam Jackson <ajax@redhat.com>
 7468 Date:   Wed Jan 10 13:05:43 2018 -0500
 7469 
 7470     glx: Move provider setup interface to glx_extinit.h
 7471     
 7472     Keeps us from needing to add glx/ to the include path everywhere, since
 7473     we can't add it to the dix include path because the header file names
 7474     conflict with glxproxy.
 7475     
 7476     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7477     Reviewed-by: Eric Anholt <eric@anholt.net>
 7478 
 7479 commit c2b2f06aa03fe738301ebaa82f220d9cfed5ab1a
 7480 Author: Adam Jackson <ajax@redhat.com>
 7481 Date:   Wed Jan 10 13:05:42 2018 -0500
 7482 
 7483     miinitext: General cleanup (v2)
 7484     
 7485     This really just wants to be the list of disable booleans and
 7486     initialization functions, and nothing else. Stop including the protocol
 7487     headers from extinit.h, remove a stray mention of xgl, and move an
 7488     XInput declaration to a better place.
 7489     
 7490     v2: A bunch of drivers assume they'll get the DPMS tokens implicitly,
 7491     so add it to globals.h.
 7492     
 7493     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7494     Reviewed-by: Eric Anholt <eric@anholt.net>
 7495 
 7496 commit 4d5aab66c052795c7f0381a3dfc7293c9a41e441
 7497 Author: Keith Packard <keithp@keithp.com>
 7498 Date:   Thu Dec 21 18:54:39 2017 -0800
 7499 
 7500     xfree86: Disable cursor whenever turning off CRTC during modeset
 7501     
 7502     This makes sure the CRTC's cursor is hidden before we hand the CRTC
 7503     over to some other application.
 7504     
 7505     Signed-off-by: Keith Packard <keithp@keithp.com>
 7506     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
 7507     Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
 7508 
 7509 commit 29f79bedf2c80241ba4b482db6ead08a5709a982
 7510 Author: Keith Packard <keithp@keithp.com>
 7511 Date:   Thu Dec 21 18:54:37 2017 -0800
 7512 
 7513     randr: Declare incoming property values const
 7514     
 7515     RRChangeOutputProperty and RRConfigureOutputProperty should not modify
 7516     their parameters, and callers may want to pass pointers to fixed data,
 7517     so declare the value pointers as const in both cases.
 7518     
 7519     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7520     Signed-off-by: Keith Packard <keithp@keithp.com>
 7521 
 7522 commit a12485ed846b852ca14d17d1e58c8b0f2399e577
 7523 Author: Keith Packard <keithp@keithp.com>
 7524 Date:   Thu Dec 21 18:54:34 2017 -0800
 7525 
 7526     xf86-video-modesetting: Update property values at detect and uevent time
 7527     
 7528     We were updating the link-status property when a uevent came in, but
 7529     we also want to update the non-desktop property, and potentially
 7530     others as well. We also want to check at detect time in case we don't
 7531     get a hotplug event.
 7532     
 7533     This patch updates every property provided by the kernel, sending
 7534     changes to DIX so it can track things as well.
 7535     
 7536     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7537     Signed-off-by: Keith Packard <keithp@keithp.com>
 7538 
 7539 commit 44d5f2eb8a2f92571698adec39ac569b71da5a1b
 7540 Author: Keith Packard <keithp@keithp.com>
 7541 Date:   Thu Dec 21 18:54:33 2017 -0800
 7542 
 7543     xf86-video-modesetting: Support new vblank kernel API [v2]
 7544     
 7545     drmCrtcGetSequence returns the current vblank sequence and time.
 7546     
 7547     drmCrtcQueueSequence queues an event for delivery at a specified
 7548     vblank sequence.
 7549     
 7550     Use these (when available) in preference to drmWaitVBlank.
 7551     
 7552     v2: Remove FIRST_PIXEL_OUT_FLAG. This has been removed from the kernel
 7553         API.
 7554     
 7555     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7556     Signed-off-by: Keith Packard <keithp@keithp.com>
 7557 
 7558 commit 627dfc2f836a3a1fc6afbd3f2335f88f5ca55ffd
 7559 Author: Adam Jackson <ajax@redhat.com>
 7560 Date:   Mon Jan 22 15:43:05 2018 -0500
 7561 
 7562     automake: Fix 'make distcheck'
 7563     
 7564     Add some missing meson.builds to the distball, and update the meson
 7565     build test to work when the distcheck srcdir != builddir. The test build
 7566     directory will be $(srcdir)/_distcheck_build so srcdir will need to be
 7567     writable; this shouldn't be too much to ask I hope.
 7568     
 7569     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7570 
 7571 commit 2d29daf4c69385513a322002570ec2c41cfc838f
 7572 Author: Jon Turney <jon.turney@dronecode.org.uk>
 7573 Date:   Thu Jan 18 16:18:12 2018 +0000
 7574 
 7575     meson.build: Fix hw/xwin build when dependencies are installed in a non-default location
 7576     
 7577     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 7578     Reviewed-by: Eric Anholt <eric@anholt.net>
 7579 
 7580 commit 514d2c243e01b114de304ea72226bbf8772b1b11
 7581 Author: Jon Turney <jon.turney@dronecode.org.uk>
 7582 Date:   Wed Jan 17 13:43:47 2018 +0000
 7583 
 7584     meson: Use and prefer tirpc for Secure RPC authentication
 7585     
 7586     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7587 
 7588 commit f72587ecc7e1dedfb20a999a0e600b83c06a1b29
 7589 Author: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
 7590 Date:   Wed Dec 20 13:18:45 2017 +0200
 7591 
 7592     xwayland: reduce over-damage
 7593     
 7594     If an X11 app draws a little here, some there, and a tiny bit in the
 7595     opposite corner, using RegionExtents for the damage to be sent to the
 7596     Wayland compositor will cause massive over-damaging.
 7597     
 7598     However, we cannot blindly send an arbitrary number of damage
 7599     rectangles, because there is a risk of overflowing the Wayland
 7600     connection. If that happens, it triggers an abort in libwayland-client.
 7601     
 7602     Try to be more accurate with the damage by sending up to 256 rectangles
 7603     per window, and fall back to extents otherwise. The number is completely
 7604     arbitrary.
 7605     
 7606     Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
 7607     Reviewed-by: Daniel Stone <daniels@collabora.com>
 7608 
 7609 commit a5e9bcad7ad0887f804905b482894b85751519fb
 7610 Author: Martin Wilck <mwilck@suse.com>
 7611 Date:   Tue Jan 9 20:33:09 2018 +0100
 7612 
 7613     xfree86: add default modes for 16:9 and 16:10
 7614     
 7615     Improve the user experience for users with wide screens by adding standard
 7616     16:9 and 16:10 modes to extramodes, as suggested previously
 7617     (https://lists.x.org/archives/xorg-devel/2016-February/048866.html).
 7618     Tested successfully on my laptop. Feedback welcome.
 7619     
 7620     See also https://bugs.freedesktop.org/show_bug.cgi?id=37858.
 7621     
 7622     Signed-off-by: Martin Wilck <mwilck@suse.com>
 7623     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7624 
 7625 commit 528cf6fcee1839cb829652a49c1b1bf45d6a37fb
 7626 Author: David Weinehall <david.weinehall@linux.intel.com>
 7627 Date:   Thu Jan 18 15:12:46 2018 +0200
 7628 
 7629     sync: Fix diffgreater comparison
 7630     
 7631     xsync: Fix diffgreater comparison
 7632     
 7633     While transitioning from CARD64 to int64,
 7634     the GreaterThan call was mistakenly transformed into ">=".
 7635     Part of this was fixed already in
 7636     commit 8060196a3e80a3c0ad2c0abbe459416821cd366c
 7637     
 7638     This patch fixes the remaining issue.
 7639     
 7640     Signed-off-by: David Weinehall <david.weinehall@linux.intel.com>
 7641     Reviewed-by: Keith Packard <keithp@keithp.com>
 7642 
 7643 commit 32b42627217917337553121191e9bc3b423b8d99
 7644 Author: Keith Packard <keithp@keithp.com>
 7645 Date:   Tue Jan 16 11:44:37 2018 -0800
 7646 
 7647     modesetting: Use seq instead of msc in ms_queue_vblank failure path
 7648     
 7649     When the call to queue a vblank event fails, we need to clean up by
 7650     removing the user-space queue entry. That is indexed by the local
 7651     sequence number, not by the kernel vblank count. The call in this
 7652     case was just passing the wrong value.
 7653     
 7654     Signed-off-by: Keith Packard <keithp@keithp.com>
 7655     Reviewed-by: Eric Anholt <eric@anholt.net>
 7656 
 7657 commit 15d91df47424127b9e8d0d73692e2196c79dd3fe
 7658 Author: Adam Jackson <ajax@redhat.com>
 7659 Date:   Wed Jan 10 12:07:41 2018 -0500
 7660 
 7661     x86emu: Teach the debug code about varargs
 7662     
 7663     With -Wformat-nonliteral and a debug build you'd get yelled at here:
 7664     
 7665     ../hw/xfree86/x86emu/x86emu/debug.h:188:9: warning: format not a string literal, argument types not checked [-Wformat-nonliteral]
 7666     
 7667     To fix this, rewrite the printf code to actually use varargs and the
 7668     appropriate format attribute. All callers of DECODE_PRINTF() pass a
 7669     string with no % specifiers, so we pass that as the argument to
 7670     printf("%s"). For DECODE_PRINTF2() we just pass the args through.
 7671     
 7672     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7673     Reviewed-by: Eric Anholt <eric@anholt.net>
 7674 
 7675 commit 1274015186a8457c38c3b5dcc9965c62f1d2a7a6
 7676 Author: Adam Jackson <ajax@redhat.com>
 7677 Date:   Mon Jan 8 15:50:29 2018 -0500
 7678 
 7679     build: Remove <*dbm.h> checks
 7680     
 7681     Formerly used by the rgb database code, which hasn't been a thing in
 7682     over a decade.
 7683     
 7684     Reviewed-by: Eric Anholt <eric@anholt.net>
 7685     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7686 
 7687 commit c3fbe2bbff19c67179f52b8dcd27b576a958fde7
 7688 Author: Adam Jackson <ajax@redhat.com>
 7689 Date:   Mon Jan 8 15:50:28 2018 -0500
 7690 
 7691     meson: Enable SUN-DES-1 auth code
 7692     
 7693     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7694     Reviewed-by: Eric Anholt <eric@anholt.net>
 7695 
 7696 commit 4d82a150b2ee29c1025408cdb9ece255452a81bd
 7697 Author: Adam Jackson <ajax@redhat.com>
 7698 Date:   Tue Jan 9 11:48:10 2018 -0500
 7699 
 7700     animcur: Handle allocation failure for the animation timer
 7701     
 7702     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7703     Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
 7704     Tested-by: Aaron Plattner <aplattner@nvidia.com>
 7705 
 7706 commit de60245e05c0d2528d4ff42557a044387e53315c
 7707 Author: Adam Jackson <ajax@redhat.com>
 7708 Date:   Tue Jan 9 10:54:05 2018 -0500
 7709 
 7710     animcur: Fix transitions between animated cursors
 7711     
 7712     We weren't cancelling the old timer when changing cursors, making things
 7713     go all crashy. Logically we could always cancel the timer first, but
 7714     then we'd have to call TimerSet to re-arm ourselves, and GetTimeInMillis
 7715     is potentially expensive.
 7716     
 7717     Reported-by: https://devtalk.nvidia.com/default/topic/1028172/linux/titan-v-ubuntu-16-04lts-and-387-34-driver-crashes-badly/post/5230967/#5230967
 7718     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7719     Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
 7720     Tested-by: Aaron Plattner <aplattner@nvidia.com>
 7721 
 7722 commit a09fbe6c82efc674fc3790c7ffad7df70866a7df
 7723 Author: Adam Jackson <ajax@redhat.com>
 7724 Date:   Wed Dec 13 11:44:38 2017 -0500
 7725 
 7726     glx: Stop printing messages about what GLX extensions we enable
 7727     
 7728     glxinfo already exists, use it.
 7729     
 7730     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7731     Reviewed-by: Eric Anholt <eric@anholt.net>
 7732     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 7733 
 7734 commit 4ed8d5c9463cbef0693d98eb9faf7f9c2222c383
 7735 Author: Adam Jackson <ajax@redhat.com>
 7736 Date:   Tue Nov 14 15:33:54 2017 -0500
 7737 
 7738     ddc: Port some paranoia from drm_edid.c
 7739     
 7740     Avoid adding a "standard" mode timing if we've already got a matching
 7741     detailed timing. To help with that, parse CEA blocks for detailed
 7742     timings before doing standard or established timings.
 7743     
 7744     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7745 
 7746 commit 652913cd9474946bcb29271602bacfd98f46ad0b
 7747 Author: Adam Jackson <ajax@redhat.com>
 7748 Date:   Wed Dec 13 14:53:56 2017 -0500
 7749 
 7750     os: Fix a type error in the IPv6 XDMCP code
 7751     
 7752     Building with strict-aliasing rightly chirps here:
 7753     
 7754     ../os/xdmcp.c: In function ‘XdmcpRegisterConnection’:
 7755     ../os/xdmcp.c:489:31: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
 7756                          &((struct sockaddr_in6 *) &address)->sin6_addr.s6_addr[12];
 7757                                    ^~~~~~~~~~~~
 7758     
 7759     We have "const char *address", so &address here is a char ** (i.e., it
 7760     points to the slot on the stack containing the pointer to the character
 7761     array passed in as an argument). Casting that to a struct sockaddr_in6 *
 7762     is wrong, because it means that area of the stack will be reinterpreted
 7763     as a struct sockaddr_in6.
 7764     
 7765     Instead, cast address, not &address.
 7766     
 7767     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7768 
 7769 commit da4ffb2f6a0b5a039ae1362ae71e9b47441f90d2
 7770 Author: Jon Turney <jon.turney@dronecode.org.uk>
 7771 Date:   Fri Dec 22 18:44:01 2017 +0000
 7772 
 7773     meson: Correct the option for disabled int10 from 'disabled' to 'false'
 7774     
 7775     Fix meson_option.txt to align with the check of the int10 option against
 7776     'disabled', not 'false' in hw/xfree/meson.build, to see if it shouldn't be
 7777     built at all.
 7778     
 7779     This keeps everything consistent that 'false' always turns things off.
 7780     
 7781     Not noticed before as options weren't validated against choices until meson
 7782     0.43
 7783     
 7784     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7785     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 7786 
 7787 commit c601c8faf54ff9e3bcbc653421828d71042deef7
 7788 Author: Helmut Grohne <helmut@subdivi.de>
 7789 Date:   Thu Dec 21 11:48:15 2017 +0100
 7790 
 7791     build: guess availability of monotonic clock for cross compilation
 7792     
 7793     When cross compiling, the value of MONOTONIC_CLOCK would be "cross
 7794     compiling", because AC_RUN_IFELSE doesn't work. However when enabling
 7795     wayland, a monotonic clock is required and configure aborts.
 7796     
 7797     We change detection of CLOCK_MONOTONIC to degrade it gracefully from a
 7798     run check to a declaration check in case of cross compilation based on
 7799     the assumption that most systems will have a monotonic clock and those
 7800     that don't won't be able to run Xwayland anyway. The trade-off
 7801     essentially is either "always fail cross compilation" or "produce an
 7802     unusable Xwayland for unusual platform" and this commit switches to the
 7803     latter.
 7804     
 7805     Signed-off-by: Helmut Grohne <helmut@subdivi.de>
 7806     Bug-Debian: https://bugs.debian.org/882531
 7807     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7808 
 7809 commit a309323328d9d6e0bf5d9ea1d75920e53b9beef3
 7810 Author: Peter Hutterer <peter.hutterer@who-t.net>
 7811 Date:   Fri Jan 5 11:58:42 2018 +1000
 7812 
 7813     config: fix NULL value detection for ID_INPUT being unset
 7814     
 7815     Erroneous condition caused us to keep going with all devices that didn't have
 7816     ID_INPUT set.
 7817     
 7818     Fixes: 5aad81445c8c3d6
 7819     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104382
 7820     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7821     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 7822 
 7823 commit dbfbe58b94ec07a45fd6170f96bffec55051724e
 7824 Author: Corentin Rossignon <corentin.rossignon@gmail.com>
 7825 Date:   Thu Jan 4 08:34:01 2018 +0100
 7826 
 7827     glamor: Specify GLSL version for xv shader
 7828     
 7829     SAMPLE is a GLSL keyword in newer OpenGL version.
 7830     This fix issue with gnome-shell and playing video using xv
 7831     
 7832     Signed-off-by: Corentin Rossignon <corentin.rossignon@gmail.com>
 7833     Bugzilla: https://bugs.freedesktop.org/104405
 7834     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7835 
 7836 commit ab54bc295cd05281e55bd4d9c37216c0a929fc83
 7837 Author: Adam Jackson <ajax@redhat.com>
 7838 Date:   Thu Oct 26 15:33:14 2017 -0400
 7839 
 7840     animcur: Stop tracking the last display time in the SpriteInfoRec
 7841     
 7842     Reviewed-by: Robert Morell <rmorell@nvidia.com>
 7843     Tested-by: Robert Morell <rmorell@nvidia.com>
 7844     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7845 
 7846 commit 094a63d56fbfb9e23210cc9ac538fb198af37cee
 7847 Author: Adam Jackson <ajax@redhat.com>
 7848 Date:   Thu Oct 26 15:24:39 2017 -0400
 7849 
 7850     animcur: Run the timer from the device, not the screen
 7851     
 7852     This is very slightly more efficient since the callback now doesn't need
 7853     to walk every input device, instead we know exactly which device's
 7854     cursor is being updated. AnimCurTimerNotify() gets outdented nicely as a
 7855     result. A more important side effect is that we can stop using the
 7856     TimerAbsolute mode and just pass in the relative delay.
 7857     
 7858     In AnimCurSetCursorPosition, we no longer need to rearm the timer with
 7859     the new screen; it is enough to update the device's state. In
 7860     AnimCurDisplayCursor we need to notice when we're switching from
 7861     animated cursor to regular and cancel the existing timer.
 7862     
 7863     Reviewed-by: Robert Morell <rmorell@nvidia.com>
 7864     Tested-by: Robert Morell <rmorell@nvidia.com>
 7865     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7866 
 7867 commit cc3241a712684f8c7147f5688e9ee3ecb5a93b87
 7868 Author: Adam Jackson <ajax@redhat.com>
 7869 Date:   Thu Oct 26 13:53:06 2017 -0400
 7870 
 7871     animcur: Return the next interval directly from the timer callback
 7872     
 7873     If the return value is non-zero here, DoTimer() will automatically rearm
 7874     the timer for the new (relative) delay. 'soonest' is in absolute time,
 7875     so subtract off 'now' and return that.
 7876     
 7877     Reviewed-by: Robert Morell <rmorell@nvidia.com>
 7878     Tested-by: Robert Morell <rmorell@nvidia.com>
 7879     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7880 
 7881 commit 3abbdb7318018584a27220737bd92081ce8ee67c
 7882 Author: Adam Jackson <ajax@redhat.com>
 7883 Date:   Thu Oct 26 13:40:57 2017 -0400
 7884 
 7885     animcur: Use fixed-size screen private
 7886     
 7887     Reviewed-by: Robert Morell <rmorell@nvidia.com>
 7888     Tested-by: Robert Morell <rmorell@nvidia.com>
 7889     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7890 
 7891 commit f615cb62d47cb24ea31718e8226df53ce6651c91
 7892 Author: Lukáš Krejčí <lskrejci@gmail.com>
 7893 Date:   Sat Dec 30 23:46:45 2017 +0100
 7894 
 7895     Xorg.wrap: Ensure correct ordering of post-install hook
 7896     
 7897     The install rule of Xorg.wrap is currently a dependency of the
 7898     install-data target instead of the install-exec target. The build also
 7899     uses install-exec-hook to change the ownership and set the SUID bit on
 7900     the Xorg.wrap binary. The problem is that install-exec-hook is only
 7901     ordered respective to the install-exec target, the rules of install-data
 7902     may or may not have been executed.
 7903     
 7904     If install-exec-hook runs before the Xorg.wrap binary is in place,
 7905     a message similar to the following will be present in the build log:
 7906     
 7907     chown: cannot access '/pkgdir/usr/lib/xorg-server/Xorg.wrap': No such file or directory
 7908     make[6]: [Makefile:1151: install-exec-hook] Error 1 (ignored)
 7909     
 7910     All that needs to be done is to change the name of the program variable
 7911     to contain 'exec' for the install rule to depend on the install-exec
 7912     target.
 7913     
 7914     Excerpt from the Automake manual, chapter 12.2 The Two Parts of Install:
 7915     "Any variable using a user-defined directory prefix with ‘exec’ in the
 7916     name (e.g., myexecbin_PROGRAMS) is installed by install-exec. All other
 7917     user-defined prefixes are installed by install-data."
 7918     
 7919     https://bugs.freedesktop.org/show_bug.cgi?id=104419
 7920     
 7921     Signed-off-by: Lukáš Krejčí <lskrejci@gmail.com>
 7922     Acked-by: Hans de Goede <hdegoede@redhat.com>
 7923     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 7924     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 7925 
 7926 commit 170c95978530f6373bdf4488116902b273f3abf4
 7927 Author: Olivier Fourdan <ofourdan@redhat.com>
 7928 Date:   Fri Dec 15 16:43:47 2017 +0100
 7929 
 7930     xwayland: avoid race condition on new keymap
 7931     
 7932     When the Wayland compositor notifies of a new keymap, for the first X11
 7933     client using the keyboard, the last slave keyboard used might still not
 7934     be set (i.e. “lastSlave” is still NULL).
 7935     
 7936     As a result, the new keymap is not applied, and the first X11 window
 7937     will have the wrong keymap set initially.
 7938     
 7939     Apply the new keymap to the master keyboard as long as there's one.
 7940     
 7941     Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=791383
 7942     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 7943     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 7944     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 7945 
 7946 commit c72049530503ebde493cfcd22156105557ea18d3
 7947 Author: Konstantin Kharlamov <Hi-Angel@yandex.ru>
 7948 Date:   Sun Dec 17 23:23:02 2017 +0300
 7949 
 7950     modesetting: simplify bailing on calloc fail
 7951     
 7952     The "done" label restores crtc-> {x,y,rotation,mode}, frees output_id.
 7953     Doing the calloc() before writing to those values frees us from
 7954     necessity to restore them if calloc fails, and allows to merge
 7955     "if (mode)" block.
 7956     
 7957     Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
 7958     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 7959 
 7960 commit c2954b16c8730c7ed8441fd8dba25900f3aed265
 7961 Author: Tapani Pälli <tapani.palli@intel.com>
 7962 Date:   Tue Nov 28 09:23:29 2017 +0200
 7963 
 7964     glx: do not pick sRGB config for 32-bit RGBA visual
 7965     
 7966     This fixes blending issues seen with kwin and gnome-shell when
 7967     32bit visual has sRGB capability set.
 7968     
 7969     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7970     Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
 7971     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103699
 7972     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103646
 7973     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103655
 7974 
 7975 commit cf7517675d988c2d1ff967d6d162a17acbdad466
 7976 Author: Keith Packard <keithp@keithp.com>
 7977 Date:   Wed Aug 2 21:34:52 2017 -0700
 7978 
 7979     xfree86: Hold input_lock across SPRITE functions in VGA arbiter
 7980     
 7981     Avoid scrambling the sprite functions wrapper.
 7982     
 7983     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101995
 7984     Signed-off-by: Keith Packard <keithp@keithp.com>
 7985     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7986 
 7987 commit 3265d0c81f7a501258fa91e49fcc137714b4af5e
 7988 Author: Jon Turney <jon.turney@dronecode.org.uk>
 7989 Date:   Tue Oct 10 13:43:40 2017 +0100
 7990 
 7991     meson: Add dependency on generated code fragments in hw/xwin/glx/
 7992     
 7993     Somehow I'd managed to write this with this dependency missing, so this only
 7994     works correctly when the generated files already exist and the correct
 7995     automatic dependencies generated, but fails on a clean build.
 7996     
 7997     Including generated files with a .c extension into the sources for a target
 7998     causes meson to want to compile them (and it seems to be hard to say "make
 7999     the directory containing this generated file available to include").
 8000     
 8001     So, change the extension of included generated C fragments to .ic
 8002     
 8003     Update the autotools build to align.
 8004     
 8005     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 8006 
 8007 commit edda951fa5145a50915611ee0e9e459074117700
 8008 Author: Peter Harris <pharris@opentext.com>
 8009 Date:   Thu Oct 12 16:48:37 2017 -0400
 8010 
 8011     os: Add epoll-like port implementation for Solaris
 8012     
 8013     x11perf -noop with 200 xlogos connected is slightly faster with ports:
 8014     
 8015       before           after         Operation
 8016     ----------   -----------------   --------------------
 8017     18400000.0   19200000.0 (1.04)   X protocol NoOperation
 8018     
 8019     Acked-by: Keith Packard <keithp@keithp.com>
 8020     Signed-off-by: Peter Harris <pharris@opentext.com>
 8021 
 8022 commit 83c04ee6eae1edc80528203fb515425108171cd8
 8023 Author: Peter Harris <pharris@opentext.com>
 8024 Date:   Thu Oct 12 16:48:36 2017 -0400
 8025 
 8026     os: Add epoll-like pollset implementation for AIX
 8027     
 8028     AIX's poll only allows FD_SETSIZE entries in the fd list, which is
 8029     insufficient for expanded MaxClients.
 8030     
 8031     As a bonus, x11perf -noop with ~250 xlogos connected is slightly faster
 8032     with pollset:
 8033     
 8034      before          after         Operation
 8035     ---------   ----------------   --------------------
 8036     5750000.0   5990000.0 (1.04)   X protocol NoOperation
 8037     
 8038     Signed-off-by: Peter Harris <pharris@opentext.com>
 8039     Acked-by: Keith Packard <keithp@keithp.com>
 8040 
 8041 commit bed28300999a07514d741abe5c748adf234e18a6
 8042 Author: Adam Jackson <ajax@redhat.com>
 8043 Date:   Mon Nov 20 15:43:07 2017 -0500
 8044 
 8045     kdrive: remove KdSignalWrapper etc.
 8046     
 8047     This no longer does anything useful.
 8048     
 8049     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8050     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 8051     Reviewed-by: Dave Airlie <airlied@redhat.com>
 8052 
 8053 commit 4353d83f60766824a65f183716616eee8e17bb24
 8054 Author: Adam Jackson <ajax@redhat.com>
 8055 Date:   Mon Nov 20 15:43:06 2017 -0500
 8056 
 8057     xfree86: remove xf86CaughtSignal etc.
 8058     
 8059     This no longer does anything useful.
 8060     
 8061     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8062     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 8063     Reviewed-by: Dave Airlie <airlied@redhat.com>
 8064 
 8065 commit 9c72887939f319e185d2726d9d9a4191b9d12efd
 8066 Author: Adam Jackson <ajax@redhat.com>
 8067 Date:   Mon Nov 20 15:43:05 2017 -0500
 8068 
 8069     os: Make OsSignalHandler ask for core dumps for signo != SIGQUIT
 8070     
 8071     SIGQUIT is a normal termination request, but any other signal we handle
 8072     here wants a core. This has the effect of making FatalError's call to
 8073     AbortServer trigger the
 8074     
 8075         if (CoreDump)
 8076             OsAbort();
 8077     
 8078     path. This will allow us to remove some DDX code that has the same net
 8079     effect.
 8080     
 8081     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8082     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 8083     Reviewed-by: Dave Airlie <airlied@redhat.com>
 8084 
 8085 commit 0a255dceb79ee28a88667d5bd23cf989dbf9bed8
 8086 Author: Adam Jackson <ajax@redhat.com>
 8087 Date:   Mon Nov 20 15:43:04 2017 -0500
 8088 
 8089     xfree86: Remove xf86InterceptSignals
 8090     
 8091     The only consumer of this is the Linux vm86 backend for int10 (which you
 8092     should not use), and there all it serves to do is make signals generated
 8093     by the vm86 task non-fatal. In practice this error appears never to
 8094     happen, and marching ahead with root privileges after arbitrary code has
 8095     raised a signal seems like a poor plan.
 8096     
 8097     Remove the usage in the vm86 code, making this error fatal.
 8098     
 8099     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8100     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 8101     Reviewed-by: Dave Airlie <airlied@redhat.com>
 8102 
 8103 commit 722c8035dcf3ae0b18841066fe4ee030277274bc
 8104 Author: Adam Jackson <ajax@redhat.com>
 8105 Date:   Mon Nov 20 15:43:03 2017 -0500
 8106 
 8107     xfree86: Remove xf86InterceptSigIll
 8108     
 8109     This was added in ~2004 for the sis driver, to detect whether it could
 8110     use SSE for memcpy. Charmingly, the code to check whether that feature
 8111     exists in the server is:
 8112     
 8113         #if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,13,0)
 8114         #define SISCHECKOSSSE           /* Automatic check OS for SSE; requires SigIll facility */
 8115         #endif
 8116     
 8117     Which means it has never worked in any modular server release.
 8118     
 8119     A less gross way to do this is to check for SSE support with getauxval()
 8120     or /proc/cpuinfo or similar. Since no driver is using the existing
 8121     intercept mechanism, drop it.
 8122     
 8123     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8124     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 8125     Reviewed-by: Dave Airlie <airlied@redhat.com>
 8126 
 8127 commit fe46cbea0f19959d469ca4d1f09be379dc7b1e45
 8128 Author: Olivier Fourdan <ofourdan@redhat.com>
 8129 Date:   Tue Nov 21 14:45:13 2017 +0100
 8130 
 8131     xwayland: Give up “cleanly“ on Wayland socket errors
 8132     
 8133     Xwayland is a pretty standard Wayland client, we want to be able to
 8134     capture core dumps on crashes.
 8135     
 8136     Yet using "-core" causes any FatalError() to generate a core dump,
 8137     meaning that we would get a core file for all Wayland server crashes,
 8138     which would generate a lot of false positives.
 8139     
 8140     Instead of using FatalError() on Wayland socket errors, give up cleanly
 8141     to avoid dumping core files when "-core" is used.
 8142     
 8143     See also: https://bugzilla.gnome.org/show_bug.cgi?id=790502
 8144          and: https://bugzilla.gnome.org/show_bug.cgi?id=789086
 8145     
 8146     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8147     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 8148 
 8149 commit 6883ae43eb72fe4e2651c1dca209563323fad2db
 8150 Author: Tomasz Śniatowski <kailoran@gmail.com>
 8151 Date:   Wed Dec 6 12:16:17 2017 +0100
 8152 
 8153     os: Fix strtok/free crash in ComputeLocalClient
 8154     
 8155     Don't reuse cmd for strtok output to ensure the proper pointer is
 8156     freed afterwards.
 8157     
 8158     The code incorrectly assumed the pointer returned by strtok(cmd, ":")
 8159     would always point to cmd. However, strtok(str, sep) != str if str
 8160     begins with sep. This caused an invalid-free crash when running
 8161     a program under X with a name beginning with a colon.
 8162     
 8163     Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=104123
 8164     Signed-off-by: Tomasz Śniatowski <kailoran@gmail.com>
 8165     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
 8166 
 8167 commit aa6651f83c698e8cc40de61aad36c73ca7a6adcf
 8168 Author: Adam Jackson <ajax@redhat.com>
 8169 Date:   Thu Jun 8 16:23:12 2017 -0400
 8170 
 8171     xfixes: Remove the CursorCurrent array
 8172     
 8173     We're not wrapping all the ways a cursor can be destroyed, so this array
 8174     ends up with stale data. Rather than try harder to wrap more code paths,
 8175     just look up the cursor when we need it.
 8176     
 8177     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8178 
 8179 commit 3db7707df3cfd8ba62c10d08c7c731ec18ea8ddf
 8180 Author: Adam Jackson <ajax@redhat.com>
 8181 Date:   Wed Dec 6 15:12:20 2017 -0500
 8182 
 8183     test: Fix build dependency for bigreq test
 8184     
 8185     libxcb-xinput isn't a thing in whichever Ubuntu it is that Travis is
 8186     using. The test is already optional, make it more so.
 8187     
 8188     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8189 
 8190 commit 9f7a9be13d6449c00c86d3035374f4f543654b3f
 8191 Author: Olivier Fourdan <ofourdan@redhat.com>
 8192 Date:   Tue Dec 5 09:59:06 2017 +0100
 8193 
 8194     dix: avoid deferencing NULL PtrCtrl
 8195     
 8196     PtrCtrl really makes sense for relative pointing device only, absolute
 8197     devices such as touch devices do not have any PtrCtrl set.
 8198     
 8199     In some cases, if the client issues a XGetPointerControl() immediatlely
 8200     after a ChangeMasterDeviceClasses() copied the touch device to the VCP,
 8201     a NULL pointer dereference will occur leading to a crash of Xwayland.
 8202     
 8203     Check whether the PtrCtrl is not NULL in ProcGetPointerControl() and
 8204     return the default control values otherwise, to avoid the NULL pointer
 8205     dereference.
 8206     
 8207     Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1519533
 8208     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8209     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 8210 
 8211 commit 60f4646ae10f0b57790fce46682baa531512b53e
 8212 Author: Carlos Garnacho <carlosg@gnome.org>
 8213 Date:   Mon Dec 4 16:55:13 2017 +0100
 8214 
 8215     xwayland: Keep separate variables for pointer and tablet foci
 8216     
 8217     The tablet/stylus interfaces reused xwl_seat->focus_window, which
 8218     would leave a somewhat inconsistent state of that variable for
 8219     wl_pointer purposes (basically, everything) if the pointer happened
 8220     to lay on the same surface than the stylus while proximity_out
 8221     happens.
 8222     
 8223     We just want the stylus xwl_window to correctly determine we have
 8224     stylus focus, and to correctly translate surface-local coordinates
 8225     to root coordinates, this can be done using a different variable.
 8226     
 8227     Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
 8228     Acked-by: Jason Gerecke <jason.gerecke@wacom.com>
 8229     Tested-by: Olivier Fourdan <ofourdan@redhat.com>
 8230 
 8231 commit 97ac59b1ed3624f7c04e54dd3e3dadfa46a8f170
 8232 Author: Olivier Fourdan <ofourdan@redhat.com>
 8233 Date:   Wed Sep 27 18:01:01 2017 +0200
 8234 
 8235     xwayland: Fix non-argb cursor conversion
 8236     
 8237     From the bug: "What happens if bits->width is less than 8? :)"
 8238     
 8239     Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=103012
 8240     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 8241     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 8242     Reviewed-by: Daniel Stone <daniels@collabora.com>
 8243 
 8244 commit a4c1e290824d0e40191ad26019b705f61c11e113
 8245 Author: Adam Jackson <ajax@redhat.com>
 8246 Date:   Tue Nov 14 15:15:03 2017 -0500
 8247 
 8248     glx: Implement GLX_EXT_no_config_context (v2)
 8249     
 8250     Only enabled for the DRI backends at the moment. In principle WGL/CGL
 8251     could support this - it's sort of implied by GL 3.0 support - but in
 8252     practice their implementations back GLX drawables with native drawables
 8253     (and not anonymous FBOs), so they would need either a corresponding
 8254     window system binding extension or significant implementation work.
 8255     
 8256     v2: Require that the two screen numbers match, per v4 of spec.
 8257     
 8258     Khronos: https://github.com/KhronosGroup/OpenGL-Registry/pull/102
 8259     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8260     Reviewed-by: Eric Anholt <eric@anholt.net>
 8261 
 8262 commit f0fffa926a5771e0e604fe9a48178b0514ca5d41
 8263 Author: Adam Jackson <ajax@redhat.com>
 8264 Date:   Tue Nov 14 15:15:02 2017 -0500
 8265 
 8266     glx: Prepare __glXGetDrawable for no-config contexts
 8267     
 8268     Any proper (GLX 1.3) drawable will already have a bound config, but if
 8269     we're doing the GLX 1.2 thing of making a Window current, we need to
 8270     infer the config from the window's Visual.
 8271     
 8272     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8273     Reviewed-by: Eric Anholt <eric@anholt.net>
 8274 
 8275 commit 5d667df6ea1634191a26f9a7c26bc883701d62b0
 8276 Author: Adam Jackson <ajax@redhat.com>
 8277 Date:   Tue Nov 14 15:15:01 2017 -0500
 8278 
 8279     glx: Fix glXQueryContext for GLX_FBCONFIG_ID and GLX_RENDER_TYPE (v2)
 8280     
 8281     Just never filled in, oops. Seems to have gone unnoticed because
 8282     normally glXQueryContext simply returns the values filled in by the
 8283     client library when the context was created. The only path by which you
 8284     normally get to a GLXQueryContext request is glXImportContext, and then
 8285     only if the context is already indirect.
 8286     
 8287     However, that's a statement about Mesa's libGL (and anything else that
 8288     inherited that bit of the SGI SI more or less intact). Nothing prevents
 8289     a mischeivous client from issuing that request of a direct context, and
 8290     if they did we'd be in trouble because we never bothered to preserve the
 8291     associated fbconfig in the context state, so we'd crash looking up
 8292     GLX_VISUAL_ID_EXT. So let's fix that too.
 8293     
 8294     v2: Fixed missing preservation of the config in DRI2 (Eric Anholt)
 8295     
 8296     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8297     Reviewed-by: Eric Anholt <eric@anholt.net>
 8298 
 8299 commit 78b2ce1410dda758537d52398223ca9b757883bc
 8300 Author: Daniel Martin <consume.noise@gmail.com>
 8301 Date:   Mon Nov 20 10:47:43 2017 +0100
 8302 
 8303     modesetting: Remove #if 0 CMAP_LOAD_EVEN_IF_OFFSCREEN
 8304     
 8305     CMAP_LOAD_EVEN_IF_OFFSCREEN has been encapsulated since the import of
 8306     xf86-video-modesetting into the tree.
 8307     
 8308     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8309     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
 8310 
 8311 commit d563443381142fbc0b102422d7e7389bf3621331
 8312 Author: Daniel Martin <consume.noise@gmail.com>
 8313 Date:   Mon Nov 20 10:47:42 2017 +0100
 8314 
 8315     modesetting: Remove unused define DRV_ERROR
 8316     
 8317     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8318     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
 8319 
 8320 commit 6804875662363764683a86c1614e4cf3cc70a20a
 8321 Author: Daniel Martin <consume.noise@gmail.com>
 8322 Date:   Mon Nov 20 10:47:41 2017 +0100
 8323 
 8324     modesetting: Reset output_id if drmModeGetConnector failed
 8325     
 8326     If drmModeGetConnector() fails in drmmode_output_detect(), we have to
 8327     reset the output_id to -1 too.
 8328     
 8329     Yet another spot leading to a potential NULL dereference when handling
 8330     the mode_output member as output_id was != -1. Though, this case should
 8331     be very hard to hit.
 8332     
 8333     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8334     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
 8335 
 8336 commit e20b1016de22e893d5468960988ddd5677c11d98
 8337 Author: Daniel Martin <consume.noise@gmail.com>
 8338 Date:   Mon Nov 20 10:47:40 2017 +0100
 8339 
 8340     modesetting: Fix log msg if pixmap creation failed
 8341     
 8342     Add a missing new-line character and make the message more verbose than
 8343     "Failed".
 8344     
 8345     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8346     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
 8347 
 8348 commit 02981fe1a844e101c81037df79fc147f217f3bf9
 8349 Author: Daniel Martin <consume.noise@gmail.com>
 8350 Date:   Mon Nov 20 10:47:39 2017 +0100
 8351 
 8352     xfree86: Fix set but not used warnings in lnx_platform
 8353     
 8354     Those warnings are generated, when building without systemd support:
 8355     
 8356     ../hw/xfree86/os-support/linux/lnx_platform.c: In function ‘get_drm_info’:
 8357     ../hw/xfree86/os-support/linux/lnx_platform.c:29:16: warning: variable ‘minor’ set but not used [-Wunused-but-set-variable]
 8358          int major, minor, fd;
 8359                     ^~~~~
 8360     ../hw/xfree86/os-support/linux/lnx_platform.c:29:9: warning: variable ‘major’ set but not used [-Wunused-but-set-variable]
 8361          int major, minor, fd;
 8362              ^~~~~
 8363     
 8364     In this case the functions are macros, which don't use theese arguments.
 8365     
 8366     v2: Add comments, why the warnings appear. Suggested by Emil Velikov
 8367     
 8368     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 8369     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
 8370 
 8371 commit 918afeecbc63d70413e222efdb2ac4cfb16eae9e
 8372 Author: Daniel Martin <consume.noise@gmail.com>
 8373 Date:   Mon Nov 20 10:47:38 2017 +0100
 8374 
 8375     os/xdmcp: Honour -once when session is dead
 8376     
 8377     Terminate a dead session when -once was passed. Don't restart it.
 8378     
 8379     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
 8380     Reviewed-by: Walter Harms <wharms@bfs.de>
 8381 
 8382 commit 559954aaa8d811a22cf918cc16a7d618e12201a0
 8383 Author: Michel Dänzer <michel.daenzer@amd.com>
 8384 Date:   Mon Oct 2 11:33:43 2017 +0200
 8385 
 8386     present: Only send PresentCompleteNotify events to the presenting client
 8387     
 8388     We were sending the events to all clients listening for them on the
 8389     window. But clients can get confused by events from another client, and
 8390     I can't imagine any case where receiving events from other clients would
 8391     be required.
 8392     
 8393     v2:
 8394     * Also restrict events sent to additional windows to the presenting
 8395       client
 8396     * Don't shorten line lengths
 8397     
 8398     Reviewed-by: Keith Packard <keithp@keithp.com>
 8399 
 8400 commit fc7fb5bbe1c8f787e53500b9a2ca4af815f310d1
 8401 Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
 8402 Date:   Thu Nov 9 10:21:21 2017 +0100
 8403 
 8404     randr: free crtc->outputs on destroy
 8405     
 8406     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8407     Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
 8408 
 8409 commit 16381d186e7c791031392ed8afcfd33009854e9e
 8410 Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
 8411 Date:   Thu Nov 9 10:21:20 2017 +0100
 8412 
 8413     randr: always realloc crtcs and outputs
 8414     
 8415     When the last crtc (resp. output) is destroyed, the rrScrPriv crtcs
 8416     (resp. outputs) fields do not get cleared, which can lead to a situation
 8417     where the private's numCrtcs (resp. numOutputs) field is zero, but the
 8418     associated memory is still allocated. Just checking if numCrtcs (resp.
 8419     numOutputs) is zero is thus not a good criteria to determine whetehr to
 8420     use a realloc or a malloc.
 8421     
 8422     Since crtcs (resp. outputs) are NULL-initialized anyway, relying on
 8423     numCrtcs (resp. numOutputs) is actually unnecessary, because
 8424     reallocation of a NULL ptr is equivalent to a malloc anyway.
 8425     
 8426     Therefore, just use realloc() unconditionally, and ensure that the
 8427     fields are properly initialized.
 8428     
 8429     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8430     Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
 8431 
 8432 commit fb5ee77b91a93e27801006be8ee34d27984e7fa6
 8433 Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
 8434 Date:   Thu Nov 9 10:21:19 2017 +0100
 8435 
 8436     randr: rrGetScreenResources: initialize memory
 8437     
 8438     Similarly to bb766ef11227bd8c71ac65845d1930edd0eda40d, ensure that the
 8439     extra padding is set to 0.
 8440     
 8441     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8442     Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
 8443 
 8444 commit 307c124d6bcfe26057767b2c0990dc9ac66b9c93
 8445 Author: Adam Jackson <ajax@redhat.com>
 8446 Date:   Tue Nov 14 15:59:35 2017 -0500
 8447 
 8448     glx: Only flush indirect contexts in MakeCurrent (v2)
 8449     
 8450     If the context is direct none of the GL commands were issued by this
 8451     process, the server couldn't flush them even if it wanted to.
 8452     
 8453     v2: Fix embarassingly obvious boolean inversion (Michel Dänzer)
 8454     
 8455     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8456     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
 8457 
 8458 commit 66e8eaa456a0f200c0649c56a2e34914daa88065
 8459 Author: Adam Jackson <ajax@redhat.com>
 8460 Date:   Thu Nov 2 16:10:50 2017 -0400
 8461 
 8462     glamor: Drop the non-VAO rendering path
 8463     
 8464     GLES spells this extension as GL_OES_vertex_array_object, but it is
 8465     functionally equivalent to the GL_ARB version. Mesa has supported both
 8466     since 9.0, let's go ahead and require it.
 8467     
 8468     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8469     Reviewed-by: Eric Anholt <eric@anholt.net>
 8470 
 8471 commit dbda03d5d15bec8fdff64bc8545875c39da81777
 8472 Author: Adam Jackson <ajax@redhat.com>
 8473 Date:   Mon Nov 6 16:41:14 2017 -0500
 8474 
 8475     glx: Drop references to <GL/internal/glcore.h>
 8476     
 8477     This header is a truly ancient remnant of the SGI SI code, which used
 8478     the same struct for visual/fbconfig state on both sides of the wire.
 8479     We're not using this struct ourselves so let's stop depending on the
 8480     header.
 8481     
 8482     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8483 
 8484 commit eafcd009f1fe3e554219a428237ef1c71d1ba506
 8485 Author: Adam Jackson <ajax@redhat.com>
 8486 Date:   Tue Oct 24 14:33:19 2017 -0400
 8487 
 8488     xres: Return the atom naming the type, not its internal type number
 8489     
 8490     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8491 
 8492 commit 68556d74b49e99d3490166c446079f7d5de26ca4
 8493 Author: Hector Martin <marcan@marcan.st>
 8494 Date:   Wed Nov 15 03:12:31 2017 +0900
 8495 
 8496     edid: fix off-by-one error in CEA mode numbering
 8497     
 8498     The CEA extension short video descriptors contain the VIC, which starts
 8499     at 1, not 0.
 8500     
 8501     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8502     Signed-off-by: Hector Martin <marcan@marcan.st>
 8503 
 8504 commit 9bd5a198dc5383d0d2a1e28f7aa4270132eca5db
 8505 Author: Adam Jackson <ajax@redhat.com>
 8506 Date:   Tue Jul 11 15:37:07 2017 -0400
 8507 
 8508     glamor: Remove unused glamor_create_screen_resources
 8509     
 8510     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 8511     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8512 
 8513 commit 081675f7ffda0cce20b395874d6e5755fb6600a0
 8514 Author: Adam Jackson <ajax@redhat.com>
 8515 Date:   Fri Jul 14 14:52:01 2017 -0400
 8516 
 8517     glamor: Un-inline glamor_[gs]et_screen_private
 8518     
 8519        text    data     bss     dec     hex filename
 8520     2134764   45210  128704 2308678  233a46 build/hw/kdrive/ephyr/Xephyr.before
 8521     2129972   45210  128704 2303886  23278e build/hw/kdrive/ephyr/Xephyr.after
 8522     
 8523     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 8524     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8525 
 8526 commit 6dff5e5d49a21bc749e44f0e8cb390690ece750d
 8527 Author: Adam Jackson <ajax@redhat.com>
 8528 Date:   Mon Jul 10 10:56:58 2017 -0400
 8529 
 8530     xwayland: Stop printing the EGL version
 8531     
 8532     It doesn't matter, none of this matters.
 8533     
 8534     Acked-by: Olivier Fourdan <ofourdan@redhat.com>
 8535     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 8536     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8537 
 8538 commit c57f63829f0077b5a3e5968f8405e087a4490485
 8539 Author: Adam Jackson <ajax@redhat.com>
 8540 Date:   Wed Sep 13 15:44:15 2017 -0400
 8541 
 8542     dmx: Use noGlxExtension like other DDXes
 8543     
 8544     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 8545     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8546 
 8547 commit fd0eafb18426da14601d5c0d0a50092c49a7aff8
 8548 Author: Adam Jackson <ajax@redhat.com>
 8549 Date:   Mon Nov 6 16:07:41 2017 -0500
 8550 
 8551     glx: Fix typos that break GLX_ARB_context_flush_control
 8552     
 8553     The trailing \n are just wrong here, __glXEnableExtension wants a string
 8554     without them.
 8555     
 8556     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8557     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
 8558     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 8559 
 8560 commit 2e7f790b5770589ae2f97ee363ecd33fdb362c24
 8561 Author: Adam Jackson <ajax@redhat.com>
 8562 Date:   Mon Nov 6 15:25:34 2017 -0500
 8563 
 8564     dix: Remove ffs.c
 8565     
 8566     Your libc has ffs, I promise.
 8567     
 8568     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8569     Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 8570 
 8571 commit 4d15a2645f00995618d8687edf1fb0f4b2316ace
 8572 Author: Adam Jackson <ajax@redhat.com>
 8573 Date:   Mon Nov 6 15:25:33 2017 -0500
 8574 
 8575     os: Remove mffs()
 8576     
 8577     This was always wide enough to work on an fd_mask ("mask" ffs
 8578     presumably). We don't operate on fd_masks anymore, so this can go.
 8579     
 8580     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8581     Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 8582 
 8583 commit 4b0a3cbab131eb453e2b3fc0337121969258a7be
 8584 Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
 8585 Date:   Sat Nov 4 23:06:31 2017 +0100
 8586 
 8587     glx: free fbconfigs on destroy
 8588     
 8589     Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
 8590     Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
 8591 
 8592 commit bb766ef11227bd8c71ac65845d1930edd0eda40d
 8593 Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
 8594 Date:   Sat Nov 4 23:06:29 2017 +0100
 8595 
 8596     randr: ProcRRGetOutputInfo: initialize memory
 8597     
 8598     Running Xephyr under valgrind reveals that we're sending some
 8599     uninitialized memory over the wire (particularly, the leftover padding
 8600     that comes from rounding extraLen to the next 32-bit multiple).
 8601     
 8602     Solve by calloc()ing the memory instead of malloc()ing (the alternative
 8603     would be to memset just the padding, but I'm not sure it's more
 8604     convenient.)
 8605     
 8606     Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
 8607     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8608 
 8609 commit 6828645916505a5925db5c2c2e816fee4e1050e5
 8610 Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
 8611 Date:   Sat Nov 4 23:06:28 2017 +0100
 8612 
 8613     Xephyr: free driverPrivates on Fini
 8614     
 8615     Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
 8616 
 8617 commit b2167015043a458e9cf93b827b43eb5b7c552ce9
 8618 Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
 8619 Date:   Sat Nov 4 23:06:27 2017 +0100
 8620 
 8621     xkb: initialize tsyms
 8622     
 8623     This fixes some “Conditional jump depends on uninitialized value(s)”
 8624     errors spotted by valgrind.
 8625     
 8626     Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
 8627     Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
 8628 
 8629 commit 2dafa1bdafe583587431a5f6ebee6ec371c61a8d
 8630 Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
 8631 Date:   Thu Nov 2 21:27:59 2017 +0100
 8632 
 8633     dix/window: fix typos
 8634     
 8635     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8636 
 8637 commit f84e59a4f474d22860bac8aec2947798a86db69b
 8638 Author: Thomas Hellstrom <thellstrom@vmware.com>
 8639 Date:   Tue Sep 26 17:28:12 2017 -0700
 8640 
 8641     glx: Duplicate relevant fbconfigs for compositing visuals
 8642     
 8643     Previously, before GLX_OML_swap_method was fixed, both the X server and
 8644     client ignored the swapMethod fbconfig value, which meant that, if the dri
 8645     driver thought it exposed more than one swapMethod, it actually just
 8646     exported a duplicated set of fbconfigs. When fixing GLX_OML_swap_method
 8647     and restricting the choice for built-in visuals to a single swap method
 8648     that meant we didn't have that many fbconfigs to choose from when pairing
 8649     the compositing visual with an fbconfig, resulting in the fbconfig paired
 8650     with the compositing visual becoming too restrictive for some applications,
 8651     (at least for kwin). This problem would also happen if the dri driver
 8652     only exposed a single swap method to begin with.
 8653     
 8654     So, to make sure the compositing visual gets a good enough fbconfig,
 8655     duplicate fbconfigs that are suitable for compositing visuals and make
 8656     sure these duplicated fbconfigs can be used only by compositing visuals.
 8657     For duplicated fbconfigs not paired with a compositing visual, construct
 8658     new compositing visuals, making compositing clients able to choose visuals
 8659     / fbconfig more adapted to their needs.
 8660     
 8661     This is in some sense equivalent to adding a new "TRUECOLOR_COMPOSITING"
 8662     GLX visualtype.
 8663     
 8664     Fixes: 4486d199bd3b ("glx: Fix visual fbconfig matching with respect to
 8665                           swap method")
 8666     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102806
 8667     Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
 8668     Tested-By: Nick Sarnie <commendsarnex@gmail.com>
 8669     Tested-by: Fredrik Höglund <fredrik@kde.org>
 8670     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8671 
 8672 commit 30f4d440ebc3517fdcc1d3c6a422a8fbf3af1f23
 8673 Author: Eric Anholt <eric@anholt.net>
 8674 Date:   Tue Oct 31 12:22:31 2017 -0700
 8675 
 8676     xkb: Print the xkbcomp path being executed when we fail to compile.
 8677     
 8678     I don't know how many times I've had a broken server due to a bad
 8679     directory to xkbcomp, and only finding the whole path has shown me
 8680     where I went wrong.
 8681     
 8682     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 8683 
 8684 commit 14af8bee242fe40af0e91c61465d6720aaa60e97
 8685 Author: Eric Anholt <eric@anholt.net>
 8686 Date:   Mon Oct 9 17:14:32 2017 -0700
 8687 
 8688     test: Add a test for the overflow bug in bigreqs.
 8689     
 8690     The failing struct comes from the python test written by Michal Srb
 8691     <msrb@suse.com>.
 8692     
 8693     v2: Use a drawable (root window) and gc, so that PolyLines hopefully
 8694         actually tries processing things.  However, the request seems to
 8695         process successfully so the poll() just stalls out.  However, this
 8696         does let us distinguish between detecting the bigrequests error
 8697         and not, at least.
 8698     v3: Clean up the description of what we expect the poll() call to do.
 8699     v4: Use XI2 instead of PolyLine to trigger a predictable error. We know the
 8700         server replies with BadValue for a zero num_masks argument. So if we send
 8701         a bigreq with a num_masks 0 and a length 0, we can just check whether we
 8702         get killed (good) or a BadValue (bad). It doesn't test for specific memory
 8703         overflows or crashes, but based on the assumption that we shouldn't look
 8704         at *any* BigReq of size 0, this seems to be sufficient.
 8705     
 8706     Signed-off-by: Eric Anholt <eric@anholt.net>
 8707     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 8708 
 8709 commit 5aad81445c8c3d6b7b30d503cfe26027fa482870
 8710 Author: Peter Hutterer <peter.hutterer@who-t.net>
 8711 Date:   Tue Sep 26 15:21:59 2017 +1000
 8712 
 8713     config/udev: consider ID_INPUT_FOO=0 as 'unset'
 8714     
 8715     Historically we didn't need to care about this case but more devices are
 8716     having invalid types set and they cannot be unset with a hwdb entry (which
 8717     doesn't handle the empty string). Allow for "0" to mean "unset" because
 8718     anything else would be crazy anyway.
 8719     
 8720     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 8721 
 8722 commit d5379b350fb63e42e604361c21ad9832b4c791b9
 8723 Author: Daniel Martin <consume.noise@gmail.com>
 8724 Date:   Fri Oct 27 16:11:56 2017 +0200
 8725 
 8726     Use ARRAY_SIZE all over the tree
 8727     
 8728     Roundhouse kick replacing the various (sizeof(foo)/sizeof(foo[0])) with
 8729     the ARRAY_SIZE macro from dix.h when possible. A semantic patch for
 8730     coccinelle has been used first. Additionally, a few macros have been
 8731     inlined as they had only one or two users.
 8732     
 8733     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
 8734     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8735 
 8736 commit 15a32ee5d1fffa171bb05af9a0e5b472e4af1488
 8737 Author: Daniel Martin <consume.noise@gmail.com>
 8738 Date:   Fri Oct 27 16:11:55 2017 +0200
 8739 
 8740     test: signal-logging: Fix looping signed number tests
 8741     
 8742     unsigned_tests[] was used to compute the amount of signed numbers to
 8743     test.
 8744     
 8745     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
 8746     Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
 8747 
 8748 commit 0bcc65f2bf479c6a74ac70bb5b5181d6834dded6
 8749 Author: Daniel Martin <consume.noise@gmail.com>
 8750 Date:   Fri Oct 27 16:11:54 2017 +0200
 8751 
 8752     test: input: Fix used uninitialized warning in dix_event_to_core
 8753     
 8754     input.c: In function ‘dix_event_to_core’:
 8755     ../include/inputstr.h:61:55: warning: ‘*((void *)&ev+80)’ is used uninitialized in this function [-Wuninitialized]
 8756      #define SetBit(ptr, bit)  (((BYTE *) (ptr))[(bit)>>3] |= (1 << ((bit) & 7)))
 8757                                                            ^~
 8758     
 8759     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
 8760     Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
 8761 
 8762 commit 04a305121fbc08ecc2ef345ee7155d6087a43fd1
 8763 Author: Daniel Martin <consume.noise@gmail.com>
 8764 Date:   Fri Oct 27 16:11:53 2017 +0200
 8765 
 8766     modesetting: Fix potential buffer overflow
 8767     
 8768     If one misconfigures a ZaphodHeads value (more than 20 characters
 8769     without a delimiter), we get an overflow of our buffer.  Use
 8770     xstrtokenize() instead of writing/fixing our own tokenizer.
 8771     
 8772     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
 8773     Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
 8774 
 8775 commit 2230e6c8af92b041821eee0ea6210eda82c74106
 8776 Author: Adam Jackson <ajax@redhat.com>
 8777 Date:   Tue Oct 24 14:28:34 2017 -0400
 8778 
 8779     glamor: Unconditionalize GLAMOR_TEXTURED_LARGE_PIXMAP
 8780     
 8781     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8782     Reviewed-by: Eric Anholt <eric@anholt.net>
 8783 
 8784 commit 1edac5c1ceb8b21af45b20397ff64177ad22466c
 8785 Author: Adam Jackson <ajax@redhat.com>
 8786 Date:   Tue Oct 24 14:28:33 2017 -0400
 8787 
 8788     glamor: Unconditionalize GLAMOR_PIXMAP_DYNAMIC_UPLOAD
 8789     
 8790     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8791     Reviewed-by: Eric Anholt <eric@anholt.net>
 8792 
 8793 commit 13409b91b1936330dbf19bacefa4b48d0b6843b8
 8794 Author: Adam Jackson <ajax@redhat.com>
 8795 Date:   Tue Oct 24 14:28:32 2017 -0400
 8796 
 8797     glamor: Unconditionalize GLAMOR_GRADIENT_SHADER
 8798     
 8799     Effectively always true anyway.
 8800     
 8801     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8802     Reviewed-by: Eric Anholt <eric@anholt.net>
 8803 
 8804 commit 266d9868ca1cf77b7d315d607b515f081a9f45c3
 8805 Author: Alex Goins <agoins@nvidia.com>
 8806 Date:   Thu Oct 19 20:02:30 2017 -0700
 8807 
 8808     xf86-video-modesetting: Fix ms_queue_vblank(flags = MS_QUEUE_RELATIVE)
 8809     
 8810     Change 677c32bc refactored all usages of drmWaitVBlank() into a helper function,
 8811     ms_queue_vblank().
 8812     
 8813     ms_queue_vblank() takes in an MS_QUEUE_RELATIVE flag to indicate that the
 8814     sequence number is relative rather than absolute, but still treats the actual
 8815     sequence number as absolute, passing it through ms_crtc_msc_to_kernel_msc()
 8816     unconditionally before calling drmWaitVBlank().
 8817     
 8818     ms_crtc_msc_to_kernel_msc() works by subtracting a vblank offset from the
 8819     provided sequence number, which only makes sense for absolute sequence numbers.
 8820     In the case of PRIME Sync, drmmode_SharedPixmapPrsentOnVBlank() passes in 1,
 8821     which results in a large negative vblank offset. After subtracting, we're left
 8822     with a relative sequence number of 100,000+, i.e. wait for 100,000+ vblanks...
 8823     
 8824     In the relative case we want to pass in the sequence number unmodified. Simply
 8825     add a check to do this.
 8826     
 8827     Signed-off-by: Alex Goins <agoins@nvidia.com>
 8828     Reviewed-by: Keith Packard <keithp@keithp.com>
 8829 
 8830 commit 68d95e759f8b6ebca6bd52e69e6bc34cc174f8ca
 8831 Author: Alex Goins <agoins@nvidia.com>
 8832 Date:   Tue Oct 24 18:39:13 2017 -0700
 8833 
 8834     ramdac: Check ScreenPriv != NULL in xf86ScreenSetCursor()
 8835     
 8836     Similar to change cba5a10f, xf86ScreenSetCursor() would dereference ScreenPriv
 8837     without NULL checking it. If Option "SWCursor" is specified, ScreenPriv == NULL.
 8838     
 8839     Without this fix, it is observed that setting Option "SWCursor" "on" on the
 8840     modesetting driver in a PRIME configuration will segfault the server.
 8841     
 8842     It is important to return success rather than failure in the instance that
 8843     ScreenPriv == NULL and pCurs == NullCursor, because otherwise xf86SetCursor()
 8844     can fall into infinite recursion: xf86SetCursor(pCurs) calls
 8845     xf86ScreenSetCursor(pCurs), and if FALSE, calls xf86SetCursor(NullCursor). If
 8846     xf86ScreenSetCursor(NullCursor) returns FALSE, it calls
 8847     xf86SetCursor(NullCursor) again and this repeats forever.
 8848     
 8849     Signed-off-by: Alex Goins <agoins@nvidia.com>
 8850     Reviewed-by: Dave Airlie <airlied@redhat.com>
 8851 
 8852 commit 04163fe8c66ae6683a1384fd1bd91ea85f9892ee
 8853 Author: Adam Jackson <ajax@redhat.com>
 8854 Date:   Tue Oct 24 13:03:09 2017 -0400
 8855 
 8856     meson: Use [ true, false, auto ] for tristate values
 8857     
 8858     For symmetry with the boolean options. I really do not want to care
 8859     whether an option is a tristate if I'm trying to set it explicitly.
 8860     
 8861     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8862     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 8863 
 8864 commit c2c6e9e68a8815420233c996acdd29ba572b1f0e
 8865 Author: Adam Jackson <ajax@redhat.com>
 8866 Date:   Tue Oct 24 14:38:13 2017 -0400
 8867 
 8868     dix: Don't track the XKB client versions in the ClientRec
 8869     
 8870     XKB stores some stuff in the ClientRec that, style-wise, should probably
 8871     be in a client private.  vMinor tracks the client's idea of the XKB
 8872     minor version, but is never read, we can just nuke it.  vMajor is only
 8873     used for a bug-compat workaround for X11R6.0-vintage clients.  We're
 8874     only using though (1<<4) for xkbClientFlags in the protocol, so we can
 8875     pack that field down to a u8 and store the bug-compat flag there.
 8876     
 8877     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8878     Reviewed-by: Julien Cristau <jcristau@debian.org>
 8879 
 8880 commit bc5fb8c0928498c32dc33680d40d50e6db5879b6
 8881 Author: Adam Jackson <ajax@redhat.com>
 8882 Date:   Tue Oct 24 14:38:12 2017 -0400
 8883 
 8884     dix: Don't vary the ClientRec ABI at build time
 8885     
 8886     Just no.
 8887     
 8888     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8889     Reviewed-by: Julien Cristau <jcristau@debian.org>
 8890 
 8891 commit 0c3ad9d1e06294b4f66717798afa4f5dfa505469
 8892 Author: Adam Jackson <ajax@redhat.com>
 8893 Date:   Mon Oct 23 15:34:26 2017 -0400
 8894 
 8895     travis: Bump linux Dockerfile to v7 for new meson
 8896     
 8897     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8898 
 8899 commit 4d53e30651c0fe5f7be38ae8529fa49846d39549
 8900 Author: Lyude Paul <lyude@redhat.com>
 8901 Date:   Mon Oct 23 16:21:19 2017 -0400
 8902 
 8903     meson: Don't use '' in link_with, ever
 8904     
 8905     String arguments as elements in the array passed to the link_with
 8906     argument in meson's executable() functions are not valid and will end up
 8907     causing the build file generation to file. This actually ended up
 8908     exposing a bug in meson that caused it not to report where in the
 8909     meson.build file it was failing:
 8910     
 8911     https://github.com/mesonbuild/meson/pull/2527
 8912     
 8913     The proper way to have a variable that can contain either an empty link
 8914     target or an actual link target is:
 8915     
 8916     some_target = []
 8917     if some_cond
 8918         some_target = static_library(...)
 8919     endif
 8920     
 8921     This way if some_cond is False, some_target gets set to [], gets passed
 8922     to executable() in the link_with array, and then gets removed by array
 8923     flattening.
 8924     
 8925     This also unbreaks Xwayland builds with -Dglx=false, the thing that
 8926     originally made me notice this.
 8927     
 8928     Signed-off-by: Lyude Paul <lyude@redhat.com>
 8929     Reviewed-by: Jon Turney <jon.turney@dronecode.org.uk>
 8930 
 8931 commit 5893e72a20ffa5cfcd6d0c7c5c934b92546d76c3
 8932 Author: Jon Turney <jon.turney@dronecode.org.uk>
 8933 Date:   Tue Oct 24 12:07:08 2017 +0100
 8934 
 8935     travis: Fix OSX build
 8936     
 8937     Turn off homebrew autoupdating before installing ccache, to avoid:
 8938     
 8939     /usr/local/Homebrew/Library/Homebrew/brew.rb:12:in `<main>': Homebrew must
 8940     be run under Ruby 2.3! You're running 2.0.0. (RuntimeError)
 8941     
 8942     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 8943     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8944 
 8945 commit f44935cdb7321af242ce9f242975f096807b97f7
 8946 Author: Daniel Martin <consume.noise@gmail.com>
 8947 Date:   Mon Oct 23 10:31:21 2017 +0200
 8948 
 8949     modesetting: Use helper to fetch drmModeProperty(Blob)s
 8950     
 8951     Replace the various loops to lookup drmModeProperty(Blob)s by
 8952     introducing helper functions.
 8953     
 8954     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
 8955 
 8956 commit 6abdb54a11dac4e8854ff94ecdcb90a14321ab31
 8957 Author: Daniel Martin <consume.noise@gmail.com>
 8958 Date:   Mon Oct 23 10:31:20 2017 +0200
 8959 
 8960     modesetting: Fix leak of tile_blob in drmmode_output_destroy
 8961     
 8962     And drmModeFreePropertyBlob() can handle NULL pointers, no need to check
 8963     edid_blob.
 8964     
 8965     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
 8966 
 8967 commit 8d7f7e24261e68459e6f0a865e243473f65fe7ad
 8968 Author: Daniel Martin <consume.noise@gmail.com>
 8969 Date:   Fri Oct 20 10:05:35 2017 +0200
 8970 
 8971     modesetting: Check crtc before searching link-status property
 8972     
 8973     No need to lookup the link-status property if we don't have a crtc.
 8974     
 8975     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
 8976     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8977 
 8978 commit 8c455db0ebb6e5313ca81428bb6dd75ef12aaa15
 8979 Author: Daniel Martin <consume.noise@gmail.com>
 8980 Date:   Fri Oct 20 10:05:34 2017 +0200
 8981 
 8982     modesetting: Remove #ifdefs XF86_PDEV_SERVER_FD
 8983     
 8984     XF86_PDEV_SERVER_FD is defined since:
 8985     
 8986         commit 5fb641a29bfb4a33da964e1e9af523f3472015c6
 8987         Author: Hans de Goede <hdegoede@redhat.com>
 8988         Date:   Mon Jan 13 12:03:46 2014 +0100
 8989     
 8990             hotplug: Extend OdevAttributes for server-managed fd support
 8991     
 8992     ifdef'ing for it is a leftover from the external xf86-video-modesetting.
 8993     
 8994     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
 8995     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8996 
 8997 commit 66d8cbf8ce9285a8771118e46daa44faa73ad847
 8998 Author: Daniel Martin <consume.noise@gmail.com>
 8999 Date:   Fri Oct 20 10:05:33 2017 +0200
 9000 
 9001     modesetting: Fix warning of unused variable if not GLAMOR_HAS_GBM
 9002     
 9003     ../hw/xfree86/drivers/modesetting/driver.c: In function ‘redisplay_dirty’:
 9004     ../hw/xfree86/drivers/modesetting/driver.c:586:20: warning: unused variable ‘ms’ [-Wunused-variable]
 9005          modesettingPtr ms = modesettingPTR(xf86ScreenToScrn(screen));
 9006     
 9007     Move the variable ms into #ifdef GLAMOR_HAS_GBM, where it is used.
 9008     
 9009     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
 9010     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9011 
 9012 commit 6d7e1d1de06336c9b49a253810afda8ac4e9f7b2
 9013 Author: Lyude Paul <lyude@redhat.com>
 9014 Date:   Fri Oct 13 15:44:32 2017 -0400
 9015 
 9016     meson: Don't forget to define DEBUG!
 9017     
 9018     Changes since v2:
 9019      - Don't enable by default for debugoptimized builds
 9020     
 9021     Signed-off-by: Lyude Paul <lyude@redhat.com>
 9022     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9023 
 9024 commit 0debe011901b87f686e2a76ce5edc150b04bf9d1
 9025 Author: Lyude Paul <lyude@redhat.com>
 9026 Date:   Fri Oct 13 15:44:31 2017 -0400
 9027 
 9028     meson: Silence -Wformat-nonliteral for x86emu
 9029     
 9030     Signed-off-by: Lyude Paul <lyude@redhat.com>
 9031     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9032 
 9033 commit cbca18c5516084ee540255df52e116209f1c1cbe
 9034 Author: Lyude Paul <lyude@redhat.com>
 9035 Date:   Fri Oct 13 15:44:30 2017 -0400
 9036 
 9037     x86emu: Fix type conversion warnings on x86_64 with DEBUG
 9038     
 9039     Warnings come from the fact that PRIx32 is not used for printing 32 bit
 9040     values instead of "%lx", and "%lx" evaluates to a 64 bit long on 64 bit
 9041     systems while PRIx32 always evaluates to the right type for the
 9042     respective arch.
 9043     
 9044     Signed-off-by: Lyude Paul <lyude@redhat.com>
 9045     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9046 
 9047 commit 01470ce0a9628abc8af4fe7b960f0d1eced8cd46
 9048 Author: Lyude Paul <lyude@redhat.com>
 9049 Date:   Fri Oct 13 15:44:29 2017 -0400
 9050 
 9051     fbdevhw: Fix inconsistent #if DEBUG usage
 9052     
 9053     fbdevhw is the only file in X's source that actually uses #if DEBUG to
 9054     check for debugging instead of #ifdef DEBUG. This is contrary to
 9055     everything else that checks the DEBUG macro in the source, so let's make
 9056     it consistent and in turn, make our meson files a little simpler.
 9057     
 9058     Signed-off-by: Lyude Paul <lyude@redhat.com>
 9059     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9060 
 9061 commit c66d65a645332bbf055a1c49f092636139eb9285
 9062 Author: Eric Anholt <eric@anholt.net>
 9063 Date:   Wed Jul 26 16:54:40 2017 -0700
 9064 
 9065     glamor: Use GL_MESA_tile_raster_order for overlapping blits.
 9066     
 9067     Improves Raspberry Pi 3 x11perf -copywinwin500 from ~480/sec to
 9068     ~700/sec.
 9069     
 9070     Signed-off-by: Eric Anholt <eric@anholt.net>
 9071     Reviewed-by: Keith Packard <keithp@keithp.com>
 9072 
 9073 commit 885636b7d42b3c7b151fc386d358184db004ce45
 9074 Author: Nikolay Martynov <mar.kolya@gmail.com>
 9075 Date:   Wed Sep 13 23:23:13 2017 -0400
 9076 
 9077     XShmGetImage: fix censoring
 9078     
 9079     It looks like offsets calculated during image censoring are wrong.
 9080     This results in black (empty) images returns.
 9081     
 9082     This fix is very similar to 6c6f09aac7f1d1367a042087b7681c7fdf1d1e0f
 9083     that was applied to XGetImage
 9084     
 9085     Visually this fixes chromium/firefox window sharing in multiscreen
 9086     configurations - without this patch most of the windows on 'secodnary'
 9087     screens are black.
 9088     
 9089     This also should fix https://bugs.freedesktop.org/show_bug.cgi?id=101730.
 9090     
 9091     Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>
 9092     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9093 
 9094 commit a10b4fcdc016d7ac56e5bb35f7f844af41016efe
 9095 Author: Jon Turney <jon.turney@dronecode.org.uk>
 9096 Date:   Tue Oct 10 14:28:33 2017 +0100
 9097 
 9098     meson: Fix linkage of loadable modules for PE/COFF
 9099     
 9100     For the loadable modules it makes sense to build for PE/COFF targets, link
 9101     those loadable modules with the import library for the Xorg executable, so
 9102     that symbols provided by the executable can be satisfied at link time (as
 9103     required by PE/COFF).
 9104     
 9105     Since this uses the syntax of using the returned build target object from an
 9106     executable() with an implib: kwarg to link_with:, introduced in meson 0.42
 9107     and a syntax error with older meson, also update the minimum meson version
 9108     which we require in project() to that.
 9109     
 9110     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 9111 
 9112 commit d43b1ca852562882fc6930afc36a982801e3be87
 9113 Author: Jon Turney <jon.turney@dronecode.org.uk>
 9114 Date:   Tue Oct 10 14:28:32 2017 +0100
 9115 
 9116     meson: Fix underlinkage of shadow loadable module
 9117     
 9118     Future work: probably some other modules are underlinked?
 9119     
 9120     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 9121 
 9122 commit 10cba7d54668698741510374ee63dec7a3cc3647
 9123 Author: Lyude Paul <lyude@redhat.com>
 9124 Date:   Wed Oct 11 18:03:45 2017 -0400
 9125 
 9126     meson: Add xkb_bin_dir option
 9127     
 9128     Now that we can actually configure all of the directories xkb uses for
 9129     finding things, we can (finally, but only with meson) finally make it so
 9130     that with the correct meson configuration the Xserver will "just work"
 9131     without any additional changes to the installation prefix after
 9132     building.
 9133     
 9134     For the people like me who have since scripted this part out of their
 9135     build process and forgotten about it, building and installing the X
 9136     server into a non-standard prefix has always required the following (or
 9137     something else that makes sure that X has a valid xkbcomp configuration)
 9138     commands be run right after doing the installation:
 9139     
 9140             # start in root of prefix you installed X to
 9141             mkdir -pv share/X11/xkb/rules
 9142             ln -s /usr/share/X11/xkb/rules/evdev share/X11/xkb/rules/
 9143             rm -f bin/xkbcomp
 9144             ln -s /usr/bin/xkbcomp bin/
 9145     
 9146     The one last piece of getting rid of this post-install junk is making
 9147     sure that we can control the directory that X uses for finding the
 9148     xkbcomp binary from meson so we can point it at the system provided
 9149     xkbcomp (/usr/bin/xkbcomp or similar). So, this patch adds a
 9150     configuration option for controlling this called xkb_bin_dir.
 9151     
 9152     Signed-off-by: Lyude Paul <lyude@redhat.com>
 9153     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 9154     Reviewed-by: Daniel Stone <daniels@collabora.com>
 9155 
 9156 commit b747da5e25be944337a9cd1415506fc06b70aa81
 9157 Author: Nathan Kidd <nkidd@opentext.com>
 9158 Date:   Fri Jan 9 10:15:46 2015 -0500
 9159 
 9160     Unvalidated extra length in ProcEstablishConnection (CVE-2017-12176)
 9161     
 9162     Reviewed-by: Julien Cristau <jcristau@debian.org>
 9163     Signed-off-by: Nathan Kidd <nkidd@opentext.com>
 9164     Signed-off-by: Julien Cristau <jcristau@debian.org>
 9165 
 9166 commit 4ca68b878e851e2136c234f40a25008297d8d831
 9167 Author: Nathan Kidd <nkidd@opentext.com>
 9168 Date:   Fri Jan 9 10:09:14 2015 -0500
 9169 
 9170     dbe: Unvalidated variable-length request in ProcDbeGetVisualInfo (CVE-2017-12177)
 9171     
 9172     v2: Protect against integer overflow (Alan Coopersmith)
 9173     
 9174     Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 9175     Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 9176     Reviewed-by: Julien Cristau <jcristau@debian.org>
 9177     Signed-off-by: Nathan Kidd <nkidd@opentext.com>
 9178     Signed-off-by: Julien Cristau <jcristau@debian.org>
 9179 
 9180 commit 859b08d523307eebde7724fd1a0789c44813e821
 9181 Author: Nathan Kidd <nkidd@opentext.com>
 9182 Date:   Wed Dec 24 16:22:18 2014 -0500
 9183 
 9184     Xi: fix wrong extra length check in ProcXIChangeHierarchy (CVE-2017-12178)
 9185     
 9186     Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 9187     Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 9188     Reviewed-by: Julien Cristau <jcristau@debian.org>
 9189     Signed-off-by: Nathan Kidd <nkidd@opentext.com>
 9190     Signed-off-by: Julien Cristau <jcristau@debian.org>
 9191 
 9192 commit d088e3c1286b548a58e62afdc70bb40981cdb9e8
 9193 Author: Nathan Kidd <nkidd@opentext.com>
 9194 Date:   Fri Jan 9 10:04:41 2015 -0500
 9195 
 9196     Xi: integer overflow and unvalidated length in (S)ProcXIBarrierReleasePointer
 9197     
 9198     [jcristau: originally this patch fixed the same issue as commit
 9199      211e05ac85 "Xi: Test exact size of XIBarrierReleasePointer", with the
 9200      addition of these checks]
 9201     
 9202     This addresses CVE-2017-12179
 9203     
 9204     Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 9205     Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 9206     Reviewed-by: Julien Cristau <jcristau@debian.org>
 9207     Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 9208     Signed-off-by: Nathan Kidd <nkidd@opentext.com>
 9209     Signed-off-by: Julien Cristau <jcristau@debian.org>
 9210 
 9211 commit 1b1d4c04695dced2463404174b50b3581dbd857b
 9212 Author: Nathan Kidd <nkidd@opentext.com>
 9213 Date:   Sun Dec 21 01:10:03 2014 -0500
 9214 
 9215     hw/xfree86: unvalidated lengths
 9216     
 9217     This addresses:
 9218     CVE-2017-12180 in XFree86-VidModeExtension
 9219     CVE-2017-12181 in XFree86-DGA
 9220     CVE-2017-12182 in XFree86-DRI
 9221     
 9222     Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 9223     Reviewed-by: Julien Cristau <jcristau@debian.org>
 9224     Signed-off-by: Nathan Kidd <nkidd@opentext.com>
 9225     Signed-off-by: Julien Cristau <jcristau@debian.org>
 9226 
 9227 commit 55caa8b08c84af2b50fbc936cf334a5a93dd7db5
 9228 Author: Nathan Kidd <nkidd@opentext.com>
 9229 Date:   Fri Jan 9 11:43:05 2015 -0500
 9230 
 9231     xfixes: unvalidated lengths (CVE-2017-12183)
 9232     
 9233     v2: Use before swap (Jeremy Huddleston Sequoia)
 9234     
 9235     v3: Fix wrong XFixesCopyRegion checks (Alan Coopersmith)
 9236     
 9237     Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 9238     Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 9239     Reviewed-by: Julien Cristau <jcristau@debian.org>
 9240     Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 9241     Signed-off-by: Nathan Kidd <nkidd@opentext.com>
 9242     Signed-off-by: Julien Cristau <jcristau@debian.org>
 9243 
 9244 commit cad5a1050b7184d828aef9c1dd151c3ab649d37e
 9245 Author: Nathan Kidd <nkidd@opentext.com>
 9246 Date:   Fri Jan 9 09:57:23 2015 -0500
 9247 
 9248     Unvalidated lengths
 9249     
 9250     v2: Add overflow check and remove unnecessary check (Julien Cristau)
 9251     
 9252     This addresses:
 9253     CVE-2017-12184 in XINERAMA
 9254     CVE-2017-12185 in MIT-SCREEN-SAVER
 9255     CVE-2017-12186 in X-Resource
 9256     CVE-2017-12187 in RENDER
 9257     
 9258     Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 9259     Reviewed-by: Julien Cristau <jcristau@debian.org>
 9260     Signed-off-by: Nathan Kidd <nkidd@opentext.com>
 9261     Signed-off-by: Julien Cristau <jcristau@debian.org>
 9262 
 9263 commit 9c23685009aa96f4b861dcc5d2e01dbee00c4dd9
 9264 Author: Michal Srb <msrb@suse.com>
 9265 Date:   Fri Jul 7 17:04:03 2017 +0200
 9266 
 9267     os: Make sure big requests have sufficient length.
 9268     
 9269     A client can send a big request where the 32B "length" field has value
 9270     0. When the big request header is removed and the length corrected,
 9271     the value will underflow to 0xFFFFFFFF.  Functions processing the
 9272     request later will think that the client sent much more data and may
 9273     touch memory beyond the receive buffer.
 9274     
 9275     Signed-off-by: Eric Anholt <eric@anholt.net>
 9276     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 9277 
 9278 commit c2f2b25ab55c67f9f3ad07c02fa746eae7c61196
 9279 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 9280 Date:   Wed Sep 27 01:19:58 2017 -0400
 9281 
 9282     present: Check the whole exec queue on event
 9283     
 9284     Later events are sometimes added in front of the queue (e.g.
 9285     if page flipping fails) so we need to check the whole queue
 9286     on event.
 9287     
 9288     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 9289     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
 9290 
 9291 commit 677c32bcda98a96585bb1f66b57e0755a157b772
 9292 Author: Keith Packard <keithp@keithp.com>
 9293 Date:   Fri Sep 29 08:48:33 2017 -0700
 9294 
 9295     xf86-video-modesetting: Add ms_queue_vblank helper [v3]
 9296     
 9297     This provides an API wrapper around the kernel interface for queueing
 9298     a vblank event, simplifying all of the callers.
 9299     
 9300     v2: Fix missing '|' in computing vbl.request.type
 9301     
 9302     v3: Remove spurious bit of next patch (thanks, Michel Dänzer)
 9303     
 9304     Signed-off-by: Keith Packard <keithp@keithp.com>
 9305     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9306 
 9307 commit 94f11ca5cf011ef123bd222cabeaef6f424d76ac
 9308 Author: Keith Packard <keithp@keithp.com>
 9309 Date:   Thu Jul 27 10:08:32 2017 -0700
 9310 
 9311     xkb: Handle xkb formated string output safely (CVE-2017-13723)
 9312     
 9313     Generating strings for XKB data used a single shared static buffer,
 9314     which offered several opportunities for errors. Use a ring of
 9315     resizable buffers instead, to avoid problems when strings end up
 9316     longer than anticipated.
 9317     
 9318     Reviewed-by: Michal Srb <msrb@suse.com>
 9319     Signed-off-by: Keith Packard <keithp@keithp.com>
 9320     Signed-off-by: Julien Cristau <jcristau@debian.org>
 9321 
 9322 commit eaf1f72ed8994b708d94ec2de7b1a99f5c4a39b8
 9323 Author: Michal Srb <msrb@suse.com>
 9324 Date:   Thu Jul 27 11:54:26 2017 +0200
 9325 
 9326     xkb: Escape non-printable characters correctly.
 9327     
 9328     XkbStringText escapes non-printable characters using octal numbers. Such escape
 9329     sequence would be at most 5 characters long ("\0123"), so it reserves 5 bytes
 9330     in the buffer. Due to char->unsigned int conversion, it would print much longer
 9331     string for negative numbers.
 9332     
 9333     Reviewed-by: Keith Packard <keithp@keithp.com>
 9334     Signed-off-by: Julien Cristau <jcristau@debian.org>
 9335 
 9336 commit b95f25af141d33a65f6f821ea9c003f66a01e1f1
 9337 Author: Michal Srb <msrb@suse.com>
 9338 Date:   Fri Jul 28 16:27:10 2017 +0200
 9339 
 9340     Xext/shm: Validate shmseg resource id (CVE-2017-13721)
 9341     
 9342     Otherwise it can belong to a non-existing client and abort X server with
 9343     FatalError "client not in use", or overwrite existing segment of another
 9344     existing client.
 9345     
 9346     Signed-off-by: Julien Cristau <jcristau@debian.org>
 9347 
 9348 commit db465bae533f85e7f900deb96efecc831c9d550b
 9349 Author: Adam Jackson <ajax@redhat.com>
 9350 Date:   Wed Sep 27 14:31:39 2017 -0400
 9351 
 9352     meson: Port default warning flags from xorg-macros
 9353     
 9354     Well, almost all of them. No -Wdeclaration-after-statement because
 9355     that's legal in C99, and in the limited ways we use it, more readable.
 9356     
 9357     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9358     Reviewed-by: Daniel Stone <daniels@collabora.com>
 9359 
 9360 commit 40c90ead044aa3fab79280d7a5ca5ad8e390029e
 9361 Author: Adam Jackson <ajax@redhat.com>
 9362 Date:   Wed Sep 27 14:31:38 2017 -0400
 9363 
 9364     meson: Check for HAVE_TYPEOF
 9365     
 9366     Without this, exa's gc swap macros trigger gcc's -Wdiscarded-qualifiers.
 9367     
 9368     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9369     Reviewed-by: Daniel Stone <daniels@collabora.com>
 9370 
 9371 commit 712b02ec72b98291b78e17dcb1073a13c4a1086e
 9372 Author: Adam Jackson <ajax@redhat.com>
 9373 Date:   Wed Sep 27 14:31:37 2017 -0400
 9374 
 9375     meson: Default to gnu99
 9376     
 9377     We don't really require all of C99, but enough that it's not worth
 9378     bothering with the distinction, especially if your toolchain is new
 9379     enough that meson is a thing for you. We could do strict C99 if we
 9380     really insisted on spelling it __typeof__, but who wants that? Nobody,
 9381     that's who.
 9382     
 9383     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9384     Reviewed-by: Eric Anholt <eric@anholt.net>
 9385 
 9386 commit 041f25afa81dfc7e7ef350d5b955d2d5912846c9
 9387 Author: Adam Jackson <ajax@redhat.com>
 9388 Date:   Wed Sep 27 14:31:36 2017 -0400
 9389 
 9390     test: const correctness fix
 9391     
 9392     ../test/sync/sync.c: In function ‘main’:
 9393     ../test/sync/sync.c:288:40: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 9394          xcb_query_extension_reply_t *ext = xcb_get_extension_data(c, &xcb_sync_id);
 9395                                             ^~~~~~~~~~~~~~~~~~~~~~
 9396     
 9397     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9398     Reviewed-by: Eric Anholt <eric@anholt.net>
 9399 
 9400 commit 1d1ff1142a5a3904175f45d2f52bbdffb0249e57
 9401 Author: Adam Jackson <ajax@redhat.com>
 9402 Date:   Wed Sep 27 14:31:35 2017 -0400
 9403 
 9404     dmx: More const correctness
 9405     
 9406     Fixes several dozen cases like:
 9407     
 9408     ../hw/dmx/examples/ev.c: In function ‘main’:
 9409     ../hw/dmx/examples/ev.c:147:29: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 9410                              tmp = "X";
 9411                                  ^
 9412     
 9413     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9414     Reviewed-by: Eric Anholt <eric@anholt.net>
 9415 
 9416 commit eb25facb37ef74eab83060b75f8205ce1538817f
 9417 Author: Adam Jackson <ajax@redhat.com>
 9418 Date:   Wed Sep 27 14:31:34 2017 -0400
 9419 
 9420     dmx: Fix a silly redeclaration bug
 9421     
 9422     ../hw/dmx/dmx.c:66:12: warning: redundant redeclaration of ‘PanoramiXNumScreens’ [-Wredundant-decls]
 9423      extern int PanoramiXNumScreens;
 9424                 ^~~~~~~~~~~~~~~~~~~
 9425     In file included from ../hw/dmx/dmx.c:65:0:
 9426     ../Xext/panoramiXsrv.h:11:22: note: previous declaration of ‘PanoramiXNumScreens’ was here
 9427      extern _X_EXPORT int PanoramiXNumScreens;
 9428                           ^~~~~~~~~~~~~~~~~~~
 9429     
 9430     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9431     Reviewed-by: Eric Anholt <eric@anholt.net>
 9432 
 9433 commit 8060196a3e80a3c0ad2c0abbe459416821cd366c
 9434 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 9435 Date:   Wed Sep 27 01:24:28 2017 -0400
 9436 
 9437     sync: Fix delta value check
 9438     
 9439     While transitionning from CARD64 to int64, the GreaterThan call
 9440     as mistakenly been transformed into ">=". That was at least
 9441     causing problems with Mutter.
 9442     
 9443     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 9444     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9445 
 9446 commit 37f4e7651a2fd51efa613a08a1e705553be33e76
 9447 Author: Keith Packard <keithp@keithp.com>
 9448 Date:   Mon Sep 25 16:18:22 2017 -0700
 9449 
 9450     modesetting: Skip no-longer-present connectors when resetting BAD links
 9451     
 9452     Outputs may have NULL mode_output (connector) pointers if the
 9453     connector disappears while the server is running. Skip these when
 9454     resetting outputs with BAD link status.
 9455     
 9456     Signed-off-by: Keith Packard <keithp@keithp.com>
 9457     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9458 
 9459 commit 147b4602f9c47e8977d13b1cbb6566f86dba8647
 9460 Author: Adam Jackson <ajax@redhat.com>
 9461 Date:   Mon Sep 25 15:06:44 2017 -0400
 9462 
 9463     xfree86: Hush some warnings when Xv is disabled
 9464     
 9465     Spotted by Appveyor:
 9466     
 9467     xf86Crtc.c:3281:1: warning: ‘xf86_crtc_box_area’ defined but not used [-Wunused-function]
 9468      xf86_crtc_box_area(BoxPtr box)
 9469      ^~~~~~~~~~~~~~~~~~
 9470     xf86Crtc.c:3268:1: warning: ‘x86_crtc_box’ defined but not used [-Wunused-function]
 9471      x86_crtc_box(xf86CrtcPtr crtc, BoxPtr crtc_box)
 9472      ^~~~~~~~~~~~
 9473     xf86Crtc.c:3256:1: warning: ‘x86_crtc_box_intersect’ defined but not used [-Wunused-function]
 9474      x86_crtc_box_intersect(BoxPtr dest, BoxPtr a, BoxPtr b)
 9475      ^~~~~~~~~~~~~~~~~~~~~~
 9476     
 9477     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9478     Reviewed-by: Eric Anholt <eric@anholt.net>
 9479 
 9480 commit 0888b22fea71118b1a9a238134b3b8d1dc659734
 9481 Author: Adam Jackson <ajax@redhat.com>
 9482 Date:   Mon Sep 25 15:01:32 2017 -0400
 9483 
 9484     test: Fix a thinko in simple-xinit
 9485     
 9486     Spotted by clang courtesy of the shiny new OSX Travis target:
 9487     
 9488     simple-xinit.c:90:65: warning: sizeof on pointer operation will return size of 'char *' instead of 'char [10]' [-Wsizeof-array-decay]
 9489         ret = read(displayfd, display_string, sizeof(display_string - 1));
 9490     
 9491     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9492     Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 9493 
 9494 commit 84e3b96b531363e47f6789aacfcae4aa60135e2e
 9495 Author: Nick Sarnie <commendsarnex@gmail.com>
 9496 Date:   Sat Sep 23 17:35:48 2017 -0400
 9497 
 9498     suid: Include sysmacros.h to fix build after glibc-2.25
 9499     
 9500     [Added HAVE_SYS_SYSMACROS_H guard - ajax]
 9501     
 9502     Signed-off-by: Nick Sarnie <commendsarnex@gmail.com>
 9503     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9504 
 9505 commit 0b00440678fa22c1c1ca4a292b67db3ab8676969
 9506 Author: Jon Turney <jon.turney@dronecode.org.uk>
 9507 Date:   Fri Sep 22 15:25:05 2017 +0100
 9508 
 9509     travis: Also build on OSX
 9510     
 9511     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 9512     Signed-off-by: Eric Anholt <eric@anholt.net>
 9513     Reviewed-by: Eric Anholt <eric@anholt.net>
 9514 
 9515 commit c30eca688781deb06b25a6a08297cb855aeb6ed2
 9516 Author: Jon Turney <jon.turney@dronecode.org.uk>
 9517 Date:   Fri Sep 22 13:54:01 2017 +0100
 9518 
 9519     meson: Make it possible to build for 32-bit targets
 9520     
 9521     Setting glx_align64 to '' gives a null string in the arguments list passed
 9522     to the compiler.  This is taken as an input filename, leading to:
 9523     
 9524     "cc: error: : No such file or directory"
 9525     
 9526     Instead, assign an empty list to glx_align64, which gets flattened to
 9527     nothing in the arguments list.
 9528     
 9529     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 9530     Signed-off-by: Eric Anholt <eric@anholt.net>
 9531     Reviewed-by: Eric Anholt <eric@anholt.net>
 9532 
 9533 commit 2c2e1b6f57753a82c7ca144a57950f9e2d76199e
 9534 Author: Adam Jackson <ajax@redhat.com>
 9535 Date:   Wed Aug 30 14:58:24 2017 -0400
 9536 
 9537     glx: Be a bit more paranoid in glx client cleanup
 9538     
 9539     This would probably crash (via double-free) if you had multiple GPUs and
 9540     an indirect context.
 9541     
 9542     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9543 
 9544 commit d770f9293296d2d3c4e49e94130ff68c0890f625
 9545 Author: Daniel Stone <daniels@collabora.com>
 9546 Date:   Wed Sep 20 07:22:13 2017 -0700
 9547 
 9548     meson: Use dependency version_compare()
 9549     
 9550     We can check the version on an existing dependency, rather than spinning
 9551     up pkg-config again just to check the right version.
 9552     
 9553     Signed-off-by: Daniel Stone <daniels@collabora.com>
 9554 
 9555 commit 86a89dd6020f59964c0e924acbfae9d5a51e3148
 9556 Author: Daniel Stone <daniels@collabora.com>
 9557 Date:   Wed Sep 20 07:22:12 2017 -0700
 9558 
 9559     Build: Use dri3proto/libdrm CFLAGS
 9560     
 9561     Make sure we get the CFLAGS required for building DRI3 into the
 9562     command line.
 9563     
 9564     Signed-off-by: Daniel Stone <daniels@collabora.com>
 9565 
 9566 commit 294670682120c65001b36369d6395003704f4ac1
 9567 Author: Eric Anholt <eric@anholt.net>
 9568 Date:   Mon Sep 18 17:34:33 2017 -0700
 9569 
 9570     sync: Clean up a bit of header formatting.
 9571     
 9572     Signed-off-by: Eric Anholt <eric@anholt.net>
 9573     Reviewed-by: Keith Packard <keithp@keithp.com>
 9574 
 9575 commit e0f872207aa203adb85e825c311ed50fe3a3af60
 9576 Author: Eric Anholt <eric@anholt.net>
 9577 Date:   Mon Sep 18 17:34:32 2017 -0700
 9578 
 9579     sync: Convert from "CARD64" to int64_t.
 9580     
 9581     The extension was using the name CARD64 to represent 64-bit values,
 9582     with a #define from CARD64 to XSyncValue, a struct with a pair of
 9583     32-bit values representing a signed 64-bit value.  This interfered
 9584     with protocol headers using CARD64 to try to actually store a
 9585     uint64_t.  Now that stdint.h exists, let's just use that here,
 9586     instead.
 9587     
 9588     v2: Fix alarm delta changes.
 9589     v3: Do the potentially overflowing math as uint and convert to int
 9590         afterward, out of C spec paranoia.
 9591     
 9592     Signed-off-by: Eric Anholt <eric@anholt.net>
 9593     Reviewed-by: Keith Packard <keithp@keithp.com>
 9594 
 9595 commit 5cbfa276541e6a621cf9c4b44b75323e90a5bd4c
 9596 Author: Eric Anholt <eric@anholt.net>
 9597 Date:   Mon Sep 18 17:34:31 2017 -0700
 9598 
 9599     test: Add basic SYNC tests.
 9600     
 9601     I couldn't find any, and I was modifying the implementation, so I had
 9602     to write some.  I would like the test to end with a "make sure there
 9603     weren't any stray unchecked errors", but I didn't figure out how to do
 9604     that.
 9605     
 9606     v2: Extend sync tests to cover alarm delta and waitvalue changes.
 9607     
 9608     Signed-off-by: Eric Anholt <eric@anholt.net>
 9609     Reviewed-by: Keith Packard <keithp@keithp.com>
 9610 
 9611 commit 3336291fc68444ee65b48ba675ec947e505fed57
 9612 Author: Eric Anholt <eric@anholt.net>
 9613 Date:   Mon Sep 18 17:34:30 2017 -0700
 9614 
 9615     test: Return error from simple-xinit if the client crashes.
 9616     
 9617     I want to be able to call client tests with simple-xinit, so assertion
 9618     failures should be an error.
 9619     
 9620     v2: Clean up identical returns.
 9621     
 9622     Signed-off-by: Eric Anholt <eric@anholt.net>
 9623 
 9624 commit a8eeb332ccf4d13b3fdcc382397bd3ea45e76212
 9625 Author: Eric Anholt <eric@anholt.net>
 9626 Date:   Mon Sep 18 17:34:29 2017 -0700
 9627 
 9628     meson: Add Xvfb and Xephyr-glamor testing.
 9629     
 9630     The Xvfb tests are passing and Xephyr-glamor is failing for me, but it
 9631     fails identically on autotools.  It's disabled on Travis for now
 9632     because the >10 minutes of silence during testing times out the entire
 9633     build.
 9634     
 9635     v2: Fix the disable on travis.
 9636     
 9637     Signed-off-by: Eric Anholt <eric@anholt.net>
 9638     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9639 
 9640 commit a09743c9300f805d6527368ddcf44f5dccd4b366
 9641 Author: Eric Anholt <eric@anholt.net>
 9642 Date:   Mon Sep 18 17:34:28 2017 -0700
 9643 
 9644     meson: Move Xvfb build under an option.
 9645     
 9646     Autotools also had it as an option.
 9647     
 9648     Signed-off-by: Eric Anholt <eric@anholt.net>
 9649     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9650 
 9651 commit de3b61869140768335daed0e855a5ae4bdb75020
 9652 Author: Jon Turney <jon.turney@dronecode.org.uk>
 9653 Date:   Fri Sep 15 14:36:52 2017 +0100
 9654 
 9655     Add an .appveyor.yml for AppVeyor CI
 9656     
 9657     This currently does an autotools build using Cygwin.
 9658     
 9659     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 9660     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9661 
 9662 commit 7d0728d6c42f9200b90c58e0357776018de18496
 9663 Author: Jon Turney <jon.turney@dronecode.org.uk>
 9664 Date:   Fri Sep 15 14:36:51 2017 +0100
 9665 
 9666     Revert "dmx: fix linking"
 9667     
 9668     Since commit 3ef16dfb9830bd6b41ae428f4f213ae0c35c1056, "dmx: fix
 9669     linking", linking dmx is broken for me:
 9670     
 9671       CCLD     Xdmx.exe
 9672     ../../render/.libs/librender.a(glyph.o): In function `HashGlyph':
 9673     /wip/xserver/build.x86_64/../render/glyph.c:168: undefined reference to `x_sha1_init'
 9674     /wip/xserver/build.x86_64/../render/glyph.c:174: undefined reference to `x_sha1_update'
 9675     /wip/xserver/build.x86_64/../render/glyph.c:177: undefined reference to `x_sha1_update'
 9676     /wip/xserver/build.x86_64/../render/glyph.c:180: undefined reference to `x_sha1_final'
 9677     ../../render/.libs/librender.a(mipict.o): In function `miClipPictureReg':
 9678     /wip/xserver/build.x86_64/../render/mipict.c:233: undefined reference to `pixman_region_n_rects'
 9679     /wip/xserver/build.x86_64/../render/mipict.c:234: undefined reference to `pixman_region_n_rects'
 9680     /wip/xserver/build.x86_64/../render/mipict.c:235: undefined reference to `pixman_region_rectangles'
 9681     /wip/xserver/build.x86_64/../render/mipict.c:236: undefined reference to `pixman_region_rectangles'
 9682     /wip/xserver/build.x86_64/../render/mipict.c:248: undefined reference to `pixman_region_init'
 9683     /wip/xserver/build.x86_64/../render/mipict.c:251: undefined reference to `pixman_region_not_empty'
 9684     /wip/xserver/build.x86_64/../render/mipict.c:261: undefined reference to `pixman_region_not_empty'
 9685     ../../render/.libs/librender.a(mipict.o): In function `miComputeCompositeRegion':
 9686     /wip/xserver/build.x86_64/../render/mipict.c:340: undefined reference to `pixman_region_init'
 9687     
 9688     The change this was fixing appears to be effectively reverted by
 9689     542d9f6807ac06b70f564ccab10af69fa21a1221, so just revert commit
 9690     3ef16dfb9830bd6b41ae428f4f213ae0c35c1056.
 9691     
 9692     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 9693     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9694 
 9695 commit fbd80b2c8ebe9fd41229dc5438524d107c071ff1
 9696 Author: Dawid Kurek <dawid.kurek@displaylink.com>
 9697 Date:   Thu Jul 6 14:51:11 2017 +0200
 9698 
 9699     modesetting: Blacklist EVDI devices from PRIME sync
 9700     
 9701     UDL (usb) devices are blacklisted because of they weird behaviour when
 9702     it comes to vblank events. As EVDI uses very similar model of handling
 9703     vblanks it should be treated similarly.
 9704     
 9705     When doing a page flip, EVDI does not wait for real vblank, but
 9706     simulates it by adding constant delay. It also does not support
 9707     DRM_IOCTL_WAIT_VBLANK.
 9708     
 9709     In contrast to UDL, EVDI uses platform devices, thus instead of 'usb' in
 9710     path they all have 'platform'.
 9711     
 9712     It is possible to blacklist by 'platform', so without explicitly saying
 9713     'evdi', but it might be misleading when it comes to real reason for it.
 9714     
 9715     Signed-off-by: Dawid Kurek <dawid.kurek@displaylink.com>
 9716 
 9717 commit eac1a2e37b833c179b587107230805ea1fb3dfda
 9718 Author: Emil Velikov <emil.velikov@collabora.com>
 9719 Date:   Thu Aug 3 19:43:28 2017 +0100
 9720 
 9721     dri2: sort DRI2InfoPtr::version checking in ascending order
 9722     
 9723     Makes it easer to follow if 8 is between 7 and 9 ;-)
 9724     
 9725     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 9726     Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
 9727 
 9728 commit 82df2ce38c560915f8c6574052bd56215b649072
 9729 Author: Roman Gilg <subdiff@gmail.com>
 9730 Date:   Tue Aug 22 15:38:26 2017 +0200
 9731 
 9732     xwayland: Avoid repeatedly looping through window ancestor chain
 9733     
 9734     Calling xwl_window_from_window means looping through the window ancestor
 9735     chain whenever it is called on a child window or on an automatically
 9736     redirected window.
 9737     
 9738     Since these properties and the potential ancestor's xwl_window are constant
 9739     between window realization and unrealization, we can omit the looping by
 9740     always putting the respective xwl_window in the Window's private field on
 9741     its realization. If the Window doesn't feature an xwl_window on its own,
 9742     it's the xwl_window of its first ancestor with one.
 9743     
 9744     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 9745     Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
 9746 
 9747 commit 1089d5d518a315963a8cda6c7d47a0ce09de0979
 9748 Author: Olivier Fourdan <ofourdan@redhat.com>
 9749 Date:   Thu Mar 2 11:03:15 2017 +0100
 9750 
 9751     xwayland: add envvar XWAYLAND_NO_GLAMOR
 9752     
 9753     Not all compositors allow for customizing the Xwayland command line,
 9754     gnome-shell/mutter for example have the command line and path to
 9755     Xwayland binary hardcoded, which makes it harder for users to disable
 9756     glamor acceleration in Xwayland (glamor being used by default).
 9757     
 9758     Add an environment variable XWAYLAND_NO_GLAMOR to disable glamor support
 9759     in Xwayland.
 9760     
 9761     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 9762     Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
 9763 
 9764 commit 5abaa50b292798370a665ace5eec56fd830be226
 9765 Author: Eric Anholt <eric@anholt.net>
 9766 Date:   Fri Sep 1 12:22:59 2017 -0700
 9767 
 9768     meson: Move the BUILD_DATE/TIME setup to configure time.
 9769     
 9770     By having it as a custom_target with build_always, every "ninja -C
 9771     build" would rebuild Xorg for the new date/time, even if the rest of
 9772     Xorg didn't change.
 9773     
 9774     We could build the rest of Xorg into a static lib, and regenerate
 9775     date/time when the static lib changes and link that into a final Xorg,
 9776     but BUILD_DATE/TIME is such a dubious feature (compared to including a
 9777     git sha, which is easy with meson) it doesn't seem worth the build
 9778     time cost.
 9779     
 9780     Signed-off-by: Eric Anholt <eric@anholt.net>
 9781     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9782 
 9783 commit 05e7e8b587dd9d37e8beadc72ab993f028c47fa1
 9784 Author: Eric Anholt <eric@anholt.net>
 9785 Date:   Fri Sep 1 12:22:58 2017 -0700
 9786 
 9787     meson: Include BUILD_DATE in the meson xf86Build.h.
 9788     
 9789     Due to a typo, I only had BUILD_TIME present.
 9790     
 9791     Signed-off-by: Eric Anholt <eric@anholt.net>
 9792     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9793 
 9794 commit 2b080a14c87fc9e5f77fc3361297ac332aa04f02
 9795 Author: Eric Anholt <eric@anholt.net>
 9796 Date:   Fri Sep 1 12:22:57 2017 -0700
 9797 
 9798     meson: Respect SOURCE_DATE_EPOCH for reproducible builds.
 9799     
 9800     This just copies over Chris Lamb's code from autotools.
 9801     
 9802     Signed-off-by: Eric Anholt <eric@anholt.net>
 9803     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9804 
 9805 commit 937ed782ae5e4e0da739f0630d1681b3754f0281
 9806 Author: Chris Lamb <lamby@debian.org>
 9807 Date:   Fri Sep 1 12:22:56 2017 -0700
 9808 
 9809     configure.ac: Make BUILD_{DATE, TIME} respect SOURCE_DATE_EPOCH if set
 9810     
 9811     Whilst working on the Reproducible Builds effort [0], we noticed that
 9812     xorg-server could not be built reproducibly. One reason is because it
 9813     embeds a "current" build and date time.
 9814     
 9815     This should be compatible with both GNU and BSD date(1).
 9816     
 9817      [0] https://reproducible-builds.org/
 9818     
 9819     v2: Fix change in Y-M-D format that broke the build.
 9820     
 9821     Signed-off-by: Eric Anholt <eric@anholt.net>
 9822     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9823 
 9824 commit a49379b6045453c7b787cc638db6afd0d14dce9c
 9825 Author: Adam Jackson <ajax@redhat.com>
 9826 Date:   Tue Sep 12 16:53:24 2017 -0400
 9827 
 9828     fb: Check whether the window is enabled directly
 9829     
 9830     ... instead of its root window. Xwayland's rootless mode empties the
 9831     root window border clip since its root window has no storage, but
 9832     redirected windows (the only kind it can show) will have a non-empty
 9833     border clip anyway, cf. the #ifdef COMPOSITE in miComputeClips. With
 9834     this change, non-glamor Xwayland's GetImage actually works.
 9835     
 9836     Other acceleration layers may need to change to account for this, but
 9837     this appears to be safe for the existing open source drivers. Only the
 9838     xfree86 DDX has any problem with losing its framebuffer on VT switch,
 9839     and even then only for UMS drivers (which excludes glamor, uxa, and sna
 9840     from consideration). This leaves exa, which already contains code to
 9841     evict pixmaps to host memory on VT switch. Since the xfree86 core will
 9842     still empty the root clip on VT switch, while the root window itself may
 9843     not contain a valid image we won't try to touch it, but GetImage from a
 9844     redirected window will now work even when switched away.
 9845     
 9846     Acked-by: Keith Packard <keithp@keithp.com>
 9847     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9848 
 9849 commit 9869dcb349b49f6d4cc2fab5d927cd8b1d1f463c
 9850 Author: Olivier Fourdan <ofourdan@redhat.com>
 9851 Date:   Wed Jul 26 16:00:38 2017 +0200
 9852 
 9853     glamor: Avoid overflow between box32 and box16 box
 9854     
 9855     glamor_compute_transform_clipped_regions() uses a temporary box32
 9856     internally which is copied back to a box16 to init the regions16,
 9857     thus causing a potential overflow.
 9858     
 9859     If an overflow occurs, the given region is invalid and the pixmap
 9860     init region will fail.
 9861     
 9862     Simply check that the coordinates won't overflow when copying back to
 9863     the box16, avoiding a crash later down the line in glamor.
 9864     
 9865     Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=101894
 9866     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 9867     Tested-by: Fabrice Bellet <fabrice@bellet.info>
 9868     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9869 
 9870 commit bd353e9b84e013fc34ed730319d5b63d20977903
 9871 Author: Olivier Fourdan <ofourdan@redhat.com>
 9872 Date:   Wed Jul 26 16:00:37 2017 +0200
 9873 
 9874     glamor: handle NULL source picture
 9875     
 9876     COMPOSITE_REGION() can pass NULL as a source picture, make sure we
 9877     handle that nicely in both glamor_composite_clipped_region() and
 9878     glamor_composite_choose_shader().
 9879     
 9880     Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=101894
 9881     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 9882     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9883 
 9884 commit 4486d199bd3bcb5b2b8ad9bc54eb11604d9bd653
 9885 Author: Thomas Hellstrom <thellstrom@vmware.com>
 9886 Date:   Wed Sep 6 16:27:54 2017 +0200
 9887 
 9888     glx: Fix visual fbconfig matching with respect to swap method
 9889     
 9890     For the built in visuals, we'd typically select the "best" fbconfig
 9891     without considering the swap method. If the client then requests a
 9892     specific swap method, say GLX_SWAP_COPY_OML, it may well happen that the
 9893     first fbconfig matching requirements would have been paired with the 32-bit
 9894     compositing visual, and the client would render a potentially transparent
 9895     window.
 9896     
 9897     Fix this so that we try to match fbconfigs with the same swap method to all
 9898     built-in visuals. That would guarantee that selecting a specific swap-
 9899     method would not influence the chance of getting a compositing visual.
 9900     
 9901     Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
 9902     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9903 
 9904 commit 0fc26310d5b09213c65f50bde444a1758172b016
 9905 Author: Thomas Hellstrom <thellstrom@vmware.com>
 9906 Date:   Wed Sep 6 16:27:53 2017 +0200
 9907 
 9908     glx: Work around a GLX_OML swap method in older dri drivers
 9909     
 9910     The swapMethod config member would typically contain an arbitrary value
 9911     on older dri drivers. Fix this so that if we detect an illegal value,
 9912     return GLX_SWAP_UNDEFINED_OML.
 9913     
 9914     Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
 9915     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9916 
 9917 commit da29a15874229d78ec61946eacdbbed9871e3664
 9918 Author: Emil Velikov <emil.l.velikov@gmail.com>
 9919 Date:   Thu Sep 29 18:36:43 2016 +0100
 9920 
 9921     glx: remove unused systemTimeExtension
 9922     
 9923     Not even a single DRI2/DRISW driver in mesa ever used this. Appears to be a
 9924     dri1 artefact copy/pasted in the dri2/drisw codebase.
 9925     
 9926     Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
 9927     Signed-off-by: Eric Anholt <eric@anholt.net>
 9928     Reviewed-by: Eric Anholt <eric@anholt.net>
 9929 
 9930 commit ea82ececbf85a7ac3d0931687f44c57534fde17c
 9931 Author: Peter Hutterer <peter.hutterer@who-t.net>
 9932 Date:   Wed Sep 6 11:53:02 2017 +1000
 9933 
 9934     test: fix compiler warning
 9935     
 9936     signal-logging.c:182:12: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
 9937     
 9938     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 9939 
 9940 commit e12e02b2e6ee4582ba902ec1d1e5309abc78e282
 9941 Author: Emil Velikov <emil.l.velikov@gmail.com>
 9942 Date:   Sun Apr 17 17:24:53 2016 +0100
 9943 
 9944     glamor: use the lowercase xnf.*alloc API
 9945     
 9946     Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
 9947     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 9948     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 9949 
 9950 commit 17e488570067cdf499c7ad17ab198508c6f1531d
 9951 Author: Emil Velikov <emil.l.velikov@gmail.com>
 9952 Date:   Sun Apr 17 17:24:52 2016 +0100
 9953 
 9954     xwayland: use the lowercase xnf.*alloc API
 9955     
 9956     Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
 9957     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 9958     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 9959 
 9960 commit cdd0352ba05d4d8482aaca41797e05d40e58da36
 9961 Author: Olivier Fourdan <ofourdan@redhat.com>
 9962 Date:   Thu Aug 31 10:23:00 2017 +0200
 9963 
 9964     xwayland: Fix a segfault with pointer locking
 9965     
 9966     Xwayland would crash in some circumstances while trying to issue a
 9967     pointer locking when the cursor is hidden when there is no seat focus
 9968     window set.
 9969     
 9970     The crash signature looks like:
 9971     
 9972      #0  zwp_pointer_constraints_v1_lock_pointer ()
 9973      #1  xwl_pointer_warp_emulator_lock () at xwayland-input.c:2584
 9974      #2  xwl_seat_maybe_lock_on_hidden_cursor () at xwayland-input.c:2756
 9975      #3  xwl_seat_maybe_lock_on_hidden_cursor () at xwayland-input.c:2765
 9976      #4  xwl_seat_cursor_visibility_changed () at xwayland-input.c:2768
 9977      #5  xwl_set_cursor () at xwayland-cursor.c:245
 9978      #6  miPointerUpdateSprite () at mipointer.c:468
 9979      #7  miPointerDisplayCursor () at mipointer.c:206
 9980      #8  CursorDisplayCursor () at cursor.c:150
 9981      #9  AnimCurDisplayCursor () at animcur.c:220
 9982      #10 ChangeToCursor () at events.c:936
 9983      #11 ActivatePointerGrab () at events.c:1542
 9984      #12 GrabDevice () at events.c:5120
 9985      #13 ProcGrabPointer () at events.c:4908
 9986      #14 Dispatch () at dispatch.c:478
 9987      #15 dix_main () at main.c:276
 9988     
 9989     xwl_pointer_warp_emulator_lock() tries to use the surface from the
 9990     xwl_seat->focus_window leading to a NULL pointer dereference when that
 9991     value is NULL.
 9992     
 9993     Check that xwl_seat->focus_window is not NULL earlier in the stack in
 9994     xwl_seat_maybe_lock_on_hidden_cursor() and return early if not the case
 9995     to avoid the crash.
 9996     
 9997     Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=102474
 9998     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 9999     Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
10000     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
10001 
10002 commit 3fbc3c3eefd3803d0c4e86e42595d8a891aeb5f2
10003 Author: Olivier Fourdan <ofourdan@redhat.com>
10004 Date:   Fri Sep 1 09:35:33 2017 +0200
10005 
10006     xwayland: No grab handler without protocol support
10007     
10008     If the compositor has no support for the Xwayland keyboard grab
10009     protocol, there is no need to set-up our keyboard grab handler.
10010     
10011     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
10012     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
10013     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
10014 
10015 commit aabf65d2a0206bd1a9c6e9a9f3153ded873dfd43
10016 Author: Adam Jackson <ajax@redhat.com>
10017 Date:   Wed Aug 30 15:11:45 2017 -0400
10018 
10019     os: Fix warning in LockServer
10020     
10021     The meson build gives me:
10022     
10023     ../os/utils.c: In function ‘LockServer’:
10024     ../os/utils.c:310:40: warning: ‘snprintf’ output may be truncated before the last format character [-Wformat-truncation=]
10025          snprintf(pid_str, sizeof(pid_str), "%10ld\n", (long) getpid());
10026                                             ^~~~~~~~~
10027     ../os/utils.c:310:5: note: ‘snprintf’ output between 12 and 13 bytes into a destination of size 12
10028          snprintf(pid_str, sizeof(pid_str), "%10ld\n", (long) getpid());
10029          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10030     
10031     Which seems to be due to the %d part meaning that a negative number's -
10032     sign would be one wider than we're expecting. Fine, just coerce it to
10033     unsigned.
10034     
10035     Signed-off-by: Adam Jackson <ajax@redhat.com>
10036     Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
10037 
10038 commit 3bc32a7f593cbd2747237621135ef5196bc1e15a
10039 Author: Adam Jackson <ajax@redhat.com>
10040 Date:   Tue Aug 22 12:19:56 2017 -0400
10041 
10042     glx: Fix error generation for non-reply vendor private requests
10043     
10044     Discarding the return value here is just wrong.
10045     
10046     Signed-off-by: Adam Jackson <ajax@redhat.com>
10047     Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
10048 
10049 commit 591ac95f73b1c1ea681c45e4da9afa2b1d505abe
10050 Author: Emil Velikov <emil.l.velikov@gmail.com>
10051 Date:   Tue Aug 22 11:48:31 2017 +0100
10052 
10053     xwin: automake: remove unused {SRCS, DEFS}_{NATIVEGDI, PRIMARYFB}
10054     
10055     Left over from the following commits:
10056     
10057     8465ee788fd xwin: Remove native GDI engine (v2)
10058     c79f824bf66 xwin: Remove primary DirectDraw engine
10059     
10060     v2: drop leading - in the makefile
10061     
10062     Cc: Adam Jackson <ajax@redhat.com>
10063     Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
10064     Reviewed-by: Jon Turney <jon.turney@dronecode.org.uk> (v1)
10065 
10066 commit 69fe6156ec6cd37657d4e5af1c6f21ebf72b8fd7
10067 Author: Emil Velikov <emil.l.velikov@gmail.com>
10068 Date:   Tue Aug 22 11:48:30 2017 +0100
10069 
10070     xwin: remove always true/set XWIN_RANDR conditional/define
10071     
10072     Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
10073     Reviewed-by: Jon Turney <jon.turney@dronecode.org.uk>
10074 
10075 commit 8f1a200d0be261a60bb9e8e72d8704cef2d91cd4
10076 Author: Emil Velikov <emil.l.velikov@gmail.com>
10077 Date:   Tue Aug 22 11:48:29 2017 +0100
10078 
10079     xwin: remove always true/set XWIN_MULTIWINDOW conditional/define
10080     
10081     v2: drop trailing endif (Jon)
10082     
10083     Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
10084     Reviewed-by: Jon Turney <jon.turney@dronecode.org.uk>
10085 
10086 commit 9d00f6190a8e5cc4ebda9b315d7c0a0782b58501
10087 Author: Emil Velikov <emil.l.velikov@gmail.com>
10088 Date:   Tue Aug 22 11:48:28 2017 +0100
10089 
10090     xwin: remove always true/set XWIN_CLIPBOARD conditional/define
10091     
10092     v2: drop trailing endif (Jon)
10093     
10094     Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
10095     Reviewed-by: Jon Turney <jon.turney@dronecode.org.uk>
10096 
10097 commit 1ef65692258136d6e36d0d9d6c5efad9877c9ceb
10098 Author: Emil Velikov <emil.l.velikov@gmail.com>
10099 Date:   Tue Aug 22 11:48:27 2017 +0100
10100 
10101     os: make MitGenerateCookie() independent of XCSECURITY
10102     
10103     Analogous to previous commit.
10104     
10105     Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
10106     Reviewed-by: Jon Turney <jon.turney@dronecode.org.uk>
10107 
10108 commit 292ee7151631cabbd928847a5a2ca47e14a06b75
10109 Author: Emil Velikov <emil.l.velikov@gmail.com>
10110 Date:   Tue Aug 22 11:48:26 2017 +0100
10111 
10112     os: make GenerateRandomData() independent of XCSECURITY
10113     
10114     The function itself does not depend on the macro. Move it outside
10115     of the ifdef guard and remove the identical copy in XWIN.
10116     
10117     This is step 1 towards removing the duplication in winauth.c and moving
10118     the OS specifics to os/
10119     
10120     Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
10121     Reviewed-by: Jon Turney <jon.turney@dronecode.org.uk>
10122 
10123 commit 8aee1f40eaa3527c90698d6826ce8314b8b5a92a
10124 Author: Emil Velikov <emil.l.velikov@gmail.com>
10125 Date:   Tue Aug 22 11:48:25 2017 +0100
10126 
10127     xwin/glx: remove unused __GLXWinScreen::glx_enable_bits
10128     
10129     All the relevant code already uses the ::base::glx_enable_bits one.
10130     
10131     Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
10132     Reviewed-by: Jon Turney <jon.turney@dronecode.org.uk>
10133 
10134 commit 43878fa8772d8642f601d65e78d2f702ecc0de41
10135 Author: Adam Jackson <ajax@redhat.com>
10136 Date:   Wed Aug 16 14:49:18 2017 -0400
10137 
10138     glx: Remove some unused stuff from glxserver.h
10139     
10140     Signed-off-by: Adam Jackson <ajax@redhat.com>
10141     Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
10142     Reviewed-by: Keith Packard <keithp@keithp.com>
10143 
10144 commit 3d81abba9ca2f9d57b4c293e3b7fcb32ef853f44
10145 Author: Adam Jackson <ajax@redhat.com>
10146 Date:   Wed Aug 16 14:49:17 2017 -0400
10147 
10148     glx: Inline some reply swapping code
10149     
10150     Signed-off-by: Adam Jackson <ajax@redhat.com>
10151     Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
10152 
10153 commit 51bab63b7353319c51ec2f1adaed95d86e4f6119
10154 Author: Adam Jackson <ajax@redhat.com>
10155 Date:   Wed Aug 16 14:49:16 2017 -0400
10156 
10157     glx: Remove True/False defines
10158     
10159     Those are xlib spellings, we say TRUE/FALSE pretty consistently
10160     elsewhere in the server.
10161     
10162     Signed-off-by: Adam Jackson <ajax@redhat.com>
10163     Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
10164     Reviewed-by: Keith Packard <keithp@keithp.com>
10165 
10166 commit 8e3b26ceaa86eaf98a78f6b84f46a4a86aed8ef8
10167 Author: Michel Dänzer <michel.daenzer@amd.com>
10168 Date:   Fri Apr 14 19:08:41 2017 +0900
10169 
10170     Make PixmapDirtyUpdateRec::src a DrawablePtr
10171     
10172     This allows making the master screen's pixmap_dirty_list entries
10173     explicitly reflect that we're now tracking the root window instead of
10174     the screen pixmap, in order to allow Present page flipping on master
10175     outputs while there are active slave outputs.
10176     
10177     Define HAS_DIRTYTRACKING_DRAWABLE_SRC for drivers to check, but leave
10178     HAS_DIRTYTRACKING_ROTATION defined as well to make things slightly
10179     easier for drivers.
10180     
10181     Reviewed-by: Adam Jackson <ajax@redhat.com>
10182 
10183 commit c52f77e4ca2cda878da341a6228e6411eec7b1a0
10184 Author: Peter Harris <pharris@opentext.com>
10185 Date:   Mon Aug 14 15:54:36 2017 -0400
10186 
10187     meson: Fix epoll detection
10188     
10189     The epoll code depends on epoll_create1, not epoll_create.
10190     
10191     Signed-off-by: Peter Harris <pharris@opentext.com>
10192     Signed-off-by: Eric Anholt <eric@anholt.net>
10193     Reviewed-by: Eric Anholt <eric@anholt.net>
10194 
10195 commit 27500ee82e97ef8a6b3199c2d7b623523c1ee2c1
10196 Author: Eric Anholt <eric@anholt.net>
10197 Date:   Mon Jul 10 12:08:29 2017 -0700
10198 
10199     glamor: Scissor Render composite operations to the bounds of the drawing.
10200     
10201     Unlike the previous two fixes, this one introduces new GL calls and
10202     statechanges of the scissor.  However, given that our Render drawing
10203     already does CPU side transformation and inefficient box upload, this
10204     shouldn't be a limiting factor for Render acceleration.
10205     
10206     Surprisingly, it improves x11perf -comppixwin10 -repeat 1 -reps 10000
10207     on i965 by 3.21191% +/- 1.79977% (n=50).
10208     
10209     v2: Make the jump to the exit land after scissor disable.
10210     
10211     Signed-off-by: Eric Anholt <eric@anholt.net>
10212     Reviewed-by: Keith Packard <keithp@keithp.com>
10213 
10214 commit e6ab3b1109e72a1512c6b7b92dd84525ad8c8052
10215 Author: Eric Anholt <eric@anholt.net>
10216 Date:   Thu Jul 6 16:15:17 2017 -0700
10217 
10218     glamor: Scissor CopyArea to the bounds of the drawing.
10219     
10220     Like the previous fix to rectangles, this reduces the area drawn on
10221     tiled renderers by letting the CPU-side tile setup know what tiles
10222     might be drawn at all.
10223     
10224     Surprisingly, it improves x11perf -copypixwin1 -repeat 1 -reps 10000
10225     on i965 by 2.93185% +/- 1.5561% (n=90).
10226     
10227     v2: Drop extra glamor_bounds_union_box() from previous debugging
10228         (caught by Mark Marshall).
10229     
10230     Signed-off-by: Eric Anholt <eric@anholt.net>
10231     Reviewed-by: Keith Packard <keithp@keithp.com> (v1)
10232 
10233 commit 60cc7e367a2a5e6014f193105dafd47a4d598fd9
10234 Author: Eric Anholt <eric@anholt.net>
10235 Date:   Thu Jul 6 15:43:14 2017 -0700
10236 
10237     glamor: Scissor rectangle drawing to the bounds of the rects.
10238     
10239     Scissors provide a critical hint to tiled renderers as to what tiles
10240     need to be load/stored because they could be modified by the
10241     rendering.
10242     
10243     The bounds calculation here is limited to when we have a small number
10244     of rects (large enough to cover rounded window corners, but probably
10245     not xeyes) to avoid overhead on desktop GL.
10246     
10247     No performance difference on i965 with x11perf -rect1 -repeat 1 -reps
10248     10000 (n=50)
10249     
10250     v2: Clamp rectangle bounds addition.
10251     
10252     Signed-off-by: Eric Anholt <eric@anholt.net>
10253     Reviewed-by: Keith Packard <keithp@keithp.com>
10254 
10255 commit f2110157713cf22c8b5c46a0d5416fdb033c27d3
10256 Author: Eric Anholt <eric@anholt.net>
10257 Date:   Tue May 9 15:48:27 2017 -0700
10258 
10259     test: Remove unused ddxstubs.c
10260     
10261     Signed-off-by: Eric Anholt <eric@anholt.net>
10262     Reviewed-by: Keith Packard <keithp@keithp.com>
10263 
10264 commit f80119120c487581ac050ce741808f7c8f438f35
10265 Author: Adam Jackson <ajax@redhat.com>
10266 Date:   Thu Jul 27 16:02:28 2017 -0400
10267 
10268     composite: Make compIsAlternateVisual safe even if Composite is off
10269     
10270     As of ea483af9 we're calling this unconditionally from the GLX code so
10271     the synthetic visual is in a lower select group. If Composite has been
10272     disabled then GetCompScreen() will return NULL, and this would crash.
10273     
10274     Rather than force the caller to check first, just always return FALSE if
10275     Composite is disabled (which is correct, since none of the visuals will
10276     be synthetic in that case).
10277     
10278     Signed-off-by: Adam Jackson <ajax@redhat.com>
10279     Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
10280 
10281 commit b06a85e7fd6ddac58dd97e5d7ce3b5ea9553c8f6
10282 Author: Emil Velikov <emil.velikov@collabora.com>
10283 Date:   Mon Jul 31 14:13:48 2017 +0100
10284 
10285     glx: remove unused GlxSetVisualConfigs stub
10286     
10287     The function was an empty since 2008 at least. Drop it since no
10288     drivers use it any more.
10289     
10290     Reviewed-by: Adam Jackson <ajax@redhat.com>
10291     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
10292 
10293 commit e8f190b445ae10b12896ee396cd8d57f6b6b8cc4
10294 Author: Eric Anholt <eric@anholt.net>
10295 Date:   Fri Aug 4 13:19:01 2017 -0700
10296 
10297     travis: Request a new docker image with xkb-data and xkbcomp installed.
10298     
10299     Xvfb was erroring out with:
10300     
10301     XKB: Failed to compile keymap
10302     Keyboard initialization failed. This could be a missing or incorrect
10303     setup of xkeyboard-config.
10304     (EE) Fatal server error:
10305     (EE) Failed to activate virtual core keyboard: 2(EE)
10306     
10307     With this change, we can now run my xsync regression test on Travis.
10308     
10309     Reviewed-by: Adam Jackson <ajax@redhat.com>
10310     Signed-off-by: Eric Anholt <eric@anholt.net>
10311 
10312 commit b62e486c4e3d7411f3e70b610af7f8b9dd5e8a73
10313 Author: Eric Anholt <eric@anholt.net>
10314 Date:   Fri Aug 4 13:19:00 2017 -0700
10315 
10316     travis: Set prefix to /usr, so we find xkbcomp.
10317     
10318     Reviewed-by: Adam Jackson <ajax@redhat.com>
10319     Signed-off-by: Eric Anholt <eric@anholt.net>
10320 
10321 commit 2d50e32e0ba1045f8c73a14335743ae98121d102
10322 Author: Eric Anholt <eric@anholt.net>
10323 Date:   Tue Aug 1 13:11:25 2017 -0700
10324 
10325     meson: Fix xwayland build since xwayland-keyboard-grab.
10326     
10327     The version detect was erroring out with 1.9 protos installed, and we
10328     weren't building the new code.
10329     
10330     Signed-off-by: Eric Anholt <eric@anholt.net>
10331     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
10332     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
10333 
10334 commit 0a448d133f4f1c913b1c2cb05accff31c74a3dbf
10335 Author: Olivier Fourdan <ofourdan@redhat.com>
10336 Date:   Wed Jul 12 11:51:08 2017 +0200
10337 
10338     xwayland: Add grab protocol support
10339     
10340     The keyboard grabbing protocol for Xwayland is included in
10341     wayland-protocol 1.9.
10342     
10343     Update the wayland-protocol required version in both configure and meson
10344     builds and add support for this new protocol in Xwayland.
10345     
10346     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
10347     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
10348     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
10349 
10350 commit abe49b009064c38823fac17c373fd5f1a390b3ab
10351 Author: Jan Beich <jbeich@freebsd.org>
10352 Date:   Fri Jul 7 19:59:05 2017 +0200
10353 
10354     dix: unbreak --with-dtrace (default) on FreeBSD 11.1+
10355     
10356     gmake[2]: Entering directory '/path/to/xserver/dix'
10357     /usr/sbin/dtrace -G -C -o dtrace-dix.o -s ../dix/Xserver.d .libs/atom.o ...
10358     dtrace: failed to compile script ../dix/Xserver.d: line 26: useless declaration
10359     gmake[2]: *** [Makefile:1007: dtrace-dix.o] Error 1
10360     
10361     Signed-off-by: Jan Beich <jbeich@FreeBSD.org>
10362     Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
10363 
10364 commit c967e4cd8ba50034b6e02d87df10d04edf15ccf6
10365 Author: Emil Velikov <emil.velikov@collabora.com>
10366 Date:   Mon Jul 31 14:06:48 2017 +0100
10367 
10368     glx: don't export __glXDRISWRastProvider
10369     
10370     The symbol is used only internally and is not part of the API/ABI.
10371     
10372     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
10373     Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
10374 
10375 commit c09e906d61a0855a8202e58ba72ed6bb3b08f37f
10376 Author: Emil Velikov <emil.velikov@collabora.com>
10377 Date:   Mon Jul 31 14:06:47 2017 +0100
10378 
10379     glx: fix typo becuase -> because
10380     
10381     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
10382     Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
10383 
10384 commit db0dd06ddf47d5190f2349ed8b0e71caa9e8e1eb
10385 Author: Adam Jackson <ajax@redhat.com>
10386 Date:   Thu Jul 27 16:02:33 2017 -0400
10387 
10388     glx: Allow arbitrary context attributes for direct contexts
10389     
10390     For direct contexts, most context attributes don't require any
10391     particular awareness on the part of the server. Examples include
10392     GLX_ARB_create_context_no_error and GLX_ARB_context_flush_control, where
10393     all of the behavior change lives in the renderer; since that's on the
10394     client side for a direct context, there's no reason for the X server to
10395     validate the attribute.
10396     
10397     The context attributes will still be validated on the client side, and
10398     we still validate attributes for indirect contexts since the server
10399     implementation might need to handle them. For example, the indirect
10400     code might internally use ARB_context_flush_control for all contexts, in
10401     which case it would need to manually emit glFlush when the client
10402     switches between two indirect contexts that didn't request the no-flush
10403     attribute.
10404     
10405     Signed-off-by: Adam Jackson <ajax@redhat.com>
10406     Reviewed-by: Eric Anholt <eric@anholt.net>
10407 
10408 commit 3050d277616ef472a24d8ccd24afcbf8e31ed80e
10409 Author: Adam Jackson <ajax@redhat.com>
10410 Date:   Tue Jun 27 11:18:48 2017 -0400
10411 
10412     xfree86: Fix X -configure driver sort yet again
10413     
10414     There were two bugs here: The comparison function was not stable when
10415     one or more of the drivers being compared is a fallback, and the last
10416     driver in the list would never be moved.
10417     
10418     Signed-off-by: Adam Jackson <ajax@redhat.com>
10419 
10420 commit 6f9939525c31f1f2d8d6c137a46404278384b4bf
10421 Author: Adam Jackson <ajax@redhat.com>
10422 Date:   Mon Jun 26 12:43:54 2017 -0400
10423 
10424     modesetting: Fix PCI initialization on non-zero domains
10425     
10426     libdrm's busid matching for the legacy three-integer bus string format
10427     simply ignores the domain number, rather than what we were doing here of
10428     packing the domain into the bus number. Whatever, just use the existing
10429     code to build a busid string, since that gets the domain right.
10430     
10431     Signed-off-by: Adam Jackson <ajax@redhat.com>
10432 
10433 commit d16133e3e293fe16b291114d344fbd5a61d5ed65
10434 Author: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
10435 Date:   Thu Jul 20 19:48:26 2017 -0700
10436 
10437     glx: Only include compositeext.h if COMPOSITE is supported
10438     
10439     Regressed-in: ea483af99a6351323afe00a0b630cd63310efdb1
10440     Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
10441 
10442 commit dd0b721c977e88d7c3830cc2a672c2793bca4fa0
10443 Author: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
10444 Date:   Tue Jul 18 21:35:49 2017 -0700
10445 
10446     XQuartz: Hack around an issue that can occur on macOS due to background apps incorrectly stealing focus
10447     
10448     Works around <rdar://problem/7150340>.
10449     
10450     Tested-by: Martin Otte <martinjotte@gmail.com>
10451     Tested-by: Tom Lane <tgl@sss.pgh.pa.us>
10452     Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
10453 
10454 commit 211e05ac85a294ef361b9f80d689047fa52b9076
10455 Author: Michal Srb <msrb@suse.com>
10456 Date:   Fri Jul 7 17:21:46 2017 +0200
10457 
10458     Xi: Test exact size of XIBarrierReleasePointer
10459     
10460     Otherwise a client can send any value of num_barriers and cause reading or swapping of values on heap behind the receive buffer.
10461     
10462     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
10463 
10464 commit abb031e731f5c159add1b3351de9c4bb121bf00a
10465 Author: Rodrigo Vivi <rodrigo.vivi@intel.com>
10466 Date:   Thu Jun 29 13:29:58 2017 -0700
10467 
10468     dri2: Sync i965_pci_ids.h from Mesa.
10469     
10470     Copied from Mesa with no modifications.
10471     
10472     Gives us Coffee Lake and Cannon Lake PCI IDs.
10473     
10474     Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
10475     Acked-by: Kenneth Graunke <kenneth@whitecape.org>
10476 
10477 commit 05a4396f08c83d9261b8ad16908d9e2730bd4bbf
10478 Author: Emil Velikov <emil.velikov@collabora.com>
10479 Date:   Thu Jun 29 02:17:06 2017 +0100
10480 
10481     glamor: update "required EGL extensions" comment
10482     
10483     The extensions listed have not been needed in a while. Replace with the
10484     only remaining requirement.
10485     
10486     Reviewed-by: Adam Jackson <ajax@redhat.com>
10487     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
10488 
10489 commit 04511a0476b5c860e7d157b01080dff94d935f74
10490 Author: Adam Jackson <ajax@redhat.com>
10491 Date:   Thu Jun 29 10:32:00 2017 -0400
10492 
10493     wayland: Sync drm.xml with Mesa
10494     
10495     ... where it is named src/egl/wayland/wayland-drm/wayland-drm.xml and
10496     has its requests sorted by protocol version number, avoiding a warning
10497     from wayland-scanner.
10498     
10499     Signed-off-by: Adam Jackson <ajax@redhat.com>
10500     Reviewed-by: Daniel Stone <daniels@collabora.com>
10501 
10502 commit ce393de0efb8626d15f3b97c97916971a6aefebd
10503 Author: Dave Airlie <airlied@redhat.com>
10504 Date:   Fri Jun 23 09:29:13 2017 +1000
10505 
10506     modesetting: handle NULL cursor in drmmode_set_cursor.
10507     
10508     We had a bug reported with a touchscreen where we could end up
10509     in here with a NULL cursor, so let's not crash the X server.
10510     
10511     Signed-off-by: Dave Airlie <airlied@redhat.com>
10512     Reviewed-and-Tested-by: Daniel Martin <consume.noise@gmail.com>
10513     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
10514 
10515 commit 43527d31810fe94a5eb4b2543bbc8eb26b1654b7
10516 Author: Peter Hutterer <peter.hutterer@who-t.net>
10517 Date:   Tue Jul 4 06:51:58 2017 +1000
10518 
10519     xfree86: link to libinput(4) from the xorg.conf man page
10520     
10521     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
10522     Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
10523 
10524 commit edaad0eff48219787d27f7723cd3d4d9b293de96
10525 Author: Adam Jackson <ajax@redhat.com>
10526 Date:   Thu Jun 29 13:57:37 2017 -0400
10527 
10528     automake: Add hw/xfree86/xkb/meson.build to EXTRA_DIST
10529     
10530     Signed-off-by: Adam Jackson <ajax@redhat.com>
10531 
10532 commit 06419a5b17180126d2507c8699229e07f5b2c434
10533 Author: Emil Velikov <emil.velikov@collabora.com>
10534 Date:   Thu Jun 29 01:55:25 2017 +0100
10535 
10536     glamor: remove no longer needed KHR_gl_texture_2D_image requirement
10537     
10538     The code that needed it was introduced with commit 7cfd9cc2327 ("Add
10539     DRI3 support to glamor") back in 2013. And was nuked a couple of years
10540     ago with commit 51984dddfcc ("glamor: Delay making pixmaps shareable
10541     until we need to.")
10542     
10543     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
10544     Reviewed-by: Eric Anholt <eric@anholt.net>
10545 
10546 commit 47a7b63f7455eaeacb634fd800e924f2087dacbd
10547 Author: Jon TURNEY <jon.turney@dronecode.org.uk>
10548 Date:   Mon Jun 26 14:54:06 2017 +0100
10549 
10550     meson: Use --export-all-symbols when building PE/COFF objects
10551     
10552     Reviewed-by: Adam Jackson <ajax@redhat.com>
10553 
10554 commit b34abb3d2da46339d59a0feefd2240790a6a6a0e
10555 Author: Jon TURNEY <jon.turney@dronecode.org.uk>
10556 Date:   Mon Jun 26 14:54:05 2017 +0100
10557 
10558     meson: Shuffle around subdirs so we build Xorg loadable modules after Xorg
10559     
10560     Reviewed-by: Adam Jackson <ajax@redhat.com>
10561 
10562 commit fbdd73fac68383c93f6f5c6a7615860503039999
10563 Author: Jon TURNEY <jon.turney@dronecode.org.uk>
10564 Date:   Mon Jun 26 14:54:04 2017 +0100
10565 
10566     Move statically linked xorgxkb files from dixmods to a separate directory
10567     
10568     [ajax: Fixed test/Makefile.am as well]
10569     
10570     Reviewed-by: Adam Jackson <ajax@redhat.com>
10571 
10572 commit 5c8fb7d128e312e6c01cd40c7ada072c4b5f3776
10573 Author: Adam Jackson <ajax@redhat.com>
10574 Date:   Wed Jun 21 15:58:43 2017 -0400
10575 
10576     xfree86: Move DRICreatePCIBusID to xf86Pci.h
10577     
10578     xf86str.h is parsed into sdksyms unconditionally but the symbol is only
10579     defined when building with PCI support. Move the decl to a header that
10580     sdksyms only parses when building PCI support.
10581     
10582     Signed-off-by: Adam Jackson <ajax@redhat.com>
10583     Reviewed-by: Jon Turney <jon.turney@dronecode.org.uk>
10584 
10585 commit 525db17e04d5cabaeefd20e38cebe7d606047a76
10586 Author: Adam Jackson <ajax@redhat.com>
10587 Date:   Fri Jun 16 15:44:52 2017 -0400
10588 
10589     glx/drisw: Use scratch GCs for swrastPutImage
10590     
10591     The scratch GC defaults to the same state as our persistent GCs. Except
10592     for the "draw" GC, which would generate graphics exposures for... well,
10593     no reason really, PutImage doesn't generate graphics exposures.
10594     
10595     Signed-off-by: Adam Jackson <ajax@redhat.com>
10596     Reviewed-by: Keith Packard <keithp@keithp.com>
10597 
10598 commit ecc5e362985d1f649c29ac5f93be19851eaf7d87
10599 Author: Adam Jackson <ajax@redhat.com>
10600 Date:   Fri Jun 16 15:44:51 2017 -0400
10601 
10602     glx/drisw: Remove unused glx_enable_bits
10603     
10604     Sloppy of me!
10605     
10606     Signed-off-by: Adam Jackson <ajax@redhat.com>
10607     Acked-by: Keith Packard <keithp@keithp.com>
10608 
10609 commit a6c23ef31a4e5aea19ddabdf4a0760f4c48f1ebe
10610 Author: Adam Jackson <ajax@redhat.com>
10611 Date:   Fri Jun 16 15:44:50 2017 -0400
10612 
10613     glx/dri2: Don't chirp when falling back to software
10614     
10615     This isn't an error if the screen isn't accelerated in the first place.
10616     
10617     Signed-off-by: Adam Jackson <ajax@redhat.com>
10618     Acked-by: Keith Packard <keithp@keithp.com>
10619 
10620 commit 0b1831d043028f7dd6accca19a81e2abd9a145b5
10621 Author: Adam Jackson <ajax@redhat.com>
10622 Date:   Fri Jun 16 15:44:49 2017 -0400
10623 
10624     glx: Remove some indirection around EXT_texture_from_pixmap
10625     
10626     Signed-off-by: Adam Jackson <ajax@redhat.com>
10627     Reviewed-by: Keith Packard <keithp@keithp.com>
10628 
10629 commit c33541e59e338cd53f89d94a6898555d350e84aa
10630 Author: Adam Jackson <ajax@redhat.com>
10631 Date:   Fri Jun 16 15:44:48 2017 -0400
10632 
10633     glx: Remove __glXReply
10634     
10635     Static data bad, hulk smash.
10636     
10637     Signed-off-by: Adam Jackson <ajax@redhat.com>
10638     Reviewed-by: Keith Packard <keithp@keithp.com>
10639 
10640 commit d6db66811643d3762716f6b144a7358572216a4f
10641 Author: Adam Jackson <ajax@redhat.com>
10642 Date:   Fri Jun 16 15:44:47 2017 -0400
10643 
10644     dmx: Remove some not-very-interesting debug prints
10645     
10646     gcc/glibc think the snprintf in dmxExecOS() might truncate. Yes, it
10647     might, and we also don't care. Just delete all this.
10648     
10649     Signed-off-by: Adam Jackson <ajax@redhat.com>
10650     Acked-by: Keith Packard <keithp@keithp.com>
10651 
10652 commit 17ad6e5d5616039021455bc821d6ee2497f7ebde
10653 Author: Adam Jackson <ajax@redhat.com>
10654 Date:   Fri Jun 16 15:44:46 2017 -0400
10655 
10656     dmx: Silence an unused-result warning
10657     
10658     Modern glibc is very insistent that you care about whether write()
10659     succeeds:
10660     
10661     ../hw/dmx/input/usb-keyboard.c: In function ‘kbdUSBCtrl’:
10662     ../hw/dmx/input/usb-keyboard.c:292:9: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
10663              write(priv->fd, &event, sizeof(event));
10664              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10665     
10666     Signed-off-by: Adam Jackson <ajax@redhat.com>
10667     Reviewed-by: Keith Packard <keithp@keithp.com>
10668 
10669 commit fbc4da6fef2a0d2111284a19c26d83686ebcbd1f
10670 Author: Adam Jackson <ajax@redhat.com>
10671 Date:   Fri Jun 16 15:44:44 2017 -0400
10672 
10673     xfree86: Move DRICreatePCIBusID to the PCI code
10674     
10675     This symbol is used by some DRI2+ drivers and there's nothing
10676     DRI1-specific about it.
10677     
10678     Signed-off-by: Adam Jackson <ajax@redhat.com>
10679     Acked-by: Keith Packard <keithp@keithp.com>
10680 
10681 commit b723da8390d2fe1bf048247302416b37972a0cc3
10682 Author: Adam Jackson <ajax@redhat.com>
10683 Date:   Fri Jun 16 15:44:43 2017 -0400
10684 
10685     xfree86: Remove unused xf86EnableVTSwitch
10686     
10687     Signed-off-by: Adam Jackson <ajax@redhat.com>
10688     Acked-by: Keith Packard <keithp@keithp.com>
10689 
10690 commit f44e0af4daaad5b18d79f2076bc98d6e79f638af
10691 Author: Adam Jackson <ajax@redhat.com>
10692 Date:   Fri Jun 16 15:44:42 2017 -0400
10693 
10694     dix: Remove extension aliases
10695     
10696     This appears to be essentially unused. The only known client-side
10697     library for the SELinux extension is xcb, which does not look for the
10698     name "Flask". The "SGI-GLX" alias for GLX appears to be a bit of
10699     superstition at this point, NVIDIA's driver does not expose it and Mesa
10700     does not check for it.
10701     
10702     Signed-off-by: Adam Jackson <ajax@redhat.com>
10703     Acked-by: Keith Packard <keithp@keithp.com>
10704 
10705 commit 88e807d4fa90165868929190f601beef18252f57
10706 Author: Adam Jackson <ajax@redhat.com>
10707 Date:   Fri Jun 16 15:44:41 2017 -0400
10708 
10709     include: Remove some unused macros
10710     
10711     Signed-off-by: Adam Jackson <ajax@redhat.com>
10712     Reviewed-by: Keith Packard <keithp@keithp.com>
10713 
10714 commit d2e57f71ad16f1e677dd542a8bc0db87dfa9791d
10715 Author: Michel Dänzer <michel.daenzer@amd.com>
10716 Date:   Mon Jun 19 19:05:32 2017 +0900
10717 
10718     xfree86: Document BusID PCI domain format in ddxDesign.xml
10719     
10720     Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
10721     Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
10722 
10723 commit 3b0fd9421add9f0ca8958ced0f39b2da21143c22
10724 Author: Michel Dänzer <michel.daenzer@amd.com>
10725 Date:   Mon Jun 19 19:05:31 2017 +0900
10726 
10727     xfree86: Document BusID PCI domain format in xorg.conf manpage
10728     
10729     Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
10730     Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
10731 
10732 commit 8e00dc59b51da7e0d3978c26b1884c4767aa2dc2
10733 Author: Michel Dänzer <michel.daenzer@amd.com>
10734 Date:   Mon Jun 19 19:05:30 2017 +0900
10735 
10736     xfree86: Fix printing of PCI domain/bus in xf86MatchPciInstances
10737     
10738     It was attempting to use the <bus>@<domain> format accepted by the BusID
10739     stanza, but the two values were swapped.
10740     
10741     Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
10742     Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
10743 
10744 commit e905b19a53f96013c4417bec993a1dea5a3b0a5f
10745 Author: Michel Dänzer <michel.daenzer@amd.com>
10746 Date:   Mon Jun 19 19:05:29 2017 +0900
10747 
10748     xfree86: Print BusID stanza compatible bus IDs for found devices
10749     
10750     The PCI domain has to be specified like this:
10751     
10752      "PCI:<bus>@<domain>:<device>:<function>"
10753     
10754     Example before:
10755     
10756      (--) PCI:*(0:0:1:0) 1002:130f:1043:85cb [...]
10757      (--) PCI: (0:1:0:0) 1002:6939:1458:229d [...]
10758     
10759     after:
10760     
10761      (--) PCI:*(0@0:1:0) 1002:130f:1043:85cb [...]
10762      (--) PCI: (1@0:0:0) 1002:6939:1458:229d [...]
10763     
10764     Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
10765     Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
10766 
10767 commit fb212f2c1bcfb015112aa665dd1f25d9b80f86fc
10768 Author: Jon Turney <jon.turney@dronecode.org.uk>
10769 Date:   Sat Jun 17 14:32:30 2017 +0100
10770 
10771     meson: Make VBE and VGAHW modules optional
10772     
10773     Don't build them on platforms where they aren't meaningful.
10774     
10775     Note that autoconf defines WITH_VGAHW when building the VGAHW module, but
10776     that doesn't seem to be used anywhere, so we just drop that.
10777     
10778     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
10779     Reviewed-by: Eric Anholt <eric@anholt.net>
10780 
10781 commit 6d2b7d33678e7a881ebdb5ceb4a32509ad3ee930
10782 Author: Jon Turney <jon.turney@dronecode.org.uk>
10783 Date:   Thu May 4 14:08:48 2017 +0100
10784 
10785     meson: Restore stub ossupport
10786     
10787     Don't build BSD ossupport when there is no specific support, build stubs
10788     
10789     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
10790     Reviewed-by: Eric Anholt <eric@anholt.net>
10791 
10792 commit 4212c884c423e5ce2cd3b4d67c0d656475fddc79
10793 Author: Michel Dänzer <michel.daenzer@amd.com>
10794 Date:   Fri Jun 16 11:30:03 2017 +0900
10795 
10796     xfree86/modes: Use RRTransformEqual in xf86RandR12CrtcSet
10797     
10798     The memcmp didn't catch when e.g. only the filter changed. Tested by
10799     alternately running
10800     
10801     xrandr --output DVI-I-0 --scale-from 3840x2160 --filter bilinear
10802     xrandr --output DVI-I-0 --scale-from 3840x2160 --filter nearest
10803     
10804     Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
10805 
10806 commit 091af80be48c37f16c679d35fc12ad33e6b0cd74
10807 Author: Aaron Plattner <aplattner@nvidia.com>
10808 Date:   Thu Jun 15 14:28:27 2017 -0700
10809 
10810     randr: Use RRTransformEqual in RRCrtcPendingTransform
10811     
10812     Currently, RRCrtcPendingTransform returns false unless the
10813     transformation matrix itself is changing. This makes RRCrtcSet skip
10814     doing anything if the only thing that is changing is the transform
10815     filter.
10816     
10817     There's already a function for comparing RRTransformPtrs, so use that
10818     instead.
10819     
10820     Tested by running
10821     
10822       xrandr --output DP-1 --mode 1920x1080 --rate 144 --scale 0.5x0.5 --filter nearest
10823     
10824     follwed by
10825     
10826       xrandr --output DP-1 --mode 1920x1080 --rate 144 --scale 0.5x0.5 --filter bilinear
10827     
10828     Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
10829     Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer@amd.com>
10830 
10831 commit ba336b24052122b136486961c82deac76bbde455
10832 Author: Michal Srb <msrb@suse.com>
10833 Date:   Wed May 24 15:54:42 2017 +0300
10834 
10835     Xi: Do not try to swap GenericEvent.
10836     
10837     The SProcXSendExtensionEvent must not attempt to swap GenericEvent because
10838     it is assuming that the event has fixed size and gives the swapping function
10839     xEvent-sized buffer.
10840     
10841     A GenericEvent would be later rejected by ProcXSendExtensionEvent anyway.
10842     
10843     Signed-off-by: Michal Srb <msrb@suse.com>
10844     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
10845     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
10846 
10847 commit 8caed4df36b1f802b4992edcfd282cbeeec35d9d
10848 Author: Michal Srb <msrb@suse.com>
10849 Date:   Wed May 24 15:54:41 2017 +0300
10850 
10851     Xi: Verify all events in ProcXSendExtensionEvent.
10852     
10853     The requirement is that events have type in range
10854     EXTENSION_EVENT_BASE..lastEvent, but it was tested
10855     only for first event of all.
10856     
10857     Signed-off-by: Michal Srb <msrb@suse.com>
10858     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
10859     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
10860 
10861 commit 215f894965df5fb0bb45b107d84524e700d2073c
10862 Author: Michal Srb <msrb@suse.com>
10863 Date:   Wed May 24 15:54:40 2017 +0300
10864 
10865     dix: Disallow GenericEvent in SendEvent request.
10866     
10867     The SendEvent request holds xEvent which is exactly 32 bytes long, no more,
10868     no less. Both ProcSendEvent and SProcSendEvent verify that the received data
10869     exactly match the request size. However nothing stops the client from passing
10870     in event with xEvent::type = GenericEvent and any value of
10871     xGenericEvent::length.
10872     
10873     In the case of ProcSendEvent, the event will be eventually passed to
10874     WriteEventsToClient which will see that it is Generic event and copy the
10875     arbitrary length from the receive buffer (and possibly past it) and send it to
10876     the other client. This allows clients to copy unitialized heap memory out of X
10877     server or to crash it.
10878     
10879     In case of SProcSendEvent, it will attempt to swap the incoming event by
10880     calling a swapping function from the EventSwapVector array. The swapped event
10881     is written to target buffer, which in this case is local xEvent variable. The
10882     xEvent variable is 32 bytes long, but the swapping functions for GenericEvents
10883     expect that the target buffer has size matching the size of the source
10884     GenericEvent. This allows clients to cause stack buffer overflows.
10885     
10886     Signed-off-by: Michal Srb <msrb@suse.com>
10887     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
10888     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
10889 
10890 commit 05442de962d3dc624f79fc1a00eca3ffc5489ced
10891 Author: Michal Srb <msrb@suse.com>
10892 Date:   Wed May 24 15:54:39 2017 +0300
10893 
10894     Xi: Zero target buffer in SProcXSendExtensionEvent.
10895     
10896     Make sure that the xEvent eventT is initialized with zeros, the same way as
10897     in SProcSendEvent.
10898     
10899     Some event swapping functions do not overwrite all 32 bytes of xEvent
10900     structure, for example XSecurityAuthorizationRevoked. Two cooperating
10901     clients, one swapped and the other not, can send
10902     XSecurityAuthorizationRevoked event to each other to retrieve old stack data
10903     from X server. This can be potentialy misused to go around ASLR or
10904     stack-protector.
10905     
10906     Signed-off-by: Michal Srb <msrb@suse.com>
10907     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
10908     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
10909 
10910 commit d82c3cee02a99cf7861d1effaa5c7d38683a7783
10911 Author: Eric Anholt <eric@anholt.net>
10912 Date:   Thu Jun 1 13:59:54 2017 -0700
10913 
10914     travis: Enable ccache.
10915     
10916     We bind-mount the cache directory into the container.  Cuts build time
10917     from about 4 minutes to 2.
10918     
10919     Signed-off-by: Eric Anholt <eric@anholt.net>
10920 
10921 commit 01dfb65ee2e34148718d3f95dfd4629024edba84
10922 Author: Eric Anholt <eric@anholt.net>
10923 Date:   Thu Jun 1 12:29:12 2017 -0700
10924 
10925     travis: Add a build script for Travis CI.
10926     
10927     This currently does a meson build using a docker image I've prepared.
10928     The Dockerfile source is at:
10929     
10930         https://github.com/anholt/xserver-travis
10931     
10932     Docker proved to be necessary to cut the build time per Travis push.
10933     If some day we end up using meson in more of the X stack, we may be
10934     able to move more dependencies out of the docker image and into the CI
10935     build (putting the I in CI).  Until then, we'll have to do docker
10936     image rebuilds when dependencies are added/updated.
10937     
10938     To enable Travis CI on your github repository, see the first two steps
10939     of the docs at:
10940     
10941         https://docs.travis-ci.com/user/getting-started/
10942     
10943     Once you do that, pushing branches to your github repo will trigger
10944     builds, which will send you email if they fail.  Current build status
10945     can be veiewed your account on travis-ci.org:
10946     
10947         https://travis-ci.org/anholt/xserver
10948 
10949 commit fda2b064a0ebd223e8a39fd19f5c5ad1da0776e8
10950 Author: Eric Anholt <eric@anholt.net>
10951 Date:   Thu Jun 1 12:29:11 2017 -0700
10952 
10953     meson: Fix test for whether we've built glamor-EGL.
10954     
10955     This matches the test we use for going into the glamor_egl subdir in
10956     ../../meson.build.
10957 
10958 commit 75bf302ed20f4b9794f71f84c1da2b9fcd689356
10959 Author: Eric Anholt <eric@anholt.net>
10960 Date:   Fri Jun 2 09:12:41 2017 -0700
10961 
10962     dmx: Remove includes of glxtokens.h
10963     
10964     Our top-level glx.h include already provides all of the tokens we use,
10965     and fixes redefinition warnings in the meson build.
10966     
10967     Reviewed-by: Adam Jackson <ajax@redhat.com>
10968     Signed-off-by: Eric Anholt <eric@anholt.net>
10969 
10970 commit f3689f637f5ac0fb6c231a470e65b39aa5e9ba20
10971 Author: Keith Packard <keithp@keithp.com>
10972 Date:   Wed May 17 09:57:29 2017 -0700
10973 
10974     os: Set oc->fd to -1 when connection is closed
10975     
10976     This ensures that we don't use the now-closed file descriptor in the
10977     future.
10978     
10979     Reviewed-by: Adam Jackson <ajax@redhat.com>
10980     Signed-off-by: Keith Packard <keithp@keithp.com>
10981 
10982 commit d05c754e1bde895589fb514d8f518afeccecbc05
10983 Author: Keith Packard <keithp@keithp.com>
10984 Date:   Wed May 17 09:57:28 2017 -0700
10985 
10986     os: Check oc->trans_conn before using oc->fd in YieldControlNoInput
10987     
10988     oc->trans_conn is set to NULL when the connection is closed. At this
10989     point, oc->fd is no longer valid and shouldn't be used. Move
10990     dereference of oc->fd up into YieldControlNoInput where the state of
10991     oc->trans_conn can be checked in a single place.
10992     
10993     Reviewed-by: Adam Jackson <ajax@redhat.com>
10994     Signed-off-by: Keith Packard <keithp@keithp.com>
10995 
10996 commit 448a5586e9235bee9648d89e4103ed48e6237c15
10997 Author: Keith Packard <keithp@keithp.com>
10998 Date:   Wed May 17 09:57:27 2017 -0700
10999 
11000     os: Don't call ospoll_listen/ospoll_mute after connection is closed
11001     
11002     In set_poll_client, check oc->trans_conn to make sure the connection
11003     is still running before changing the ospoll configuration of the file
11004     descriptor in case some other bit of the server is now using this file
11005     descriptor.
11006     
11007     Reviewed-by: Adam Jackson <ajax@redhat.com>
11008     Signed-off-by: Keith Packard <keithp@keithp.com>
11009 
11010 commit 523d35e3e1c703a655386f6348a4bfb4291c3969
11011 Author: Keith Packard <keithp@keithp.com>
11012 Date:   Wed May 17 09:57:26 2017 -0700
11013 
11014     os: Use CloseDownFileDescriptor from AbortClient, including ospoll_remove
11015     
11016     AbortClient performs most of the same operations as
11017     CloseDownFileDescriptor except that it doesn't call ospoll_remove,
11018     leaving that unaware that the file descriptor has been closed.
11019     
11020     If the file descriptor is re-used before the server comes back around
11021     to clean up, and that new file descriptor is passed to SetNotifyFd,
11022     then that function will mistakenly re-interpret the stale ClientPtr
11023     returned by ospoll_data as a struct notify * instead and mangle data
11024     badly.
11025     
11026     To fix this, the patch does:
11027     
11028     1) Change CloseDownFileDescriptor so that it can be called multiple
11029        times on the same OsCommPtr. The calls related to the file
11030        descriptor are moved inside the check for trans_conn and
11031        oc->trans_conn is set to NULL after cleaning up.
11032     
11033     2) Move the XdmcpCloseDisplay call into CloseDownFileDescriptor. I
11034        don't think the actually matters as we just need to know at some
11035        point that the session client has exited. Moving it avoids the
11036        possibility of having this accidentally trigger from another client
11037        with the same fd which closes down at around the same time.
11038     
11039     3) Change AbortClient to call CloseDownFileDescriptor. This makes sure
11040        that all of the fd-related clean up happens in the same way
11041        everywhere, in particular ensures that ospoll is notified about the
11042        closed file descriptor at the time it is closed and not some time later.
11043     
11044     Debian-bug: https://bugs.debian.org/862824
11045     Reviewed-by: Adam Jackson <ajax@redhat.com>
11046     Signed-off-by: Keith Packard <keithp@keithp.com>
11047 
11048 commit 5d941ccb0b30399d505b48bff894c95cc3023bbe
11049 Author: Keith Packard <keithp@keithp.com>
11050 Date:   Wed May 17 09:57:25 2017 -0700
11051 
11052     os: Eliminate ConnectionTranslation
11053     
11054     This infrastructure is no longer read, only written; the mapping
11055     from fd to client is now handled by ospoll.
11056     
11057     Reviewed-by: Adam Jackson <ajax@redhat.com>
11058     Signed-off-by: Keith Packard <keithp@keithp.com>
11059 
11060 commit c86fc56b10b603b41ae37057eedfa9c86b609752
11061 Author: Keith Packard <keithp@keithp.com>
11062 Date:   Mon Jun 12 17:46:51 2017 -0700
11063 
11064     glamor: Clarify variable names in glamor_copy_cpu_fbo
11065     
11066     This function creates a temporary pixmap to hold data being moved from
11067     the source to the destination. However, it labeled all of the
11068     variables associated with this as src_, which makes it confusing to
11069     read the code. Rename them tmp_ instead. Also fix the comment
11070     describing the function to note that it copies from CPU to GPU, not
11071     GPU to GPU.
11072     
11073     Signed-off-by: Keith Packard <keithp@keithp.com>
11074     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
11075 
11076 commit ffda82ed04d28feae2e001dbd0c32d6c795d90b1
11077 Author: Michel Dänzer <michel.daenzer@amd.com>
11078 Date:   Tue Jun 6 18:42:06 2017 +0900
11079 
11080     glamor: Fix temporary pixmap coordinate offsets
11081     
11082     The previous values happened to work in basic cases, but not in general
11083     if the destination is a subwindow or has a border.
11084     
11085     Fixes crash with xli, which moves a large subwindow inside a smaller
11086     parent window for scrolling.
11087     
11088     No regressions with xterm, x11perf -copyplane or the xscreensaver
11089     phosphor hack.
11090     
11091     Bug: https://bugs.debian.org/857983
11092     Reviewed-by: Keith Packard <keithp@keithp.com>
11093 
11094 commit d4995a3936ae283b9080fdaa0905daa669ebacfc
11095 Author: Adam Jackson <ajax@redhat.com>
11096 Date:   Mon Jun 12 14:43:23 2017 -0400
11097 
11098     modesetting: Validate the atom for enum properties
11099     
11100     The client could have said anything here, and if what they said doesn't
11101     actually name an atom NameForAtom() will return NULL, and strcmp() will
11102     be unhappy about that.
11103     
11104     Signed-off-by: Adam Jackson <ajax@redhat.com>
11105     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
11106     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11107 
11108 commit 7c7a540f1e1d6b5466e1c9aa28476a2d7273d5ed
11109 Author: Jason Gerecke <killertofu@gmail.com>
11110 Date:   Fri Jun 9 16:02:07 2017 -0700
11111 
11112     xwayland: Implement tablet_tool_wheel for scrolling
11113     
11114     The 'tablet_tool_wheel' function for tablet scrolling was added back in
11115     8a1defcc634 but left unimplemented. This commit fills in the necessary
11116     details, using the "clicks" count as the number of discrete scroll up/down
11117     events to send.
11118     
11119     Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
11120     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
11121     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11122 
11123 commit fbc9814975fe82be25becf1a55d4f8d34298a956
11124 Author: Jason Gerecke <killertofu@gmail.com>
11125 Date:   Fri Jun 9 16:02:06 2017 -0700
11126 
11127     xwayland: Correct off-by-one error in tablet button numbering
11128     
11129     The 'tablet_tool_frame' function treats the button masks as though they
11130     are zero-indexed, but 'tablet_tool_button_state' treats them as one-
11131     indexed. The result is that an e.g. middle click event recieved from
11132     Wayland will be sent from the X server as a right-click instead.
11133     
11134     Fixes: 773b04748d0 ("xwayland: handle button events after motion events")
11135     Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
11136     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
11137     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11138 
11139 commit d5e2f271ad93e50412ff3605fb25cb9622f437e0
11140 Author: Carlos Garnacho <carlosg@gnome.org>
11141 Date:   Sun May 28 15:56:22 2017 +0200
11142 
11143     xwayland: Remove two unused proc pointers.
11144     
11145     Xwayland doesn't override these, so we don't need defining those
11146     in the xwl_screen struct.
11147     
11148     Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
11149     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
11150     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11151 
11152 commit 95febc42cadf392a888104ad6d5cf4f34fdde7d5
11153 Author: Carlos Garnacho <carlosg@gnome.org>
11154 Date:   Sun May 28 15:56:21 2017 +0200
11155 
11156     Xi: Use WarpPointerProc hook on XI pointer warping implementation
11157     
11158     Just like we do with XWarpPointer's.
11159     
11160     Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
11161     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
11162     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11163 
11164 commit ca17f3e9fd3b59fdc5ffd0e5d78e4db6ddc87aa1
11165 Author: Carlos Garnacho <carlosg@gnome.org>
11166 Date:   Sun May 28 15:56:20 2017 +0200
11167 
11168     xwayland: Lock the pointer if it is confined and has no cursor
11169     
11170     In the typical pattern in games of "hide cursor, grab with a confineTo,
11171     warp constantly the pointer to the middle of the window" the last warping
11172     step is actually rather optional. Some games may choose to just set up a
11173     grab with confineTo argument, and trust that they'll get correct relative
11174     X/Y axis values despite the hidden cursor hitting the confinement window
11175     edge.
11176     
11177     To cater for these cases, lock the pointer whenever there is a pointer
11178     confinement and the cursor is hidden. This ensures the pointer position
11179     is in sync with the compositor's when it's next shown again, and more
11180     importantly resorts to the relative pointer for event delivery.
11181     
11182     Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
11183     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
11184     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11185 
11186 commit 513e3bd3870fdb8a8e0e2e52c0fa93872300bc8b
11187 Author: Carlos Garnacho <carlosg@gnome.org>
11188 Date:   Sun May 28 15:56:19 2017 +0200
11189 
11190     xwayland: Update root window size when desktop size changes
11191     
11192     This fixes grabs on InputOnly windows whose parent is the root window
11193     failing with GrabNotViewable. This is due to window->borderSize/windowSize
11194     being computed as clipped by its parent, resulting in a null region.
11195     
11196     Setting up the right size on the root window makes the InputOnly size
11197     correct too, so the GrabNotViewable paths aren't hit anymore.
11198     
11199     Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
11200     Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
11201     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11202 
11203 commit fafdb0cc9697eb53635ed1e78bec1d4cd87ab3a2
11204 Author: Carlos Garnacho <carlosg@gnome.org>
11205 Date:   Sun May 28 15:56:18 2017 +0200
11206 
11207     xwayland: "Accept" confineTo on InputOnly windows
11208     
11209     Of sorts, actually make it confine to the pointer focus, as the
11210     InputOnly window is entirely invisible to xwayland accounting,
11211     we don't have a xwl_window for it.
11212     
11213     Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
11214     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
11215     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11216 
11217 commit c217fcb4c4640ffd2fefee63c6fcd7ea5e64b942
11218 Author: Carlos Garnacho <carlosg@gnome.org>
11219 Date:   Sun May 28 15:56:17 2017 +0200
11220 
11221     xwayland: Allow pointer warp on root/None window
11222     
11223     Of sorts, as we can't honor pointer warping across the whole root window
11224     coordinates, peek the pointer focus in these cases.
11225     
11226     Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
11227     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
11228     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11229 
11230 commit f065721e6fa6e9057cca4eadaf145a4dc22a08d2
11231 Author: Carlos Garnacho <carlosg@gnome.org>
11232 Date:   Sun May 28 15:56:16 2017 +0200
11233 
11234     dix: assume warping on the RootWindow always happens on visible coords
11235     
11236     If the root window borderClip region is null, the PointInWindowIsVisible()
11237     check fails if pointer warping is attempted on the root window, making
11238     the warping operation bail out early.
11239     
11240     Assume coordinates always lay inside the root window for this case,
11241     the actual position will be clamped later within screen coordinates anyway.
11242     
11243     Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
11244     Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
11245     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11246 
11247 commit 7c88977d338a01aca866e52c9e736f8857fb9ae4
11248 Author: Michel Dänzer <michel.daenzer@amd.com>
11249 Date:   Fri May 26 12:30:13 2017 +0900
11250 
11251     glamor: Store the actual EGL/GLX context pointer in lastGLContext
11252     
11253     Fixes subtle breakage which could sometimes trigger after a server reset
11254     with multiple screens using glamor:
11255     
11256     Screen A enters glamor_close_screen last and calls various cleanup
11257     functions, which at some point call glamor_make_current to make sure
11258     screen A's GL context is current. This sets lastGLContext to screen A's
11259     &glamor_priv->ctx. Finally, glamor_close_screen calls
11260     glamor_release_screen_priv, which calls free(glamor_priv).
11261     
11262     Later, screen B enters glamor_init, which allocates a new glamor_priv.
11263     With bad luck, this can return the same pointer which was previously
11264     used for screen A's glamor_priv. So when screen B's glamor_init calls
11265     glamor_make_current, lastGLContext == &glamor_priv->ctx, so MakeCurrent
11266     isn't called for screen B's GL context, and the following OpenGL API
11267     calls triggered by glamor_init mess up screen A's GL context.
11268     
11269     The observed end result of this was a crash in glamor_get_vbo_space
11270     because glamor_priv->vbo didn't match the GL context, though there might
11271     be other possible outcomes.
11272     
11273     Assigning the actual GL context pointer to lastGLContext prevents this
11274     by preventing the false negative test in glamor_make_current.
11275     
11276     Reviewed-by: Keith Packard <keithp@keithp.com>
11277     Reviewed-by: Eric Anholt <eric@anholt.net>
11278 
11279 commit d164c10850609c96fd46c8441efd40940b06dfe0
11280 Author: Michel Dänzer <michel.daenzer@amd.com>
11281 Date:   Thu May 25 16:19:35 2017 +0900
11282 
11283     xfree86: Add Option "PreferCloneMode"
11284     
11285     When the default behaviour was changed from clone mode to horizontal
11286     extended layout, a boolean ScrnInfoRec member preferClone was introduced
11287     to choose the old default behaviour. Option "PreferCloneMode" allows
11288     setting this preferClone member.
11289     
11290     Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
11291 
11292 commit 87db150d8a572d8983a234663aaaab9cb8b6c98d
11293 Author: Eric Anholt <eric@anholt.net>
11294 Date:   Thu Jun 1 10:07:55 2017 -0700
11295 
11296     glamor: Remove the "delayed fallback" code.
11297     
11298     The usage of this died with the old core rendering code.
11299     
11300     Signed-off-by: Eric Anholt <eric@anholt.net>
11301     Reviewed-by: Keith Packard <keithp@keithp.com>
11302 
11303 commit 72ddad7a97fa062bf9967d221c9a5520ebe33352
11304 Author: Eric Anholt <eric@anholt.net>
11305 Date:   Wed May 17 11:36:07 2017 -0700
11306 
11307     glamor: Drop glamor_set_screen_pixmap().
11308     
11309     All that was left here was updating the FBO's size.  However, the FBO
11310     size was always set correctly already through
11311     glamor_set_pixmap_texture() from whoever had attached a new BO to the
11312     pixmap.
11313     
11314     Signed-off-by: Eric Anholt <eric@anholt.net>
11315     Reviewed-by: Keith Packard <keithp@keithp.com>
11316 
11317 commit 49b12cb7360608b14caef5facb12f146d0bd15e6
11318 Author: Eric Anholt <eric@anholt.net>
11319 Date:   Wed May 17 11:33:16 2017 -0700
11320 
11321     glamor: Stop tracking the screen_fbo.
11322     
11323     This means we no longer get "s" for on-screen drawing in glamor_debug,
11324     and there's only "m" (CPU memory) or "f" (Any GPU memory, aka FBOs).
11325     That seems fine to me.
11326     
11327     Signed-off-by: Eric Anholt <eric@anholt.net>
11328     Reviewed-by: Keith Packard <keithp@keithp.com>
11329 
11330 commit fd0d2523a33620b36cd478925ddac5cf70f9c409
11331 Author: Eric Anholt <eric@anholt.net>
11332 Date:   Tue May 9 15:33:21 2017 -0700
11333 
11334     glamor_egl: Stop saving the EGL major/minor version.
11335     
11336     We don't use them for anything.
11337     
11338     Signed-off-by: Eric Anholt <eric@anholt.net>
11339     Reviewed-by: Keith Packard <keithp@keithp.com>
11340 
11341 commit 1f38a31ed3969471cbed69c61edb971f6cff5287
11342 Author: Jon Turney <jon.turney@dronecode.org.uk>
11343 Date:   Sun May 7 20:53:04 2017 +0100
11344 
11345     Add meson.build for XWin server (v2)
11346     
11347     This needs a meson with PRs #1784, #1792 and #1794
11348     
11349     Future work: remove conditionals which are always on, and simplify redundant
11350     CYGDEBUG conditionals
11351     
11352     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
11353     Reviewed-by: Eric Anholt <eric@anholt.net>
11354 
11355 commit 36b9dac212a0f8a287cdbd35db152a5eb5cbc744
11356 Author: Jon Turney <jon.turney@dronecode.org.uk>
11357 Date:   Tue May 9 12:59:19 2017 +0100
11358 
11359     hw/xwin: Remove pretense of Xv support
11360     
11361     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
11362     Reviewed-by: Eric Anholt <eric@anholt.net>
11363 
11364 commit 793af4d3f945b1d59eb2f84e625b581ea90b0066
11365 Author: Jon Turney <jon.turney@dronecode.org.uk>
11366 Date:   Sun May 7 20:31:55 2017 +0100
11367 
11368     hw/xwin: Don't unconditionally include rootless.h
11369     
11370     Don't unconditionally include rootless.h, and so we don't need to add
11371     rootless to the include path unless building MWEXTWM.
11372     
11373     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
11374     Reviewed-by: Eric Anholt <eric@anholt.net>
11375 
11376 commit d8ccfb132602be88e640cc87ea58496e0445aab7
11377 Author: Eric Anholt <eric@anholt.net>
11378 Date:   Thu Jun 1 16:46:02 2017 -0700
11379 
11380     meson: Fix enabling of xshmfence.
11381     
11382     I misspelled the enable flag, so DRI3 would throw BadImplementation
11383     when you tried to start any GL app.  Same as in
11384     c7be7a688a78a34f61b90c0d95914e14b90b0cdc, we also convert it to #ifdef
11385     for consistency.
11386     
11387     Signed-off-by: Eric Anholt <eric@anholt.net>
11388     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
11389 
11390 commit 4f29366f1e5678505fb882143c9b4a892d5b8273
11391 Author: Lyude <lyude@redhat.com>
11392 Date:   Tue May 30 16:39:49 2017 -0400
11393 
11394     xwayland: Don't load extension list more than once
11395     
11396     When running an Xwayland server from the command line, we end up
11397     resetting the server every time all of the clients connected to the
11398     server leave. This would be fine, except that xwayland makes the mistake
11399     of unconditionally calling LoadExtensionList(). This causes us to setup
11400     the glxExtension twice in a row which means that when we lose our last
11401     client on the second server generation, we end up trying to call the glx
11402     destructors twice in a row resulting in a segfault:
11403     
11404     (EE)
11405     (EE) Backtrace:
11406     (EE) 0: Xwayland (OsSigHandler+0x3b) [0x4982f9]
11407     (EE) 1: /lib64/libpthread.so.0 (__restore_rt+0x0) [0x70845bf]
11408     (EE) 2: /usr/lib64/dri/swrast_dri.so (__driDriverGetExtensions_virtio_gpu+0x32897d) [0x1196e5bd]
11409     (EE) 3: /usr/lib64/dri/swrast_dri.so (__driDriverGetExtensions_virtio_gpu+0x328a45) [0x1196e745]
11410     (EE) 4: /usr/lib64/dri/swrast_dri.so (__driDriverGetExtensions_virtio_gpu+0x32665f) [0x11969f7f]
11411     (EE) 5: Xwayland (__glXDRIscreenDestroy+0x30) [0x54686e]
11412     (EE) 6: Xwayland (glxCloseScreen+0x3f) [0x5473db]
11413     (EE) 7: Xwayland (glxCloseScreen+0x53) [0x5473ef]
11414     (EE) 8: Xwayland (dix_main+0x7b6) [0x44c8c9]
11415     (EE) 9: Xwayland (main+0x28) [0x61c503]
11416     (EE) 10: /lib64/libc.so.6 (__libc_start_main+0xf1) [0x72b1401]
11417     (EE) 11: Xwayland (_start+0x2a) [0x4208fa]
11418     (EE) 12: ? (?+0x2a) [0x2a]
11419     (EE)
11420     (EE) Segmentation fault at address 0x18
11421     (EE)
11422     Fatal server error:
11423     (EE) Caught signal 11 (Segmentation fault). Server aborting
11424     (EE)
11425     
11426     Easy reproduction recipe:
11427     - Start an Xwayland session with the default settings
11428     - Open a window
11429     - Close that window
11430     - Open another window
11431     - Close that window
11432     - Total annihilation occurs
11433     
11434     Signed-off-by: Lyude <lyude@redhat.com>
11435     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
11436     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11437 
11438 commit 2fbf62b2fb3dcb29551251d09aa695715bb754f4
11439 Author: Jason Gerecke <killertofu@gmail.com>
11440 Date:   Fri May 26 14:27:19 2017 -0700
11441 
11442     xfree86: Fix interpretation of xf86WaitForInput timeout
11443     
11444     Commit aa6717ce2 switched xf86WaitForInput from using select(2) to using
11445     poll(2). Before this change, the timeout was interpreted as being in
11446     microseconds; afterwards it is fed directly to xorg_poll which interprets
11447     it as being in milliseconds. This results in the function potentially
11448     blocking 1000x longer than intended. This commit scales down the timeout
11449     argument before passing it to xorg_poll, being careful to ensure the result
11450     is not rounded down due to integer division.
11451     
11452     Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
11453     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
11454     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11455 
11456 commit 96af794dc648eadcd596893412d7530e92cb5421
11457 Author: Peter Hutterer <peter.hutterer@who-t.net>
11458 Date:   Fri May 5 09:04:35 2017 +1000
11459 
11460     xfree86: up the path name size to 512 in xf86MatchDriverFromFiles
11461     
11462     ./hw/xfree86/common/xf86pciBus.c: In function ‘xf86MatchDriverFromFiles’:
11463     ../hw/xfree86/common/xf86pciBus.c:1330:52: warning: ‘snprintf’ output may be
11464     truncated before the last format character [-Wformat-truncation=]
11465                  snprintf(path_name, sizeof(path_name), "%s/%s", ^~~~~~~
11466     ../hw/xfree86/common/xf86pciBus.c:1330:13: note: ‘snprintf’ output between 2
11467     
11468     dirent->d_name is 256, so sprintf("%s/%s") into a 256 buffer gives us:
11469     
11470     and 257 bytes into a destination of size 256
11471     
11472     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11473 
11474 commit bf3a591fdc5c98f7cab232bf5ec39902947ae2e5
11475 Author: Peter Hutterer <peter.hutterer@who-t.net>
11476 Date:   Mon May 8 10:07:51 2017 +1000
11477 
11478     fb: remove some superfluous empty lines
11479     
11480     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11481 
11482 commit 933d80ba93cf9b5d32ce8673d60810c128debdab
11483 Author: Adam Jackson <ajax@redhat.com>
11484 Date:   Thu May 18 11:19:53 2017 -0400
11485 
11486     misprite: Clean up some preprocessor abuse
11487     
11488     Signed-off-by: Adam Jackson <ajax@redhat.com>
11489     Reviewed-by: Eric Anholt <eric@anholt.net>
11490     Reviewed-by: Keith Packard <keithp@keithp.com>
11491 
11492 commit 57c223002c61c8ceb84fa7a02a3c1579517996f3
11493 Author: Adam Jackson <ajax@redhat.com>
11494 Date:   Thu May 18 11:19:52 2017 -0400
11495 
11496     misprite: Remove some dead cache variables
11497     
11498     Unused since Keith ported misprite to damage in '04.
11499     
11500     Signed-off-by: Adam Jackson <ajax@redhat.com>
11501     Reviewed-by: Eric Anholt <eric@anholt.net>
11502     Reviewed-by: Keith Packard <keithp@keithp.com>
11503 
11504 commit d0675e96f1fc8501324c88afa648a9d394f35587
11505 Author: Eric Anholt <eric@anholt.net>
11506 Date:   Tue May 16 11:37:23 2017 -0700
11507 
11508     glamor_egl: Drop glamor_egl_create_textured_screen_ext().
11509     
11510     The function hasn't been doing anything useful since keithp's resource
11511     freeing fixes in 2014.
11512     
11513     Reviewed-by: Adam Jackson <ajax@redhat.com>
11514     Signed-off-by: Eric Anholt <eric@anholt.net>
11515 
11516 commit c36f56808ffbefc4a3dcf61dfad17f62aeb8e16c
11517 Author: Eric Anholt <eric@anholt.net>
11518 Date:   Wed May 17 17:06:44 2017 -0700
11519 
11520     glamor_egl: Automatically choose a GLES2 context if desktop GL fails.
11521     
11522     GLES2 support has been requested multiple times, and we've had this
11523     code laying around trying to implement it.  The GLES2 implementation
11524     is not quite there yet (some pixel transfer failures), but it
11525     shouldn't take much fixing at this point.
11526     
11527     Reviewed-by: Adam Jackson <ajax@redhat.com>
11528     Signed-off-by: Eric Anholt <eric@anholt.net>
11529 
11530 commit f6bf5f1c7475ff1b19b0e8c3e71c1224d5b6bc82
11531 Author: Eric Anholt <eric@anholt.net>
11532 Date:   Wed May 17 17:06:43 2017 -0700
11533 
11534     glamor_egl: Remove check for KHR_surfaceless_context_*
11535     
11536     Those extensions don't exist.  There's only surfaceless_context.
11537     
11538     Signed-off-by: Eric Anholt <eric@anholt.net>
11539     Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
11540 
11541 commit 6e793ae08510639d011f638bcfc5246b9cccd1ae
11542 Author: Eric Anholt <eric@anholt.net>
11543 Date:   Tue May 16 11:37:21 2017 -0700
11544 
11545     glamor_egl: Drop warning about indirect GLX and GLES2.
11546     
11547     Indirect GLX uses its own context and doesn't care what glamor is
11548     using.
11549     
11550     Reviewed-by: Adam Jackson <ajax@redhat.com>
11551     Signed-off-by: Eric Anholt <eric@anholt.net>
11552 
11553 commit 59de50d6ef3331ee03eb82d4acba45aa75c70d42
11554 Author: Eric Anholt <eric@anholt.net>
11555 Date:   Tue May 16 11:37:20 2017 -0700
11556 
11557     glamor_egl: Avoid flink names in glamor_egl_create_textured_pixmap().
11558     
11559     Using flink is banned on render nodes, and they needlessly expose our
11560     screen pixmap contents to any authenticated client.  This also
11561     incidentally drops the dependency on EGL_MESA_drm_image.
11562     
11563     Reviewed-by: Adam Jackson <ajax@redhat.com>
11564     Signed-off-by: Eric Anholt <eric@anholt.net>
11565 
11566 commit 5d6f17d913bd4de0b4594585c0a8ba4f717a2a78
11567 Author: Eric Anholt <eric@anholt.net>
11568 Date:   Tue May 16 11:37:19 2017 -0700
11569 
11570     glamor_egl: Drop dead "cpp" field
11571     
11572     It's been unused since the initial import.
11573     
11574     Reviewed-by: Adam Jackson <ajax@redhat.com>
11575     Signed-off-by: Eric Anholt <eric@anholt.net>
11576 
11577 commit 37618e810b70c24bb8a97dce844963ed1a99f897
11578 Author: Eric Anholt <eric@anholt.net>
11579 Date:   Tue May 16 11:37:18 2017 -0700
11580 
11581     glamor_egl: Drop dead gl_context_depth.
11582     
11583     This was replaced in 4afe15d8bfd575c010ed1868697a7922a37ab378, but not
11584     deleted.
11585     
11586     Reviewed-by: Adam Jackson <ajax@redhat.com>
11587     Signed-off-by: Eric Anholt <eric@anholt.net>
11588 
11589 commit a6a751e5d8962b01abc2a92ec35300f68cb38d94
11590 Author: Eric Anholt <eric@anholt.net>
11591 Date:   Tue May 16 11:37:17 2017 -0700
11592 
11593     glamor_egl: Drop unnecessary check for KHR_gl_renderbuffer_image.
11594     
11595     I couldn't find it being used anywhere in the history of the code.
11596     
11597     Reviewed-by: Adam Jackson <ajax@redhat.com>
11598     Signed-off-by: Eric Anholt <eric@anholt.net>
11599 
11600 commit 40a153ee452390f713f7e5638af320a70defe106
11601 Author: Eric Anholt <eric@anholt.net>
11602 Date:   Tue May 16 11:37:16 2017 -0700
11603 
11604     glamor_egl: Always require the gbm-based image import path.
11605     
11606     This has been associated with dri3 for now, but we need to use it
11607     elsewhere in order to avoid flink.  The extensions have been
11608     implemented for long enough that I couldn't find when it was that we
11609     turned them on.  Oddly, we already required renderbuffer import
11610     support, which is basically as hard to implement as texture import.
11611     
11612     Reviewed-by: Adam Jackson <ajax@redhat.com>
11613     Signed-off-by: Eric Anholt <eric@anholt.net>
11614     Acked-by: Daniel Stone <daniels@collabora.com>
11615 
11616 commit b1b71b7a8b2d2c5d8f4afa67b75d10d4e7cbaa20
11617 Author: Eric Anholt <eric@anholt.net>
11618 Date:   Tue May 16 11:37:15 2017 -0700
11619 
11620     glamor_egl: Drop the has_gem flag.
11621     
11622     We're using GBM, so we know we've got GEM.
11623     
11624     Reviewed-by: Adam Jackson <ajax@redhat.com>
11625     Signed-off-by: Eric Anholt <eric@anholt.net>
11626 
11627 commit 32957d9faeb8b0e968a23d91ed7391c0465dd1b9
11628 Author: Eric Anholt <eric@anholt.net>
11629 Date:   Tue May 16 11:37:14 2017 -0700
11630 
11631     modesetting: Drop code for GLAMOR && !GLAMOR_HAS_GBM.
11632     
11633     The glamor_egl module that the GLAMOR paths are using is only built if
11634     GLAMOR_HAS_GBM is true, and there's no plan for implementing the
11635     module without GBM.  Simplify modesetting's code as a result.
11636     
11637     Reviewed-by: Adam Jackson <ajax@redhat.com>
11638     Signed-off-by: Eric Anholt <eric@anholt.net>
11639 
11640 commit 5102ea38eb7331aeb1258cd148fd374cf0cbf8f2
11641 Author: Eric Anholt <eric@anholt.net>
11642 Date:   Tue May 16 11:37:13 2017 -0700
11643 
11644     glamor_egl: Unifdef GLAMOR_HAS_GBM.
11645     
11646     We only build this code with GBM, and supporting non-GBM well would be
11647     invasive.
11648     
11649     Reviewed-by: Adam Jackson <ajax@redhat.com>
11650     Signed-off-by: Eric Anholt <eric@anholt.net>
11651 
11652 commit 5064153c79d8b18767c0ade7635680a2f396f296
11653 Author: Eric Anholt <eric@anholt.net>
11654 Date:   Tue May 16 11:37:12 2017 -0700
11655 
11656     glamor_egl: Print a useful identifying string on initialization.
11657     
11658     The EGL version is not used anywhere in the glamor code, so it's not
11659     interesting.  And when saying that we've started using GL
11660     acceleration, it's nice to know what GL we're actually using.
11661     
11662     Reviewed-by: Adam Jackson <ajax@redhat.com>
11663     Signed-off-by: Eric Anholt <eric@anholt.net>
11664 
11665 commit fd96ff7fb325f54cb06c2bf5b8c37c75457b5c42
11666 Author: Jon Turney <jon.turney@dronecode.org.uk>
11667 Date:   Tue Apr 18 10:44:55 2017 +0100
11668 
11669     hw/xwin: Fix -Wunused-function warning for MessageName() in non-debug builds
11670     
11671     ../hw/xwin/winmultiwindowwm.c:188:1: warning: ‘MessageName’ defined but not used [-Wunused-function]
11672     
11673     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
11674     Reviewed-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
11675 
11676 commit e49f5947eda578d8b029f42fb4ec9c90f413b4b3
11677 Author: Jon Turney <jon.turney@dronecode.org.uk>
11678 Date:   Tue Apr 18 10:45:07 2017 +0100
11679 
11680     hw/xwin: Fix -Wmaybe-uninitialized warnings in engine CloseScreen wrappers
11681     
11682     ../hw/xwin/winshadgdi.c: In function ‘winCloseScreenShadowGDI’:
11683     ../hw/xwin/winshadgdi.c:632:12: warning: ‘fReturn’ may be used uninitialized in this function [-Wmaybe-uninitialized]
11684     ../hw/xwin/winshadgdi.c:579:10: note: ‘fReturn’ was declared here
11685     ../hw/xwin/winshadddnl.c: In function ‘winCloseScreenShadowDDNL’:
11686     ../hw/xwin/winshadddnl.c:711:12: warning: ‘fReturn’ may be used uninitialized in this function [-Wmaybe-uninitialized]
11687     ../hw/xwin/winshadddnl.c:661:10: note: ‘fReturn’ was declared here
11688     
11689     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
11690     Reviewed-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
11691 
11692 commit 319daa7a9fa8bcfdefb08d7770912775af22ad99
11693 Author: Jon Turney <jon.turney@dronecode.org.uk>
11694 Date:   Wed Apr 19 13:30:27 2017 +0100
11695 
11696     hw/xwin: Fix -Wmaybe-uninitialized warning in winWindowProc
11697     
11698     This is possibly an actual bug in failing to check we successfully retrieved
11699     the monitor size before using it to set the X screen size.
11700     
11701     ../hw/xwin/winwndproc.c: In function ‘winWindowProc’:
11702     ../hw/xwin/winwndproc.c:283:55: warning: ‘dwHeight’ may be used uninitialized in this function [-Wmaybe-uninitialized]
11703     ../hw/xwin/winwndproc.c:240:32: note: ‘dwHeight’ was declared here
11704     ../hw/xwin/winwndproc.c:281:54: warning: ‘dwWidth’ may be used uninitialized in this function [-Wmaybe-uninitialized]
11705     ../hw/xwin/winwndproc.c:240:23: note: ‘dwWidth’ was declared here
11706     
11707     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
11708     Reviewed-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
11709 
11710 commit 7a90c9b24e6776c8f1fa43df4268f79a465c0d4e
11711 Author: Jon Turney <jon.turney@dronecode.org.uk>
11712 Date:   Tue Apr 18 10:32:31 2017 +0100
11713 
11714     xfree86: Hide unused variables when !XSERVER_LIBPCIACCESS
11715     
11716     ../hw/xfree86/common/xf86Config.c: In function ‘xf86HandleConfigFile’:
11717     ../hw/xfree86/common/xf86Config.c:2278:10: warning: unused variable ‘singlecard’ [-Wunused-variable]
11718     ../hw/xfree86/common/xf86Config.c:2277:17: warning: unused variable ‘scanptr’ [-Wunused-variable]
11719     
11720     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
11721     Reviewed-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
11722 
11723 commit 7a19a3e093a62a779c3cab8c28930adcb1604e0d
11724 Author: Peter Hutterer <peter.hutterer@who-t.net>
11725 Date:   Mon May 8 10:24:34 2017 +1000
11726 
11727     xfree86: build a shared lib identical to Xorg
11728     
11729     Because we can use a shared lib in dlsym() for the symbol loader test,
11730     but we can't use the executable.
11731     
11732     v2: Drop a stray ' ' and rebase on 820a4cbe9fe, by anholt
11733     
11734     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11735     Reviewed-by: Eric Anholt <eric@anholt.net>
11736 
11737 commit 49c742557457ff9200a10f32daadfcea50d4911c
11738 Author: Adam Jackson <ajax@redhat.com>
11739 Date:   Thu May 11 17:17:55 2017 -0400
11740 
11741     meson: Fix CLOCK_MONOTONIC test
11742     
11743     C99 isn't enough on its own to get POSIX feature sets defined.
11744     
11745     Signed-off-by: Adam Jackson <ajax@redhat.com>
11746     Reviewed-by: Julien Cristau <jcristau@debian.org>
11747     Tested-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
11748 
11749 commit 152375f4e4f1ee4833129802730b36af8d0f7e1a
11750 Author: Adam Jackson <ajax@redhat.com>
11751 Date:   Thu May 11 17:17:54 2017 -0400
11752 
11753     os, xfree86: Stop being so weird about <limits.h>
11754     
11755     Whatever problem this is trying to fix, we don't care. Just include the
11756     thing and stop worrying about whether _POSIX_SOURCE is defined.
11757     
11758     Signed-off-by: Adam Jackson <ajax@redhat.com>
11759     Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
11760     Reviewed-by: Julien Cristau <jcristau@debian.org>
11761     Tested-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
11762 
11763 commit d9e23ea4228575344e3b4c0443cecc5eb75356e4
11764 Author: Keith Packard <keithp@keithp.com>
11765 Date:   Wed May 10 21:50:45 2017 -0700
11766 
11767     dix: Remove clients from input and output ready queues after closing
11768     
11769     Delay removing the client from these two queues until all potential
11770     I/O has completed in case we mark the client as ready for reading or
11771     with pending output during the close operation.
11772     
11773     Bugzilla: https://bugs.freedesktop.org/100957
11774     Signed-off-by: Keith Packard <keithp@keithp.com>
11775     Tested-by: Nick Sarnie <commendsarnex@gmail.com>
11776     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
11777 
11778 commit c394f6b27329d212d2a8b9b3c6da1ef7847c46f3
11779 Author: Julien Cristau <jcristau@debian.org>
11780 Date:   Thu May 11 08:42:16 2017 +0200
11781 
11782     Replace all checks for 'linux' macro with '__linux__'
11783     
11784     gcc -std=c99 does not define the former, and it's a horrible namespace
11785     confusion anyway.
11786     
11787     Signed-off-by: Julien Cristau <jcristau@debian.org>
11788     Reviewed-by: Adam Jackson <ajax@redhat.com>
11789     Tested-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
11790 
11791 commit 6634ffc4d26846dcf892f27682f9021f6d9956a9
11792 Author: Julien Cristau <jcristau@debian.org>
11793 Date:   Thu May 11 08:42:15 2017 +0200
11794 
11795     Drop workaround for pre-glibc linux
11796     
11797     It seems unlikely anyone still needs to build against libc4/libc5.
11798     
11799     Reviewed-by: Adam Jackson <ajax@redhat.com>
11800     Signed-off-by: Julien Cristau <jcristau@debian.org>
11801 
11802 commit 318257029578a30e29c191befa94a20ad07f97d4
11803 Author: Frank Binns <frank.binns@imgtec.com>
11804 Date:   Thu May 11 14:00:19 2017 +0100
11805 
11806     hw/xfree86: fix comment typo
11807     
11808     Signed-off-by: Frank Binns <frank.binns@imgtec.com>
11809 
11810 commit 0848390d51f93ecfb9342cffe1cda46a65cfc07b
11811 Author: Adam Jackson <ajax@redhat.com>
11812 Date:   Wed May 10 11:14:57 2017 -0400
11813 
11814     xephyr: Fix regeneration
11815     
11816     I had said:
11817     
11818         commit c42311a9d7d2e5a67bdb7f4fa32032b4feba59b1
11819         Author: Adam Jackson <ajax@redhat.com>
11820         Date:   Fri Mar 24 15:58:54 2017 -0400
11821     
11822             kdrive: Remove KdOsFuncs
11823     
11824             Only the Init slot was used, and Xephyr can just as easily do
11825             that initialization directly.
11826     
11827     And I'd've been right, but I forgot to make that initialization only
11828     happen on startup (i.e. when serverGeneration == 1).
11829     
11830     Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer@amd.com>
11831     Signed-off-by: Adam Jackson <ajax@redhat.com>
11832 
11833 commit 0ff2fb128bf35dffaa302f15e9ae004b65ee0827
11834 Author: Peter Harris <pharris@opentext.com>
11835 Date:   Tue May 9 19:39:47 2017 -0400
11836 
11837     meson: Detect strlcat/strlcpy/reallocarray in libbsd
11838     
11839     If we're linking with libbsd anyway, we might as well use the functions
11840     it provides instead of compiling our replacements.
11841     
11842     Signed-off-by: Peter Harris <pharris@opentext.com>
11843     Reviewed-by: Eric Anholt <eric@anholt.net>
11844 
11845 commit c4c002d1ca80bd69776387dafb9c5bb082c72e48
11846 Author: Peter Harris <pharris@opentext.com>
11847 Date:   Tue May 9 19:39:46 2017 -0400
11848 
11849     meson: Only detect each function once
11850     
11851     Use conf_data outside of include/ to avoid re-running detection of the
11852     same functions.
11853     
11854     Reviewed-by: Eric Anholt <eric@anholt.net>
11855     Signed-off-by: Peter Harris <pharris@opentext.com>
11856 
11857 commit 03d6275e6094a5ede5a70f05bbbdde653a9fd9e0
11858 Author: Peter Harris <pharris@opentext.com>
11859 Date:   Tue May 9 19:39:45 2017 -0400
11860 
11861     meson: Detect more functions
11862     
11863     Set HAVE_REALLOCARRAY, HAVE_SIGACTION, HAVE_STRCASESTR, HAVE_STRLCAT,
11864     HAVE_STRLCPY, HAVE_TIMINGSAFE_MEMCMP, and BUSFAULT.
11865     
11866     Reviewed-by: Eric Anholt <eric@anholt.net>
11867     Signed-off-by: Peter Harris <pharris@opentext.com>
11868 
11869 commit ba1599610b1889545be8a9314dce8a740a2764d3
11870 Author: Peter Harris <pharris@opentext.com>
11871 Date:   Tue May 9 19:39:44 2017 -0400
11872 
11873     meson: Detect arc4random_buf
11874     
11875     Reviewed-by: Eric Anholt <eric@anholt.net>
11876     Signed