"Fossies" - the Fresh Open Source Software Archive

Member "xorg-server-1.20.10/ChangeLog" (1 Dec 2020, 7275601 Bytes) of package /linux/misc/xorg-server-1.20.10.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 bc111a2e67e16d4e6d4f3196ab86c22c1e278c45
    2 Author: Matt Turner <mattst88@gmail.com>
    3 Date:   Tue Dec 1 10:55:00 2020 -0500
    4 
    5     xserver 1.20.10
    6     
    7     Signed-off-by: Matt Turner <mattst88@gmail.com>
    8 
    9 commit 06d1a032ee491547f7037c3ff042065dc2aeaa99
   10 Author: Matthieu Herrb <matthieu@herrb.eu>
   11 Date:   Thu Nov 12 19:15:07 2020 +0100
   12 
   13     Check SetMap request length carefully.
   14     
   15     Avoid out of bounds memory accesses on too short request.
   16     
   17     ZDI-CAN 11572 /  CVE-2020-14360
   18     
   19     This vulnerability was discovered by:
   20     Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
   21     
   22     Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
   23     (cherry picked from commit 446ff2d3177087b8173fa779fa5b77a2a128988b)
   24 
   25 commit 7ccb3b0eabb4658daf0ecb2c78a53609ae2c263b
   26 Author: Matthieu Herrb <matthieu@herrb.eu>
   27 Date:   Sun Oct 11 17:05:09 2020 +0200
   28 
   29     Fix XkbSetDeviceInfo() and SetDeviceIndicators() heap overflows
   30     
   31     ZDI-CAN 11389 / CVE-2020-25712
   32     
   33     This vulnerability was discovered by:
   34     Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
   35     
   36     Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
   37     (cherry picked from commit 87c64fc5b0db9f62f4e361444f4b60501ebf67b9)
   38 
   39 commit 440ed5948ba5818abf5ea5fdc5a9d98514658fd3
   40 Author: Michel Dänzer <mdaenzer@redhat.com>
   41 Date:   Tue Dec 1 11:25:31 2020 +0100
   42 
   43     present/wnmd: Translate update region to screen space
   44     
   45     The region as passed in is in the source pixmap's coordinate space, so
   46     intersecting it with the clipList (which is in screen space) resulted in
   47     disappointment.
   48     
   49     Fixes Firefox popups such as the hamburger menu when using the EGL
   50     backend.
   51     
   52     v2:
   53     * Drop vblank->x/y_off from RegionTranslate call, since they're always
   54       0 here (present_wnmd_check_flip rejects flips for x/y_off != 0).
   55     
   56     Reported-by: Robert Mader <robert.mader@posteo.de>
   57     Tested-by: Robert Mader <robert.mader@posteo.de>
   58     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
   59     Tested-by: Joakim Tjernlund <joakim.tjernlund@infinera.com> # v1
   60     (cherry picked from commit 466b8b43fb355c6040cee45406860b8b8c04e948)
   61 
   62 commit 54f9af1c61bd10e2e65cbb17069e0c9ec1f9a2c5
   63 Author: Kishore Kadiyala <kishore.kadiyala@intel.com>
   64 Date:   Tue Dec 1 11:13:51 2020 +0100
   65 
   66     modesetting: keep going if a modeset fails on EnterVT
   67     
   68     There was a time when setting a mode on a CRTC would not depend on the
   69     associated connector's state. If a mode had been set successfully once,
   70     it would mean it would work later on.
   71     
   72     This changed with the introduction of new connectors type that now
   73     require a link training sequence (DP, HDMI 2.0), and that means that
   74     some events may have happened while the X server was not master that
   75     would then prevent the mode from successfully be restored to its
   76     previous state.
   77     
   78     This patch relaxes the requirement that all modes should be restored on
   79     EnterVT, or the entire X-Server would go down by allowing modesets to
   80     fail (with some warnings). If a modeset fails, the CRTC will be
   81     disabled, and a RandR event will be sent for the desktop environment to
   82     fix the situation as well as possible.
   83     
   84     Additional patches might be needed to make sure that the user would
   85     never be left with all screens black in some scenarios.
   86     
   87     v2 (Martin Peres):
   88      - whitespace fixes
   89      - remove the uevent handling (it is done in a previous patch)
   90      - improve the commit message
   91      - reduce the size of the patch by not changing lines needlessly
   92      - return FALSE if one modeset fails in ignore mode
   93      - add comments/todos to explain why we do things
   94      - disable the CRTCs that failed the modeset
   95     
   96     Signed-off-by: Kishore Kadiyala <kishore.kadiyala@intel.com>
   97     Signed-off-by: Martin Peres <martin.peres@linux.intel.com>
   98     Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
   99     Tested-by: Kishore Kadiyala <kishore.kadiyala@intel.com>
  100     Closes: #1010
  101     (cherry picked from commit efb3abddd49fb75bd6d0e31046fed43d258c93da)
  102 
  103 commit bd0f53725b581e4698f5f3ec366a9507bd2556e2
  104 Author: Martin Peres <martin.peres@linux.intel.com>
  105 Date:   Tue Dec 1 11:10:34 2020 +0100
  106 
  107     modesetting: check the kms state on EnterVT
  108     
  109     Normally, we would receive a uevent coming from Linux's DRM subsystem,
  110     which would trigger the check for disappearing/appearing resources.
  111     However, this event is not received when X is not master (another VT
  112     is selected), and so the userspace / desktop environment would not be
  113     notified about the changes that happened while X wasn't master.
  114     
  115     To fix the issue, this patch forces a refresh on EnterVT by splitting
  116     the kms-checking code from the uevent handling into its own (exported)
  117     function called drmmode_update_kms_state. This function is then called
  118     from both the uevent-handling function, and on EnterVT right before
  119     restoring the modes.
  120     
  121     Signed-off-by: Martin Peres <martin.peres@linux.intel.com>
  122     Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
  123     Acked-by: Kishore Kadiyala <kishore.kadiyala@intel.com>
  124     Tested-by: Kishore Kadiyala <kishore.kadiyala@intel.com>
  125     (cherry picked from commit 293cf660c95d7ba36510bcc4114d7fd5c5f3801c)
  126 
  127 commit 5c400cae1f9817045378966effa6bca91e45aead
  128 Author: Olivier Fourdan <ofourdan@redhat.com>
  129 Date:   Tue Oct 27 16:33:55 2020 +0100
  130 
  131     configure: Build hashtable for Xres and glvnd
  132     
  133     With autoconf, hashtable support is built along with Xres support.
  134     
  135     Yet, glvnd also use it, so when disabling Xres from configure, the
  136     build will fail at link time because hashtable functions are not
  137     available.
  138     
  139     Untie the build of hashtable from Xres support, just like meson build
  140     does.
  141     
  142     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
  143     Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1091
  144     (cherry picked from commit 899cebb76ab7754fea49f7babcd64a7e94052cc8)
  145 
  146 commit 253569a3d281996d7c84041020e14313756900da
  147 Author: Olivier Fourdan <ofourdan@redhat.com>
  148 Date:   Thu Nov 5 18:35:54 2020 +0100
  149 
  150     xwayland: Create an xwl_window for toplevel only
  151     
  152     One general assumption in Xwayland is that the xwl_window remains the
  153     same for all the child windows of the toplevel window.
  154     
  155     When mapping a new X11 window, ensure_surface_for_window() checks for an
  156     existing xwl_window by using xwl_window_get() which will just check for
  157     the registered xwl_window for the window.
  158     
  159     That means that a client mapping a child window of an existing window
  160     with a xwl_window will get another different xwl_window.
  161     
  162     If an X11 client issues a Present request on the parent window, hence
  163     placed underneath its child window of the same size, the Wayland
  164     compositor may not send the frame callback event for the parent's
  165     Wayland surface which is reckoned to be not visible, obscured behind
  166     the other Wayland surface for the child X11 window.
  167     
  168     That bug affects some games running in wine which may get 1 fps because
  169     the repaint occurs only on timeout with a long interval (as with, e.g.
  170     https://bugs.winehq.org/show_bug.cgi?id=47066)
  171     
  172     Fix ensure_surface_for_window() by using xwl_window_from_window() which
  173     will walk the window tree, so that a child window won't get another
  174     xwl_window than its parent.
  175     
  176     https://gitlab.freedesktop.org/xorg/xserver/-/issues/1099
  177     See-also: https://bugs.winehq.org/show_bug.cgi?id=47066
  178     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
  179     Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
  180     (cherry picked from commit 606ba7fc51e5420646f75c4e672fbe61eb7c7e6e)
  181 
  182 commit 0811a9ff783c252b3e4d558bf31c6b066b0633e1
  183 Author: Olivier Fourdan <ofourdan@redhat.com>
  184 Date:   Mon Nov 2 15:44:31 2020 +0100
  185 
  186     xwayland: non-rootless requires the wl_shell protocol
  187     
  188     When running non-rootless, Xwayland requires that the Wayland compositor
  189     supports the wl_shell protocol.
  190     
  191     Check for wl_shell protocol support at startup and exit cleanly if
  192     missing rather than segfaulting later in ensure_surface_for_window()
  193     while trying to use wl_shell_get_shell_surface().
  194     
  195     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
  196     Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
  197     Reviewed-by: Simon Ser <contact@emersion.fr>
  198     (cherry picked from commit ffd02d9b26bd560849c407a6dd4f5c4d7d2c1736)
  199 
  200 commit b3ae038c32870a4a1bb42b6e1cf2ebedc8b7bc8d
  201 Author: Alex Goins <agoins@nvidia.com>
  202 Date:   Mon Oct 5 18:19:52 2020 -0500
  203 
  204     glamor: Update pixmap's devKind when making it exportable
  205     
  206     When making a pixmap exportable, glamor will currently create a temporary
  207     exported pixmap backed by a GBM bo, with the devKind updated to the stride of
  208     the bo. However, when the backing of the exported pixmap is swapped into the
  209     original, the devKind of the original is not updated.
  210     
  211     Some GBM bos may get implicitly padded, in which case the devKind of the pixmap
  212     will not match the stride of the backing bo. For example, an 800x600 pixmap will
  213     have a devKind of 3200, but the bo's stride will be 3328. This can cause
  214     corruption with PRIME, when the sink uses the wrong stride to display the shared
  215     pixmap.
  216     
  217     This commit changes glamor_make_pixmap_exportable() to update the devKind of the
  218     original pixmap after it swaps exported pixmap's backing into it, keeping
  219     everything consistent.
  220     
  221     Fixes issue #1018.
  222     
  223     Signed-off-by: Alex Goins <agoins@nvidia.com>
  224     Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
  225     Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
  226     (cherry picked from commit 7a7e55c5c1d6461a9f4d9a4e0129c1c6e1fd3d66)
  227 
  228 commit d6c389cb87b220f7005cebf483708267b5f4a1c3
  229 Author: Bernhard Übelacker <bernhardu@mailbox.org>
  230 Date:   Sun Sep 27 18:03:48 2020 +0200
  231 
  232     os: Fix instruction pointer written in xorg_backtrace
  233     
  234     The address retrieved in "pip.start_ip" is not necessarily the same
  235     address as unw_get_proc_name finds as nearest symbol and returns in "off".
  236     Therefore using "pip.start_ip + off" is not reliable, at least
  237     visible in the binaries from the Debian repository.
  238     
  239     Bug-Debian: https://bugs.debian.org/971088
  240     
  241     Signed-off-by: Bernhard Übelacker <bernhardu@mailbox.org>
  242     (cherry picked from commit c15dd0ba4893f79f7181e783cb1ba404edca917a)
  243 
  244 commit c3e4c1a0fd5d4d6015e9e6317b758018317e56d1
  245 Author: Michel Dänzer <mdaenzer@redhat.com>
  246 Date:   Tue Jul 28 18:40:47 2020 +0200
  247 
  248     present/wnmd: Execute copies at target_msc-1 already
  249     
  250     It always takes one update cycle for the copy to become visible on the
  251     host windowing system, so waiting for the target MSC resulted in 1 cycle
  252     delay.
  253     
  254     We re-use the idle list for copies which were executed but need their
  255     completion event sent.
  256     
  257     Fixes black seams when resizing the "Builder" sub-window of
  258     
  259      GDK_BACKEND=x11 gtk4-demo
  260     
  261     on Xwayland (see
  262     https://gitlab.gnome.org/GNOME/mutter/-/issues/1290#note_873557).
  263     
  264     Unfortunately, this cannot completely fix the seams with apps which
  265     queue up multiple frames in advance, since there's always at least one
  266     queued frame corresponding to the old window size. But it should at
  267     least help a little in that case as well.
  268     
  269     v2:
  270     * Bug fix: Don't update exec_msc in present_wnmd_check_flip_window.
  271       (Roman Gilg)
  272     * Use exec_msc = target_msc - 1 instead of exec_msc--, and add a
  273       comment, for clarity.
  274     v3:
  275     * Drop exec_msc = target_msc again in present_wnmd_execute.
  276     * present_execute_copy should never set vblank->queued in
  277       present_wnmd_execute now, so replace that branch with an assertion.
  278       (Roman Gilg)
  279     
  280     Reviewed-by: Roman Gilg <subdiff@gmail.com>
  281     Tested-by: Roman Gilg <subdiff@gmail.com>
  282     (cherry picked from commit 1cccb486d48a5d2e7649836b993805bb65dc09e3)
  283     [Since present_wnmd_event_notify hasn't been split up on the 1.20
  284     branch, it needs to check vblank->flip. Doing the same in
  285     present_wnmd_free_idle_vblanks to be safe, though I'm not sure it's
  286     actually possible to hit non-flips there.]
  287 
  288 commit 96ef31e0f20fcffb2edfe4cb9510f994c188785f
  289 Author: Michel Dänzer <mdaenzer@redhat.com>
  290 Date:   Tue Jul 28 18:53:45 2020 +0200
  291 
  292     present/wnmd: Move up present_wnmd_queue_vblank
  293     
  294     Allowing it to be called from more functions than before. No functional
  295     change.
  296     
  297     Reviewed-by: Roman Gilg <subdiff@gmail.com>
  298     Tested-by: Roman Gilg <subdiff@gmail.com>
  299     (cherry picked from commit d14ea667feccf085c7d66a7c63f380975e07af66)
  300 
  301 commit 669e40390c3679b649db33f0aa4ae4cfdd17e2a9
  302 Author: Michel Dänzer <mdaenzer@redhat.com>
  303 Date:   Fri Sep 11 17:00:35 2020 +0200
  304 
  305     present: Add present_vblank::exec_msc field
  306     
  307     For tracking the MSC when the present can be executed separately from
  308     the target MSC.
  309     
  310     Allows removing the requeue field instead, plus more later.
  311     
  312     v2:
  313     * Rename wait_msc → exec_msc (Roman Gilg)
  314     * Use exec_msc = target_msc instead of exec_msc++, for clarity.
  315     * Bug fix: Set exec_msc = target_msc also if present_flip returned
  316       false in present_execute.
  317     v3:
  318     * Set exec_msc = target_msc also if present_wnmd_flip returned
  319       false in present_wnmd_execute, for consistency.
  320     v4:
  321     * Specifically check for exec_msc == crtc_msc + 1 in
  322       present_execute_wait/copy, to avoid re-introducing
  323       https://bugs.freedesktop.org/show_bug.cgi?id=94596 .
  324     
  325     Reviewed-by: Roman Gilg <subdiff@gmail.com>
  326     Tested-by: Roman Gilg <subdiff@gmail.com>
  327     (cherry picked from commit b0b3159abd8001fa3f6dfc44a288a95a62aa5cf6)
  328 
  329 commit dae234efdb7bba75744aa1697386df3c0db5348a
  330 Author: Michel Dänzer <mdaenzer@redhat.com>
  331 Date:   Fri Sep 11 17:00:18 2020 +0200
  332 
  333     present: Move flip target_msc adjustment out of present_vblank_create
  334     
  335     Preparation for different handling between SCMD & WNMD. No functional
  336     change intended.
  337     
  338     Reviewed-by: Roman Gilg <subdiff@gmail.com>
  339     Tested-by: Roman Gilg <subdiff@gmail.com>
  340     (cherry picked from commit 4c92dea952f7fed19857904f0f552900257ef4b9)
  341 
  342 commit 1930ed233fdec5d22e4fc192769a0126faabb3ea
  343 Author: Olivier Fourdan <ofourdan@redhat.com>
  344 Date:   Mon Sep 14 15:39:10 2020 +0200
  345 
  346     xwayland: Remove pending stream reference when freeing
  347     
  348     The EGLStream backend keeps a queue of pending streams for each Xwayland
  349     window.
  350     
  351     However, when this pending queue is freed, the corresponding private
  352     data may not be cleared (typically if the pixmap for this window has
  353     changed before the compositor finished attaching the consumer for the
  354     window's pixmap's original eglstream), leading to a use-after-free and a
  355     crash when trying to use that data as the window pixmap.
  356     
  357     Make sure to clear the private data when the pending stream is freed.
  358     
  359     Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1055
  360     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
  361     Tested-by: Karol Szuster <karolsz9898@gmail.com>
  362     Reviewed-by: Adam Jackson <ajax@redhat.com>
  363     (cherry picked from commit a5f439dcd21b4fda093cb382bb1a758b434a1444)
  364 
  365 commit 1ac389dda89b2882c80767c91bbe88e01818491c
  366 Author: Greg V <greg@unrelenting.technology>
  367 Date:   Tue Sep 15 17:41:04 2020 +0300
  368 
  369     xwayland: use drmGetNodeTypeFromFd for checking if a node is a render one
  370     
  371     Major/minor numbers are a.. major (ha) source of pain in FreeBSD porting.
  372     In this case, Xwayland was thinking that /dev/dri/card0 is already a render node,
  373     because the st_rdev on FreeBSD was passing the Linux-style check,
  374     and because of the assumption, acceleration would fail because
  375     various ioctls like AMDGPU_INFO would be denied on the non-render node.
  376     
  377     Switch to libdrm's function that already works correctly on all platforms.
  378     
  379     Signed-off-by: Greg V <greg@unrelenting.technology>
  380     Reviewed-by: Emmanuel Vadot <manu@FreeBSD.org>
  381     (cherry picked from commit 239ebdc9e447d4f836d0c2aa6068c6064fffb46c)
  382 
  383 commit d108c2c82cba242ea5998d7c91254d90d3a5db71
  384 Author: Olivier Fourdan <ofourdan@redhat.com>
  385 Date:   Fri Sep 11 11:30:18 2020 +0200
  386 
  387     xwayland: Do not discard frame callbacks on allow commits
  388     
  389     Currently, when a X11 client (usually the X11 window manager from a
  390     Wayland compositor) changes the value of the X11 property
  391     `_XWAYLAND_ALLOW_COMMITS` from `false` to `true`, all pending frame
  392     callbacks on the window are discarded so that the commit occurs
  393     immediately.
  394     
  395     Weston uses that mechanism to prevent the content of the window from
  396     showing before it's ready when mapping the window initially, but
  397     discarding the pending frame callbacks has no effect on the initial
  398     mapping of the X11 window since at that point there cannot be any frame
  399     callback on a surface which hasn't been committed yet anyway.
  400     
  401     However, discarding pending frame callbacks can be problematic if we
  402     were to use the same `_XWAYLAND_ALLOW_COMMITS` mechanism to prevent
  403     damages to be posted before the X11 toplevel is updated completely
  404     (including the window decorations from the X11 window manager).
  405     
  406     Remove the portion of code discarding the pending frame callback,
  407     Xwayland should always wait for a pending frame callback if there's one
  408     before posting new damages.
  409     
  410     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
  411     Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.com>
  412     Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
  413     https://gitlab.freedesktop.org/xorg/xserver/merge_requests/333
  414     (cherry picked from commit 66da95a172c4941b75ffedcdaa0138c0a48f11fb)
  415 
  416 commit 174cb91d82d643f78d8ba2b9999312b9d7dea98c
  417 Author: Michel Dänzer <mdaenzer@redhat.com>
  418 Date:   Mon Sep 7 18:40:34 2020 +0200
  419 
  420     present/wnmd: Remove dead check from present_wnmd_check_flip
  421     
  422     present_wnmd_toplvl_pixmap_window returns a window with the same window
  423     pixmap, so the check could never fail.
  424     
  425     Reviewed-by: Roman Gilg <subdiff@gmail.com>
  426     (cherry picked from commit b6b1161fd7ac409156fb69439897bcabdeacf393)
  427 
  428 commit 51ee6e5ceb0cacc8e2fa225ad5391ffb159e36a0
  429 Author: Michel Dänzer <mdaenzer@redhat.com>
  430 Date:   Mon Sep 7 18:39:17 2020 +0200
  431 
  432     xwayland: Check window pixmap in xwl_present_check_flip2
  433     
  434     We can only flip if the window pixmap matches that of the toplevel
  435     window. Doing so regardless could cause the toplevel window pixmap to
  436     get destroyed while it was still referenced by the window, resulting in
  437     use-after-free and likely a crash.
  438     
  439     Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1033
  440     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
  441     Reviewed-by: Roman Gilg <subdiff@gmail.com>
  442     (cherry picked from commit 4c25356d6cd908c5030c70e712076dff318ac00d)
  443 
  444 commit f4006d795cb199bf7deeb00f542c592db6a5becb
  445 Author: Michel Dänzer <mdaenzer@redhat.com>
  446 Date:   Mon Sep 7 18:35:10 2020 +0200
  447 
  448     present/wnmd: Can't use page flipping for windows clipped by children
  449     
  450     Noticed this was missing while working on the following fix.
  451     
  452     v2:
  453     * Dropped present_wnmd_can_window_flip hunk (that function is never
  454       called, will be cleaned up in a follow-up MR).
  455     
  456     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com> # v1
  457     Reviewed-by: Roman Gilg <subdiff@gmail.com>
  458     (cherry picked from commit 7ac303c7b1e3b1be79ba3648e217798683e65a99)
  459 
  460 commit 1e84fda2020b12a83c6b9c6d31ab84f993c6176c
  461 Author: Michel Dänzer <mdaenzer@redhat.com>
  462 Date:   Tue Sep 1 11:24:57 2020 +0200
  463 
  464     xfree86: Take second reference for SavedCursor in xf86CursorSetCursor
  465     
  466     The same pointer is kept in CurrentCursor as well, therefore two
  467     RefCursor calls are needed.
  468     
  469     Fixes use-after-free after switching VTs.
  470     
  471     Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1067
  472     (cherry picked from commit 919f1f46fc67dae93b2b3f278fcbfc77af34ec58)
  473 
  474 commit 8c3c8bda2c44fb3d62b954b02b08e3b1771ef5bc
  475 Author: Michel Dänzer <mdaenzer@redhat.com>
  476 Date:   Tue Aug 25 17:26:56 2020 +0200
  477 
  478     glamor: Fix glamor_poly_fill_rect_gl xRectangle::width/height handling
  479     
  480     (Using GLSL 1.30 or newer)
  481     
  482     The width/height members of xRectangle are unsigned, but they were
  483     being interpreted as signed when converting to floating point for the
  484     vertex shader, producing incorrect drawing for values > 32767.
  485     
  486     v2:
  487     * Use separate GL_UNSIGNED_SHORT vertex attribute for width/height.
  488       (Eric Anholt)
  489     
  490     Reviewed-by: Eric Anholt <eric@anholt.net>
  491     (cherry picked from commit 032af35657aa95c6bbdb74ff8c72e535b9b56cfa)
  492 
  493 commit b28c882889cbea9be3748d3dee1b21ba6eb90b66
  494 Author: Arthur Williams <taaparthur@gmail.com>
  495 Date:   Fri Sep 25 04:52:57 2020 +0000
  496 
  497     include: Increase the number of max. input devices to 256.
  498     
  499     Extending the decade old f0124ed93, to increase the number of input
  500     devices from 40 to 256. 40 translates at most 9 MD, while 256 will allow
  501     63 MD. It is an arbitrary number, but people are hitting the current
  502     limit under reasonable conditions.
  503     
  504     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=64793
  505     Signed-off-by: Arthur Williams <taaparthur@gmail.com>
  506     
  507     (cherry picked from commit fe439596b99db65bbae35eff1ea0b79db167f8d6)
  508 
  509 commit af4c84ce8855e84c0ad89b929bc972e884f0b8e3
  510 Author: Olivier Fourdan <ofourdan@redhat.com>
  511 Date:   Tue Sep 8 10:03:33 2020 +0200
  512 
  513     Revert "linux: Make platform device probe less fragile"
  514     
  515     This reverts commit 74b7427c41b4e4104af7abf70a996c086d3d7628.
  516     
  517     https://gitlab.freedesktop.org/xorg/xserver/-/issues/1068
  518 
  519 commit 39cb95e959fab97a7e255dda1a1599b096fb0f7e
  520 Author: Olivier Fourdan <ofourdan@redhat.com>
  521 Date:   Tue Sep 8 10:03:11 2020 +0200
  522 
  523     Revert "linux: Fix platform device PCI detection for complex bus topologies"
  524     
  525     This reverts commit 5c96eb5f44e62a4cfe835023cde304eb5795b8fd.
  526     
  527     https://gitlab.freedesktop.org/xorg/xserver/-/issues/1068
  528 
  529 commit 4b6fce5975c2f931a0478cf4deeec97529b05eb6
  530 Author: Olivier Fourdan <ofourdan@redhat.com>
  531 Date:   Tue Sep 8 10:01:55 2020 +0200
  532 
  533     Revert "linux: Fix platform device probe for DT-based PCI"
  534     
  535     This reverts commit 249a12c54a9316b089bd22683c011519348496df.
  536     
  537     https://gitlab.freedesktop.org/xorg/xserver/-/issues/1068
  538 
  539 commit afb77415e1fb862c322754230f63bb70fd596943
  540 Author: Matt Turner <mattst88@gmail.com>
  541 Date:   Tue Aug 25 08:23:42 2020 -0700
  542 
  543     xserver 1.20.9
  544     
  545     Signed-off-by: Matt Turner <mattst88@gmail.com>
  546 
  547 commit 705d7213935820d9f56563ee9e17aa9beb365c1e
  548 Author: Matthieu Herrb <matthieu@herrb.eu>
  549 Date:   Tue Aug 18 14:55:01 2020 +0200
  550 
  551     Fix XRecordRegisterClients() Integer underflow
  552     
  553     CVE-2020-14362 ZDI-CAN-11574
  554     
  555     This vulnerability was discovered by:
  556     Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
  557     
  558     Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
  559     (cherry picked from commit 24acad216aa0fc2ac451c67b2b86db057a032050)
  560 
  561 commit 5b384e7678c5a155dd8752f018c8292153c1295e
  562 Author: Matthieu Herrb <matthieu@herrb.eu>
  563 Date:   Tue Aug 18 14:52:29 2020 +0200
  564 
  565     Fix XkbSelectEvents() integer underflow
  566     
  567     CVE-2020-14361 ZDI-CAN 11573
  568     
  569     This vulnerability was discovered by:
  570     Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
  571     
  572     Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
  573     (cherry picked from commit 90304b3c2018a6b8f4a79de86364d2af15cb9ad8)
  574 
  575 commit eff3f6cdd398bfac040351e99e64baf3bf64fa2e
  576 Author: Matthieu Herrb <matthieu@herrb.eu>
  577 Date:   Tue Aug 18 14:49:04 2020 +0200
  578 
  579     Fix XIChangeHierarchy() integer underflow
  580     
  581     CVE-2020-14346 / ZDI-CAN-11429
  582     
  583     This vulnerability was discovered by:
  584     Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
  585     
  586     Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
  587     (cherry picked from commit 1e3392b07923987c6c9d09cf75b24f397b59bd5e)
  588 
  589 commit 1d3a1092c30af660b1366fcd344af745590aa29f
  590 Author: Matthieu Herrb <matthieu@herrb.eu>
  591 Date:   Tue Aug 18 14:46:32 2020 +0200
  592 
  593     Correct bounds checking in XkbSetNames()
  594     
  595     CVE-2020-14345 / ZDI 11428
  596     
  597     This vulnerability was discovered by:
  598     Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
  599     
  600     Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
  601     (cherry picked from commit 11f22a3bf694d7061d552c99898d843bcdaf0cf1)
  602 
  603 commit 249a12c54a9316b089bd22683c011519348496df
  604 Author: Huacai Chen <chenhc@lemote.com>
  605 Date:   Sun Jul 5 05:59:58 2020 -0400
  606 
  607     linux: Fix platform device probe for DT-based PCI
  608     
  609     On a DT-base PCI platform, the sysfs path of vga device is like this:
  610     /sys/devices/platform/bus@10000000/1a000000.pci/pci0000:00/0000:00:11.0/0000:04:00.0.
  611     
  612     Then the ID_PATH from udev is platform-1a000000.pci-pci-0000:04:00.0 and
  613     the BusID will be pci-0000:04:00.0, which causes Xorg start fail. This
  614     is because config_udev_odev_setup_attribs() use strstr() to search the
  615     first "pci-" in ID_PATH. To fix this, we implement a strrstr() function
  616     and use it to search the last "pci-" in ID_PATH, which can get a correct
  617     BusID.
  618     
  619     (backported from commit 9fbd3e43dd9e13700df96b508c3d97f77e2b9f7e)
  620     
  621     Reviewed-by: Dave Airlie <airlied@redhat.com>
  622     Signed-off-by: Huacai Chen <chenhc@lemote.com>
  623 
  624 commit 5c96eb5f44e62a4cfe835023cde304eb5795b8fd
  625 Author: Adam Jackson <ajax@redhat.com>
  626 Date:   Wed Jun 19 14:23:56 2019 -0400
  627 
  628     linux: Fix platform device PCI detection for complex bus topologies
  629     
  630     Suppose you're in a Hyper-V guest and are trying to use PCI passthrough.
  631     The ID_PATH that udev will construct for that looks something like
  632     "acpi-VMBUS:00-pci-b8c8:00:00.0", and obviously looking for "pci-" in
  633     the first four characters of that is going to not work.
  634     
  635     Instead, strstr. I suppose it's possible you could have _multiple_ PCI
  636     buses in the path, in which case you'd want strrstr, if that were a
  637     thing.
  638     
  639     (backported from commit 9acff309434a8029bcce1b22530043459bb71791)
  640     
  641     Signed-off-by: Adam Jackson <ajax@redhat.com>
  642     Signed-off-by: Huacai Chen <chenhc@lemote.com>
  643 
  644 commit 74b7427c41b4e4104af7abf70a996c086d3d7628
  645 Author: Adam Jackson <ajax@redhat.com>
  646 Date:   Tue Sep 18 14:37:51 2018 -0400
  647 
  648     linux: Make platform device probe less fragile
  649     
  650     At the point where xf86BusProbe runs we haven't yet taken our own VT,
  651     which means we can't perform drm "master" operations on the device. This
  652     is tragic, because we need master to fish the bus id string out of the
  653     kernel, which we can only do after drmSetInterfaceVersion, which for
  654     some reason stores that string on the device not the file handle and
  655     thus needs master access.
  656     
  657     Fortunately we know the format of the busid string, and it happens to
  658     almost be the same as the ID_PATH variable from udev. Use that instead
  659     and stop calling drmSetInterfaceVersion.
  660     
  661     (backported from commit 0816e8fca6194dfb4cc94c3a7fcb2c7f2a921386)
  662     
  663     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
  664     Signed-off-by: Adam Jackson <ajax@redhat.com>
  665     Signed-off-by: Huacai Chen <chenhc@lemote.com>
  666 
  667 commit 4979ac8f0be6fa2c4a1edd8a527f7d2134d8586a
  668 Author: Matthieu Herrb <matthieu@herrb.eu>
  669 Date:   Sat Jul 25 19:33:50 2020 +0200
  670 
  671     fix for ZDI-11426
  672     
  673     Avoid leaking un-initalized memory to clients by zeroing the
  674     whole pixmap on initial allocation.
  675     
  676     This vulnerability was discovered by:
  677     Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
  678     
  679     Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
  680     Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
  681     (cherry picked from commit a6b2cbe91793ae4967cd21a7103d889248029553)
  682 
  683 commit 2720b871575504349d9f4dffbc73539f1626bd78
  684 Author: Aaron Ma <aaron.ma@canonical.com>
  685 Date:   Thu Jul 30 11:02:39 2020 +0200
  686 
  687     xfree86: add drm modes on non-GTF panels
  688     
  689     EDID1.4 replaced GTF Bit with Continuous or Non-Continuous Frequency Display.
  690     
  691     Check the "Display Range Limits Descriptor" for GTF support.
  692     If panel doesn't support GTF, then add gtf modes.
  693     
  694     Otherwise X will only show the modes in "Detailed Timing Descriptor".
  695     
  696     V2: Coding style changes.
  697     V3: Coding style changes, remove unused variate.
  698     V4: remove unused variate.
  699     
  700     BugLink: https://gitlab.freedesktop.org/drm/intel/issues/313
  701     Signed-off-by: Aaron Ma <aaron.ma@canonical.com>
  702     Reviewed-by: Adam Jackson <ajax@redhat.com>
  703     (cherry picked from commit 6a79a737e2c0bc730ee693b4ea4a1530c108be4e)
  704 
  705 commit 7da8e7babee16f7d518cd9ee2a71c950fe2c3c3f
  706 Author: Roman Gilg <subdiff@gmail.com>
  707 Date:   Fri Jul 24 12:21:37 2020 +0200
  708 
  709     present: Check valid region in window mode flips
  710     
  711     For Pixmap flips to have well defined outcomes the window must be contained by
  712     the valid region if such region was specified.
  713     
  714     The valid region is inserted as an argument to the check in window mode.
  715     Setting this argument is missing in screen mode as well but we ignore it for now
  716     and only add it to window mode.
  717     
  718     It seems there are none or only very few clients actually making use of valid
  719     regions at the moment. For simplicity we therefore just check if a valid region
  720     was set by the client and in this case do never flip, independently of the
  721     window being contained by the region or not.
  722     
  723     Signed-off-by: Roman Gilg <subdiff@gmail.com>
  724     (cherry picked from commit 591916ea9e7a77f68f436b4a541402d9deadfe64)
  725 
  726 commit 4a65b6617ecc43b754885894f6575fb7dc4bb74d
  727 Author: Michel Dänzer <mdaenzer@redhat.com>
  728 Date:   Thu Jul 23 19:14:28 2020 +0200
  729 
  730     xwayland: Handle NULL xwl_seat in xwl_seat_can_emulate_pointer_warp
  731     
  732     This can happen e.g. with weston's headless backend.
  733     
  734     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
  735     (cherry picked from commit e33453f9111b21e4814d628e6ae00bc7b200f404)
  736 
  737 commit 10cabe0b978677cfac4bfb405295a16ee8eedb34
  738 Author: Michel Dänzer <mdaenzer@redhat.com>
  739 Date:   Tue Mar 17 12:58:12 2020 +0100
  740 
  741     xwayland: Propagate damage x1/y1 coordinates in xwl_present_flip
  742     
  743     This couldn't have worked correctly for non-0 x1/y1.
  744     
  745     Noticed by inspection.
  746     
  747     Reviewed-by: Simon Ser <contact@emersion.fr>
  748     (cherry picked from commits 9141196d3104ab37385c3e385deaa70c002dd184)
  749     (cherry picked fixup from commit 85a6fd11c723888ca093785a3df43066fdca9c33)
  750 
  751 commit 3b51978b9ca8cdc71508f6db2411255ca6406c3a
  752 Author: Alan Coopersmith <alan.coopersmith@oracle.com>
  753 Date:   Tue Jul 21 18:34:28 2020 +0200
  754 
  755     doc: Update URLs in Xserver-DTrace.xml
  756     
  757     Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
  758     (cherry picked from commit 0006aecba097b437f96a462075494d68bdad24c1)
  759 
  760 commit 6cbd6a09b9037c6e6074127324978a51442ca375
  761 Author: Olivier Fourdan <ofourdan@redhat.com>
  762 Date:   Tue Jun 2 11:23:46 2020 +0200
  763 
  764     xwayland: Use a fixed DPI value for core protocol
  765     
  766     The way Xwayland works (like all Wayland clients), it first queries the
  767     Wayland registry, set up all relevant protocols and then initializes its
  768     own structures.
  769     
  770     That means Xwayland will get the Wayland outputs from the Wayland
  771     compositor, compute the physical size of the combined outputs and set
  772     the corresponding Xwayland screen properties accordingly.
  773     
  774     Then it creates the X11 screen using fbScreenInit() but does so by using
  775     a default DPI value of 96. That value is used to set the physical size
  776     of the X11 screen, hence overriding the value computed from the actual
  777     physical size provided by the Wayland compositor.
  778     
  779     As a result, the DPI computed by tools such as xdpyinfo will always be
  780     96 regardless of the actual screen size and resolution.
  781     
  782     However, if the Wayland outputs get reconfigured, or new outputs added,
  783     or existing outputs removed, Xwayland will recompute and update the
  784     physical size of the screen, leading to an unexpected change of DPI.
  785     
  786     To avoid that discrepancy, use a fixed size DPI (defaults to 96, and can
  787     be set using the standard command lime option "-dpi") and compute a
  788     physical screen size to match that DPI setting.
  789     
  790     Note that only affects legacy core protocols, X11 clients can still get
  791     the actual physical output size as reported by the Wayland compositor
  792     using the RandR protocol, which also allows for the size to be 0 if the
  793     size is unknown or meaningless.
  794     
  795     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
  796     Reviewed-by: Simon Ser <contact@emersion.fr>
  797     Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/731
  798     (cherry picked from commit b0413b6e99c6b5fbc04229ce64ddf1f41b08e63e)
  799 
  800 commit d4e8c4622890b0cdcfe5f4b9c5608d15ce976901
  801 Author: Simon Ser <contact@emersion.fr>
  802 Date:   Tue Jul 21 18:28:01 2020 +0200
  803 
  804     xwayland: only use linux-dmabuf if format/modifier was advertised
  805     
  806     Previously, linux-dmabuf was used unconditionally if the buffer had a
  807     modifier. However creating a linux-dmabuf buffer with a format/modifier
  808     which hasn't been advertised will fail.
  809     
  810     Change xwl_glamor_gbm_get_wl_buffer_for_pixmap to use linux-dmabuf when
  811     the format/modifier has been advertised only.
  812     
  813     Signed-off-by: Simon Ser <contact@emersion.fr>
  814     Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1035
  815     Tested-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
  816     Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
  817     (cherry picked from commit c0e13cbf5a56e1fdd1e4ce58ebdefb6d2904e4b3)
  818 
  819 commit c726ceacc1a39c56d2b054ac5f35798d0c3640d7
  820 Author: Martin Weber <martin.weber@secunet.com>
  821 Date:   Tue Jul 21 18:24:41 2020 +0200
  822 
  823     hw/xfree86: Avoid cursor use after free
  824     
  825     During a VT-Switch a raw pointer to the shared cursor object
  826     is saved which is then freed (in case of low refcount) by a call to
  827     xf86CursorSetCursor with argument pCurs = NullCursor.
  828     This leads to a dangling pointer which can follow in a use after free.
  829     
  830     This fix ensures that there is a shared handle saved for the VT-Switch cycle.
  831     
  832     Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
  833     (cherry picked from commit 7ae221ad5774756766dc78a73d71f4163ac7b1c6)
  834 
  835 commit 0679d4660579d0f399b5a9b8140d0c0d3483fa9f
  836 Author: Alan Coopersmith <alan.coopersmith@oracle.com>
  837 Date:   Tue Jul 21 18:14:51 2020 +0200
  838 
  839     Update URL's in man pages
  840     
  841     Mostly http->https conversions, but also replaces gitweb.fd.o
  842     with gitlab.fd.o, and xquartz.macosforge.org with xquartz.org.
  843     
  844     Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
  845     (cherry picked from commit a5151f58cf98d1696d60a3577dc50851f159da8a)
  846 
  847 commit 3059a2e62ae7ef665a537ee0fc2ec24beccf17ae
  848 Author: Olivier Fourdan <ofourdan@redhat.com>
  849 Date:   Wed Jun 3 10:17:13 2020 +0200
  850 
  851     xwayland: Disable the MIT-SCREEN-SAVER extension when rootless
  852     
  853     Xwayland is just a Wayland client, no X11 screensaver should be
  854     expected to work reliably on Xwayland when running rootless because
  855     Xwayland cannot grab the input devices so it has no way to actually
  856     lock the screen managed by the Wayland compositor.
  857     
  858     Turn off the screensaver on Xwayland when running rootless by setting
  859     the screensaver timeout and interval and their default values to zero
  860     and disable the MIT-SCREEN-SAVER extension.
  861     
  862     Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1051
  863     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
  864     Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
  865     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
  866     (cherry picked from commit 5c20e4b834145f590c68dbc98e33c7d3d710001a)
  867 
  868 commit 23c55ec32973e0a75d723e3f37769dd711c9c59c
  869 Author: Michel Dänzer <mdaenzer@redhat.com>
  870 Date:   Wed Jul 22 18:20:14 2020 +0200
  871 
  872     xwayland: Hold a pixmap reference in struct xwl_present_event
  873     
  874     In the log of the commit below, I claimed this wasn't necessary on the
  875     1.20 branch, but this turned out to be wrong: It meant that
  876     event->buffer could already be destroyed in xwl_present_free_event,
  877     resulting in use-after-free and likely a crash.
  878     
  879     Fixes: 22c0808ac88f "xwayland: Free all remaining events in
  880                          xwl_present_cleanup"
  881 
  882 commit 1179938c179a6e96170275e24adac3325539be65
  883 Author: Alex Goins <agoins@nvidia.com>
  884 Date:   Thu Jul 2 20:12:43 2020 -0500
  885 
  886     randr: Check rrPrivKey in RRHasScanoutPixmap()
  887     
  888     RRHasScanoutPixmap() is called from xf86CheckHWCursor(), regardless of whether
  889     or not RandR has been initialized.
  890     
  891     As mentioned in commit 4226c6d, it's possible that RandR has not been
  892     initialized if the server is configured with Xinerama and there is more than one
  893     X screen. Calling rrGetScrPriv when RandR isn't initialized causes an assertion
  894     failure that aborts the server:
  895     
  896           Xorg: ../include/privates.h:121: dixGetPrivateAddr: Assertion
  897           key->initialized' failed.
  898     
  899     Just as in commit 4226c6d, fix the problem by checking
  900     dixPrivateKeyRegistered(rrPrivKey) before calling rrGetScrPriv.
  901     
  902     Signed-off-by: Alex Goins <agoins@nvidia.com>
  903     Acked-by: Olivier Fourdan <ofourdan@redhat.com>
  904     (cherry picked from commit 8eeff5d7880c6885ee6f206355599f13d739afa7)
  905 
  906 commit 4912f693e8e3abbd090ee02b4bfe14703c3bad0f
  907 Author: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
  908 Date:   Fri May 15 18:33:11 2020 +0200
  909 
  910     modesetting: Fix front_bo leak at drmmode_xf86crtc_resize on XRandR rotation
  911     
  912     Since the introduction of "modesetting: Remove unnecessary fb addition from
  913     drmmode_xf86crtc_resize" the fb_id isn't initialited at
  914     drmmode_xf86crtc_resize.
  915     
  916     Rotate operation of XRandR uses rotate_bo. So in this case the fb_id
  917     associated to the front_bo is not initialized at drmmode_set_mode_major.
  918     So fd_id remains 0.
  919     
  920     As every call to drmmode_xf86crtc_resize allocates a new front_bo we should
  921     destroy unconditionally the old_front_bo if operation success. So we free
  922     the allocated GBM handles.
  923     
  924     This avoids crashing xserver with a OOM in the RPI4 1Gb at 4k resolution
  925     after 3 series xrandr rotations from normal to left and vice versa reported at
  926     https://github.com/raspberrypi/firmware/issues/1345
  927     
  928     Signed-off-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
  929     Reviewed-by: Keith Packard <keithp@keithp.com>
  930     Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1024
  931     Fixes: 8774532121 "modesetting: Remove unnecessary fb addition from
  932            drmmode_xf86crtc_resize"
  933     (cherry picked from commit 73480f172aeced074dd9301ae4d97f7d2f3a9a45)
  934 
  935 commit ccbcf083d5c676311aab77cc837a2539a7278a62
  936 Author: Lyude Paul <lyude@redhat.com>
  937 Date:   Tue Jul 14 18:32:39 2020 -0400
  938 
  939     xwayland: Store xwl_tablet_pad in its own private key
  940     
  941     When a slave device causes the master virtual pointer device to change
  942     device types, the device's private data pointer
  943     (device->public.devicePrivate) is also changed to match the type of the
  944     slave device. This can be a problem though, as tablet pad devices will
  945     set the device's private data pointer to their own xwl_tablet_pad
  946     struct. This can cause us to dereference the pointer as the wrong type,
  947     and result in a segfault:
  948     
  949     Thread 1 "Xwayland" received signal SIGSEGV, Segmentation fault.
  950     wl_proxy_marshal (proxy=0x51, opcode=opcode@entry=0) at src/wayland-client.c:792
  951     792             va_start(ap, opcode);
  952     (gdb) bt
  953     0  wl_proxy_marshal (proxy=0x51, opcode=opcode@entry=0) at
  954       src/wayland-client.c:792
  955     1  0x00005610b27b6c55 in wl_pointer_set_cursor (hotspot_y=0,
  956       hotspot_x=0, surface=0x0, serial=<optimized out>, wl_pointer=<optimized
  957       out>) at /usr/include/wayland-client-protocol.h:4610
  958     2  xwl_seat_set_cursor (xwl_seat=xwl_seat@entry=0x5610b46d5d10) at
  959       xwayland-cursor.c:137
  960     3  0x00005610b27b6ecd in xwl_set_cursor (device=<optimized out>,
  961       screen=<optimized out>, cursor=<optimized out>, x=<optimized out>,
  962       y=<optimized out>) at xwayland-cursor.c:249
  963     4  0x00005610b2800b46 in miPointerUpdateSprite (pDev=0x5610b4501a30) at
  964       mipointer.c:468
  965     5  miPointerUpdateSprite (pDev=0x5610b4501a30) at mipointer.c:410
  966     6  0x00005610b2800e56 in miPointerDisplayCursor (pCursor=0x5610b4b35740,
  967       pScreen=0x5610b3d54410, pDev=0x5610b4501a30) at mipointer.c:206
  968     7  miPointerDisplayCursor (pDev=0x5610b4501a30, pScreen=0x5610b3d54410,
  969       pCursor=0x5610b4b35740) at mipointer.c:194
  970     8  0x00005610b27ed62b in CursorDisplayCursor (pDev=<optimized out>,
  971       pScreen=0x5610b3d54410, pCursor=0x5610b4b35740) at cursor.c:168
  972     9  0x00005610b28773ee in AnimCurDisplayCursor (pDev=0x5610b4501a30,
  973       pScreen=0x5610b3d54410, pCursor=0x5610b4b35740) at animcur.c:197
  974     10 0x00005610b28eb4ca in ChangeToCursor (pDev=0x5610b4501a30,
  975       cursor=0x5610b4b35740) at events.c:938
  976     11 0x00005610b28ec99f in WindowHasNewCursor
  977       (pWin=pWin@entry=0x5610b4b2e0c0) at events.c:3362
  978     12 0x00005610b291102d in ChangeWindowAttributes (pWin=0x5610b4b2e0c0,
  979       vmask=<optimized out>, vlist=vlist@entry=0x5610b4c41dcc,
  980       client=client@entry=0x5610b4b2c900) at window.c:1561
  981     13 0x00005610b28db8e3 in ProcChangeWindowAttributes (client=0x5610b4b2c900)
  982       at dispatch.c:746
  983     14 0x00005610b28e1e5b in Dispatch () at dispatch.c:497
  984     15 0x00005610b28e5f34 in dix_main (argc=16, argv=0x7ffc7a601b68,
  985       envp=<optimized out>) at main.c:276
  986     16 0x00007f8828cde042 in __libc_start_main (main=0x5610b27ae930 <main>,
  987       argc=16, argv=0x7ffc7a601b68, init=<optimized out>, fini=<optimized
  988       out>, rtld_fini=<optimized out>, stack_end=0x7ffc7a601b58) at
  989       ../csu/libc-start.c:308
  990     17 0x00005610b27ae96e in _start () at cursor.c:1064
  991     
  992     Simple reproducer in gnome-shell: open up an Xwayland window, press some
  993     tablet buttons, lock and unlock the screen. Repeat if it doesn't crash
  994     the first time.
  995     
  996     So, let's fix this by registering our own device-specific private key
  997     for storing a backpointer to xwl_tablet_pad, so that all input devices
  998     have their private data pointers set to their respective xwl_seat.
  999     
 1000     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 1001     Signed-off-by: Lyude Paul <lyude@redhat.com>
 1002     (cherry picked from commit ba0e789b912671c724a21b3a30291247718bcf7d)
 1003 
 1004 commit cc36135595fad70ce81697d7c98eb8a26cec9a72
 1005 Author: SimonP <simonp.git@gmail.com>
 1006 Date:   Tue Jun 9 13:26:48 2020 +0200
 1007 
 1008     xwayland: Initialise values in xwlVidModeGetGamma()
 1009     
 1010     ProcVidModeGetGamma() relies on GetGamma() to initialise values if it
 1011     returns TRUE. Without this, we're sending uninitialised values to
 1012     clients.
 1013     
 1014     Fixes: xorg/xserver#1040
 1015     (cherry picked from commit 6748a4094158d2bde1630b915a5318f9f22c8e0a)
 1016 
 1017 commit 533cc6ca046a9e59503bd0763ab28f66284f7dc7
 1018 Author: Sjoerd Simons <sjoerd@collabora.com>
 1019 Date:   Fri Apr 10 16:34:06 2020 +0200
 1020 
 1021     xwayland: Fix crashes when there is no pointer
 1022     
 1023     When running with a weston session without a pointer device (thus with
 1024     the wl_seat not having a pointer) xwayland pointer warping and pointer
 1025     confining should simply be ignored to avoid crashes.
 1026     
 1027     Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
 1028     (cherry picked from commit d35f68336b0a462dc660797d1779581f348af04e)
 1029 
 1030 commit 3aa31823dbc3dd026ce08958ca5324d7af94a86a
 1031 Author: Olivier Fourdan <ofourdan@redhat.com>
 1032 Date:   Tue May 5 15:40:43 2020 +0200
 1033 
 1034     xwayland: Clear private on device removal
 1035     
 1036     Xwayland uses the device private to point to the `xwl_seat`.
 1037     
 1038     Device may be removed at any time, including on suspend.
 1039     
 1040     On resume, if the DIX code ends up calling a function that requires the
 1041     `xwl_seat` such as `xwl_set_cursor()` we may end up pointing at random
 1042     data.
 1043     
 1044     Make sure the clear the device private data on removal so that we don't
 1045     try to use it and crash later.
 1046     
 1047     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 1048     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 1049     https://gitlab.freedesktop.org/xorg/xserver/issues/709
 1050     (cherry picked from commit 4195e8035645007be313ade79032b8d561ceec6c)
 1051 
 1052 commit 22c0808ac88f917541fe40ab30e85364adac82bc
 1053 Author: Michel Dänzer <mdaenzer@redhat.com>
 1054 Date:   Fri Jun 19 18:10:18 2020 +0200
 1055 
 1056     xwayland: Free all remaining events in xwl_present_cleanup
 1057     
 1058     At the end of xwl_present_cleanup, these events aren't reachable
 1059     anymore, so if we don't free them first, they're leaked.
 1060     
 1061     (cherry picked from commit 64565ea344fef0171497952ef75f019cb420fe3b)
 1062     
 1063     v2:
 1064     * Simpler backport, no need to keep a reference to the pixmap on the
 1065       1.20 branch.
 1066 
 1067 commit 37779d7f4028e94c8383a937eab57a6ffb15c38b
 1068 Author: Michel Dänzer <mdaenzer@redhat.com>
 1069 Date:   Fri Jun 19 18:14:35 2020 +0200
 1070 
 1071     xwayland: Always use xwl_present_free_event for freeing Present events
 1072     
 1073     Minor cleanup, and will make the next change simpler. No functional
 1074     change intended.
 1075     
 1076     Reviewed-by: Dave Airlie <airlied@redhat.com>
 1077     (cherry picked from commit 1beffba699e2cc3f23039d2177c025bc127966de)
 1078 
 1079 commit ba52e5eb0e3b30aa63a8b51e8899eca88d9e0a30
 1080 Author: Michel Dänzer <mdaenzer@redhat.com>
 1081 Date:   Thu Jun 25 18:11:31 2020 +0200
 1082 
 1083     present/wnmd: Free flip_queue entries in present_wnmd_clear_window_flip
 1084     
 1085     When present_wnmd_clear_window_flip is done, present_destroy_window
 1086     frees struct present_window_priv, and the events in the flip queue
 1087     become unreachable. So if we don't free them first, they're leaked.
 1088     
 1089     Also drop the call to present_wnmd_set_abort_flip, which just sets a
 1090     flag in struct present_window_priv and thus can't have any observable
 1091     effect after present_destroy_window.
 1092     
 1093     Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1042
 1094     Reviewed-by: Dave Airlie <airlied@redhat.com>
 1095     (cherry picked from commit 1bdedc8dbb9d035b85444c2558a137470ff52113)
 1096 
 1097 commit b3310ed5036b098509e40b3642c2265132445e6a
 1098 Author: Michel Dänzer <mdaenzer@redhat.com>
 1099 Date:   Thu Jun 25 18:09:27 2020 +0200
 1100 
 1101     present/wnmd: Keep pixmap pointer in present_wnmd_clear_window_flip
 1102     
 1103     The comment was incorrect: Any reference held by the window (see
 1104     present_wnmd_execute) is in addition to the one in struct present_vblank
 1105     (see present_vblank_create). So if we don't drop the latter, the pixmap
 1106     will be leaked.
 1107     
 1108     Reviewed-by: Dave Airlie <airlied@redhat.com>
 1109     (cherry picked from commit bc9dd1c71c3722284ffaa7183f4119151b25a44f)
 1110 
 1111 commit fc297c87d6755c11380a44e3510689cc76eb1ee1
 1112 Author: Simon Ser <contact@emersion.fr>
 1113 Date:   Mon May 4 18:20:17 2020 +0200
 1114 
 1115     xwayland: import DMA-BUFs with GBM_BO_USE_RENDERING only
 1116     
 1117     Drop GBM_BO_USE_SCANOUT from the GBM_BO_IMPORT_FD import, add
 1118     GBM_BO_USE_RENDERING to the GBM_BO_IMPORT_FD_MODIFIER import.
 1119     
 1120     If the DMA-BUF cannot be scanned out, gbm_bo_import with
 1121     GBM_BO_USE_SCANOUT will fail. However Xwayland doesn't need to scan-out
 1122     the buffer and can work fine without scanout. Glamor only needs
 1123     GBM_BO_USE_RENDERING.
 1124     
 1125     Signed-off-by: Simon Ser <contact@emersion.fr>
 1126     Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
 1127     Reviewed-by: Daniel Stone <daniels@collabora.com>
 1128     (cherry picked from commit 421ce458f1d295015c108eb32f9611e527649cf8)
 1129 
 1130 commit 0430d13c1ed8ddbb1d5a57d7e507771f8079d9af
 1131 Author: Olivier Fourdan <ofourdan@redhat.com>
 1132 Date:   Fri Apr 24 17:45:49 2020 +0200
 1133 
 1134     xwayland: Fix infinite loop at startup
 1135     
 1136     Mutter recently added headless tests, and when running those tests the
 1137     Wayland compositor runs for a very short time.
 1138     
 1139     Xwayland is spawned by the Wayland compositor and upon startup will
 1140     query the various Wayland protocol supported by the compositor.
 1141     
 1142     To do so, it will do a roundtrip to the Wayland server waiting for
 1143     events it expects.
 1144     
 1145     If the Wayland compositor terminates before Xwayland has got the replies
 1146     it expects, it will loop indefinitely calling `wl_display_roundtrip()`
 1147     continuously.
 1148     
 1149     To avoid that issue, add a new `xwl_screen_roundtrip()` that checks for
 1150     the returned value from `wl_display_roundtrip()` and fails if it is
 1151     negative.
 1152     
 1153     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 1154     Reviewed-by: Roman Gilg <subdiff@gmail.com>
 1155     Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
 1156     
 1157     (cherry picked from commit 785e59060c00129e47da6c0877604a56d7e0e32f)
 1158 
 1159 commit b8b10e29302d94832be8f0d8aa7aa1b54e42762c
 1160 Author: Hans de Goede <hdegoede@redhat.com>
 1161 Date:   Mon Jun 24 21:46:26 2019 +0200
 1162 
 1163     modesetting: Disable pageflipping when using a swcursor
 1164     
 1165     The miPointerSpriteFunc swcursor code expects there to only be a single
 1166     framebuffer and when the cursor moves it will undo the damage of the
 1167     previous draw, potentially overwriting what ever is there in a new
 1168     framebuffer installed after a flip.
 1169     
 1170     This leads to all kind of artifacts, so we need to disable pageflipping
 1171     when a swcursor is used.
 1172     
 1173     The code for this has shamelessly been copied from the xf86-video-amdgpu
 1174     code.
 1175     
 1176     Fixes: https://gitlab.freedesktop.org/xorg/xserver/issues/828
 1177     
 1178     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
 1179     Signed-off-by: Hans de Goede <hdegoede@redhat.com>
 1180     (cherry picked from commit 0aaac8d783e78c040a70a55ba8d67809abd7e625)
 1181     Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk@displaylink.com>
 1182 
 1183 commit 271934db9f3b1297754b29855646e0a4ee01db59
 1184 Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
 1185 Date:   Tue Oct 30 18:43:51 2018 +0100
 1186 
 1187     dix: do not send focus event when grab actually does not change
 1188     
 1189     c67f2eac5651 ("dix: always send focus event on grab change") made dix
 1190     always sent events when it's a NotifyGrab or NotifyUngrab, even if
 1191     from == to, because 'from' can just come from a previous XSetInputFocus
 1192     call.
 1193     
 1194     However, when an application calls XGrabKeyboard several times on
 1195     the same window, we are now sending spurious FocusOut+FocusIn with
 1196     NotifyGrab, even if the grab does not actually change. This makes screen
 1197     readers for blind people spuriously emit activity events which disturb
 1198     screen reading workflow when e.g. switching between menus.
 1199     
 1200     This commit avoids calling DoFocusEvents in that precise case, i.e. when
 1201     oldWin is a previous grab and the new grab is the same window.
 1202     
 1203     Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
 1204     Reviewed-by: Adam Jackson <ajax@redhat.com>
 1205     (cherry picked from commit 364d64981549544213e2bca8de6ff8a5b2b5a69e)
 1206 
 1207 commit f84ad082557f9cde6b8faa373eca6a0a89ba7d56
 1208 Author: Matt Turner <mattst88@gmail.com>
 1209 Date:   Sun Mar 29 13:02:03 2020 -0700
 1210 
 1211     xserver 1.20.8
 1212     
 1213     Signed-off-by: Matt Turner <mattst88@gmail.com>
 1214 
 1215 commit 8837279869309317c110afb6f2f3c24484c77657
 1216 Author: Jon Turney <jon.turney@dronecode.org.uk>
 1217 Date:   Wed Apr 17 11:37:11 2019 +0100
 1218 
 1219     Fix old-style definition warning for xf86OSInputThreadInit()
 1220     
 1221     ../hw/xfree86/os-support/stub/stub_init.c: In function ‘xf86OSInputThreadInit’:
 1222     ../hw/xfree86/os-support/stub/stub_init.c:29:1: warning: old-style function definition [-Wold-style-definition]
 1223     
 1224     (cherry picked from commit 7c266cafed14b38c039091651069ae9888c3a8ae)
 1225 
 1226 commit 0c012f968b4e02a2bc892ce71f7bea9bd3f7fb22
 1227 Author: Jon Turney <jon.turney@dronecode.org.uk>
 1228 Date:   Wed Mar 13 14:57:14 2019 +0000
 1229 
 1230     Add xf86OSInputThreadInit to stub os-support as well
 1231     
 1232     stub os support also needs to provide xf86OSInputThreadInit, omitted in
 1233     ea1527a8
 1234     
 1235     (cherry picked from commit c020769dbfb965740c8441d8242b738ef572a7c9)
 1236 
 1237 commit b259485975078087fe6bde2b9e1eccf4ae14120c
 1238 Author: Michel Dänzer <mdaenzer@redhat.com>
 1239 Date:   Tue Mar 17 11:45:22 2020 +0100
 1240 
 1241     xwayland: Delete all frame_callback_list nodes in xwl_unrealize_window
 1242     
 1243     We were only calling xwl_present_unrealize_window for the toplevel
 1244     window, but the list can contain entries from child windows as well,
 1245     in which case we were leaving dangling pointers to freed memory.
 1246     
 1247     Closes: https://gitlab.freedesktop.org/xorg/xserver/issues/1000
 1248     Fixes: c5067feaeea1 "xwayland: Use single frame callback for Present
 1249                          flips and normal updates"
 1250     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 1251     Tested-by: Olivier Fourdan <ofourdan@redhat.com>
 1252     (cherry picked from commit 5e91587302e85fd6f0e8d5ffbe30182e18c6913f)
 1253 
 1254 commit a033571644d277dc49a489f7ae32c4ad92856543
 1255 Author: Jonas Ådahl <jadahl@gmail.com>
 1256 Date:   Fri Sep 13 17:11:27 2019 +0200
 1257 
 1258     xwayland/glamor-gbm: Handle DRM_FORMAT_MOD_INVALID gracefully
 1259     
 1260     The compositor may send DRM_FORMAT_MOD_INVALID instead of a list of
 1261     modifiers for various reasons. Handle this gracefully by ignoring it.
 1262     
 1263     Without this, if a compositor would send DRM_FORMAT_MOD_INVALID, it'd
 1264     result in empty windows provided by Xwayland.
 1265     
 1266     Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
 1267     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 1268     Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
 1269     (cherry picked from commit edf964434eac10ffbe27cc883e3ab95505669aee)
 1270 
 1271 commit 3c48bd50ad33f2a533ac76afa38d6e3906ebc28a
 1272 Author: Arthur Williams <taaparthur@gmail.com>
 1273 Date:   Sun Oct 6 18:55:35 2019 +0000
 1274 
 1275     dix: Check for NULL spriteInfo in GetPairedDevice
 1276     
 1277     There is a race when reseting the XServer that causes spriteInfo to be
 1278     NULL in GetPairedDevice resulting a segfault and subsequent crash. The
 1279     problem was noticed when opening a connection, creating master devices,
 1280     destroying master devices and closing the connection during testing.
 1281     
 1282     Signed-off-by: Arthur Williams <taaparthur@gmail.com>
 1283     
 1284     
 1285     (cherry picked from commit e693c9657f98c334e9921ca2f8ebf710497c0c6a)
 1286 
 1287 commit 1610ef1d6b5ba99da9d1a639f3b65b2e61514a7d
 1288 Author: David Seifert <soap@gentoo.org>
 1289 Date:   Fri Jan 24 12:49:44 2020 +0100
 1290 
 1291     Fix building with `-fno-common`
 1292     
 1293     * GCC 10 will switch the default to `-fno-common`.
 1294       https://gcc.gnu.org/PR85678
 1295     
 1296     Bug: https://bugs.gentoo.org/705880
 1297     Signed-off-by: Matt Turner <mattst88@gmail.com>
 1298 
 1299 commit 2a185dd22ddb5b0d7d2ef5948591028766bb9530
 1300 Author: Michel Dänzer <mdaenzer@redhat.com>
 1301 Date:   Mon Mar 2 18:09:31 2020 +0100
 1302 
 1303     xwayland: Use frame callbacks for Present vblank events
 1304     
 1305     Instead of only the fallback timer.
 1306     
 1307     Fixes https://gitlab.freedesktop.org/xorg/xserver/issues/854
 1308     
 1309     v2:
 1310     * Drop unused frame_callback member of struct xwl_present_window
 1311       (Olivier Fourdan)
 1312     
 1313     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 1314     (cherry picked from commit 9b31358c52e951883bf7c01c953a9da080542244)
 1315 
 1316 commit 99a6d6b15e0757a4652a569a1b2070c76a00b567
 1317 Author: Michel Dänzer <mdaenzer@redhat.com>
 1318 Date:   Wed Nov 27 18:04:06 2019 +0100
 1319 
 1320     xwayland: Use single frame callback for Present flips and normal updates
 1321     
 1322     Using a list of Present windows that need to be called back.
 1323     
 1324     This prepares for the following change, there should be no change in
 1325     observed behaviour.
 1326     
 1327     v2:
 1328     * Use xwl_window_create_frame_callback instead of making the
 1329       frame_listener struct non-static (Olivier Fourdan)
 1330     
 1331     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 1332     (cherry picked from commit c5067feaeea115761f0a72f37407c6e5e943d1a1)
 1333 
 1334 commit 915cc107767624bd7914c962347bab9c2e21cdff
 1335 Author: Michel Dänzer <mdaenzer@redhat.com>
 1336 Date:   Fri Dec 13 18:26:35 2019 +0100
 1337 
 1338     xwayland: Add xwl_window_create_frame_callback helper
 1339     
 1340     This will be used by the following changes. No functional change
 1341     intended.
 1342     
 1343     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 1344     (cherry picked from commit f80eea0529b2cfb805a9c7d4994a4235451131e3)
 1345 
 1346 commit 94dad4f05133171805ee94095bbcd20ece754eba
 1347 Author: Dor Askayo <dor.askayo@gmail.com>
 1348 Date:   Wed Feb 19 17:22:11 2020 +0100
 1349 
 1350     xwayland: clear pixmaps after creation in rootless mode
 1351     
 1352     When a pixmap is created with a backing FBO, the FBO should be cleared
 1353     to avoid rendering uninitialized memory. This could happen when the
 1354     pixmap is rendered without being filled in its entirety.
 1355     
 1356     One example is when a top-level window without a background is
 1357     resized. The pixmap would be reallocated to prepare for more pixels,
 1358     but uninitialized memory would be rendered in the resize offset until
 1359     the client sends a frame that fills these additional pixels.
 1360     
 1361     Another example is when a new top-level window is created without a
 1362     background. Uninitialized memory would be rendered after the pixmap is
 1363     allocated and before the client sends its first frame.
 1364     
 1365     This issue is only apparent in OpenGL implementations that don't zero
 1366     the VRAM of allocated buffers by default, such as RadeonSI.
 1367     
 1368     Signed-off-by: Dor Askayo <dor.askayo@gmail.com>
 1369     Closes: https://gitlab.freedesktop.org/xorg/xserver/issues/636
 1370     Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
 1371     (cherry picked from commit 0e9a0c203c2ae4eae12bdbb95428f398211c7bee)
 1372     
 1373     [ Michel Dänzer:
 1374     * Squashed in commit ebf549db2d9341d99e0d0847b948dd798d98f7dc
 1375     * Dropped code related to glamor_format, which only exists on master ]
 1376 
 1377 commit 0238359bced17f9db0e266111897d154ab117d68
 1378 Author: Michel Dänzer <mdaenzer@redhat.com>
 1379 Date:   Fri Feb 7 12:15:07 2020 +0100
 1380 
 1381     xwayland: Call glamor_block_handler from xwl_screen_post_damage
 1382     
 1383     In between the two phases introduced by the previous change. This makes
 1384     sure all pending drawing to the new buffers is flushed before they're
 1385     committed to the Wayland server.
 1386     (cherry picked from commit a542224ea28e2e8ccaf5e0df85bf6c603e97599a)
 1387 
 1388 commit a93bce6bfc6c610676a7fbc76639854c5553cb2c
 1389 Author: Michel Dänzer <mdaenzer@redhat.com>
 1390 Date:   Fri Feb 7 12:06:39 2020 +0100
 1391 
 1392     xwayland: Split up xwl_screen_post_damage into two phases
 1393     
 1394     The first phase sets the new surface properties for all damaged
 1395     windows, then the second phase commits all surface updates.
 1396     
 1397     This is preparatory for the next change, there should be no observable
 1398     change in behaviour (other than the order of Wayland protocol
 1399     requests).
 1400     
 1401     Reviewed-by: Adam Jackson <ajax@redhat.com>
 1402     (cherry picked from commit f88d9b1f779835302e02e255fcd45989db7f488d)
 1403 
 1404 commit 1ba5e528d52ed9d7d67eb45c5d3e04b6f5d22b05
 1405 Author: Maarten Lankhorst <dev@mblankhorst.nl>
 1406 Date:   Thu Apr 25 11:46:41 2019 +0200
 1407 
 1408     modesetting: Disable atomic support by default
 1409     
 1410     The atomic driver has issues with modesetting when stealing
 1411     connectors from a different crtc, a black screen when doing rotation
 1412     on a different crtc, and in general is just a mapping of the legacy
 1413     helpers to atomic. This is already done in the kernel, so just
 1414     fallback to legacy by default until this is fixed.
 1415     
 1416     Please backport to 1.20, as we don't want to enable it for everyone
 1417     there. It breaks for existing users.
 1418     
 1419     The fixes to make the xserver more atomic have been pending on the
 1420     mailing list for ages.
 1421     
 1422     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110375
 1423     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110030
 1424     References: https://gitlab.freedesktop.org/xorg/xserver/merge_requests/36/commits
 1425     Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
 1426     (cherry picked from commit f0d78b47ac49977a6007f5fe081f00c6eb19a12e)
 1427 
 1428 commit d44bbb4710961651dcf10701bc562f1f01509010
 1429 Author: Eric Anholt <eric@anholt.net>
 1430 Date:   Mon Feb 10 10:22:34 2020 +0100
 1431 
 1432     glamor: Fix a compiler warning since the recent OOM fixes.
 1433     
 1434     Signed-off-by: Eric Anholt <eric@anholt.net>
 1435     (cherry picked from commit 3b26b90cb787a14fa5f8bb2033eab8ab6562a9a5)
 1436 
 1437 commit d2a6c8708ca4f27c8d9aade6db2c4e7f2d8c624f
 1438 Author: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
 1439 Date:   Mon Feb 10 10:21:02 2020 +0100
 1440 
 1441     glamor: Fallback to system memory for RW PBO buffer allocation
 1442     
 1443     We currently support two modes of operation for RW PBO buffers: one
 1444     that allocates a pack buffer with GL memory and one that uses system
 1445     memory when the former is not supported.
 1446     
 1447     Since allocation with system memory is less likely to fail, add a
 1448     fallback to system memory when GL memory failed instead of bailing
 1449     out.
 1450     
 1451     Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
 1452     (cherry picked from commit 8c4e8d9eff03cefc987f13c900b0a47403946127)
 1453 
 1454 commit ca034c2f2cfff8e49b816b8ecbaa96215b796e36
 1455 Author: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
 1456 Date:   Mon Feb 10 10:20:30 2020 +0100
 1457 
 1458     glamor: Propagate glamor_prepare_access failures in copy helpers
 1459     
 1460     glamor_prepare_access can fail for a few reasons, especially when
 1461     failing to allocate a PBO buffer. Take this in account and bail in
 1462     the copy helpers that call the helper when a failure happens.
 1463     
 1464     Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
 1465     (cherry picked from commit de6b3fac1f26075ce915006c914c4a4755617715)
 1466 
 1467 commit a7b165d994d74131778a5a9bcffec957f1d1cacb
 1468 Author: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
 1469 Date:   Mon Feb 10 10:20:04 2020 +0100
 1470 
 1471     glamor: Error out on out-of-memory when allocating PBO for FBO access
 1472     
 1473     Packed buffer allocation (which happens at glBufferData time with the
 1474     buffer bound) can fail when there is no GL memory left.
 1475     
 1476     Pick up the error when it happens, print a proper error message, do
 1477     some cleanup and bail.
 1478     
 1479     Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
 1480     (cherry picked from commit bc2e12239f86e5a4acd220744f42eb83ba55d328)
 1481 
 1482 commit 428b5ce4da99a43bfa0c1933ec447f7feb3639a1
 1483 Author: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
 1484 Date:   Mon Feb 10 10:19:18 2020 +0100
 1485 
 1486     glamor: Propagate FBO allocation failure for picture to texture upload
 1487     
 1488     When uploading a picture to a texture, glamor_upload_picture_to_texture
 1489     calls glamor_pixmap_ensure_fbo to ensure that there is backing FBO.
 1490     The FBO will be allocated if the picture's drawable pixmap does not have
 1491     one already, which can fail when there is no GL memory left.
 1492     
 1493     glamor_upload_picture_to_texture checks that the call succeeded and will
 1494     enter the failure path if it did not. However, unlike many other
 1495     functions in glamor, this one has ret set to TRUE initially, so it needs
 1496     to be set to FALSE when a failure happens.
 1497     
 1498     Otherwise, the error is not propagated and the failure path return TRUE.
 1499     This leads to a fault when trying to access the FBO pointer later on.
 1500     
 1501     Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
 1502     (cherry picked from commit c98c7709c67d8ed6b7455ec700a49b58c396ec2c)
 1503 
 1504 commit 948afd768398955f043fef8e14d7d154cea25f85
 1505 Author: Dave Airlie <airlied@redhat.com>
 1506 Date:   Thu Feb 6 17:59:08 2020 +0100
 1507 
 1508     modesetting: remove unnecessary error message, fix zaphod leases
 1509     
 1510     I introduced this error with the MST hotplug code, but it can trigger
 1511     on zaphod setups, and is perfectly fine. There is no support for
 1512     MST/hotplug on zaphod setups currently, so we can just skip over
 1513     the dynamic connector handling here. However we shouldn't skip
 1514     over the lease handling so move it into the codepath.
 1515     
 1516     Fixes: 9257b1252da9 ("modesetting: add dynamic connector hotplug support (MST) (v3)")
 1517     Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
 1518     Signed-off-by: Dave Airlie <airlied@redhat.com>
 1519     (cherry picked from commit 1cfdd1a96580733df3625bcea3384ffee3dc92df)
 1520 
 1521 commit 1c3e51dabadbf65e7fdedbebbdcd19a85fb03e34
 1522 Author: Michel Dänzer <mdaenzer@redhat.com>
 1523 Date:   Thu Feb 6 17:57:16 2020 +0100
 1524 
 1525     xfree86/modes: Bail from xf86RotateRedisplay if pScreen->root is NULL
 1526     
 1527     Avoids a crash in xf86RotatePrepare -> DamageRegister during
 1528     CreateScreenResources if rotation or another transform is configured for
 1529     any connected RandR output in xorg.conf. The generic rotation/transform
 1530     code generally can't work without the root window currently.
 1531     
 1532     Closes: https://gitlab.freedesktop.org/xorg/xserver/issues/969
 1533     Fixes: 094f42cdfe5d "xfree86/modes: Call xf86RotateRedisplay from
 1534                          xf86CrtcRotate"
 1535     Acked-by: Olivier Fourdan <ofourdan@redhat.com>
 1536     Reviewed-by: Adam Jackson <ajax@redhat.com>
 1537     (cherry picked from commit 6a5e47c57d16de8b6a6a2636f3cbad1aebec32e2)
 1538 
 1539 commit af2fd88b1019f63fe3ce871f9e99b3e1e4608b25
 1540 Author: Daniel Llewellyn <daniel@bowlhat.net>
 1541 Date:   Thu Feb 6 17:56:12 2020 +0100
 1542 
 1543     os: Ignore dying client in ResetCurrentRequest
 1544     
 1545     You might as well, it's harmless. Better, some cleanup code (like DRI2
 1546     swap wait) needs to run both normally and at client exit, so it
 1547     simplifies the callers to not need to check first. See 4308f5d3 for a
 1548     similar example.
 1549     
 1550     Props: @ajax (Adam Jackson)
 1551     
 1552     Fixes: xorg/xserver#211
 1553     
 1554     Signed-off-by: Daniel Llewellyn <diddledan@ubuntu.com>
 1555     (cherry picked from commit 578371616e09364318c9fb2371a693d438b31b29)
 1556 
 1557 commit e5293f1c5d7b20d98ed4975dc29a6f88c8bc6a0d
 1558 Author: Adam Jackson <ajax@redhat.com>
 1559 Date:   Thu Feb 6 17:55:25 2020 +0100
 1560 
 1561     Revert "dri2: Don't make reference to noClientException"
 1562     
 1563     It's true that the value would always be -1, if it's not zero, but it's
 1564     usually zero is the problem. As a result we return failure from
 1565     otherwise successful indirect GLX paths, which isn't very nice of us.
 1566     
 1567     This reverts commit 7d33ab0f8c7958b205076f71e4b47c24aace77fd.
 1568     
 1569     Fixes: https://gitlab.freedesktop.org/xorg/xserver/issues/211
 1570     (cherry picked from commit e1fa3beb2fe2519e69f859f0acdc68e5a770de27)
 1571 
 1572 commit d845ceae53bb425695e6a185b51ae1b432dd4672
 1573 Author: George Matsumura <gmmatsumura01@bvsd.org>
 1574 Date:   Thu Feb 6 17:54:36 2020 +0100
 1575 
 1576     Restrict 1x1 pixmap filling optimization to GXcopy
 1577     
 1578     This restricts an optimization whereby the filling of 1x1 pixmaps
 1579     went around the driver-provided function to cases where the
 1580     source color is meant to be directly copied to the destination,
 1581     as opposed to other operations which should produce different
 1582     destination values than just the foreground color.
 1583     
 1584     Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>
 1585     Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
 1586     (cherry picked from commit 83826075e59c0393c16d2a2482dc5c9f2fdf4564)
 1587 
 1588 commit c2ef88c4d3a551ff7646bfb86550cae32b02a510
 1589 Author: Michel Dänzer <mdaenzer@redhat.com>
 1590 Date:   Tue Jan 14 09:23:34 2020 +0100
 1591 
 1592     modesetting: Explicitly #include "mi.h"
 1593     
 1594     For the miClearDrawable prototype. Apparently it doesn't get pulled in
 1595     for some build configurations, breaking the build.
 1596     
 1597     Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
 1598     (cherry picked from commit a24a786fc8490fda08b15c3dab6fa6750f008ecb)
 1599 
 1600 commit ad7364d8d7f936b9b08195e47d2f6ee9329ff687
 1601 Author: Kenneth Graunke <kenneth@whitecape.org>
 1602 Date:   Mon Jan 13 23:34:49 2020 -0800
 1603 
 1604     configure: Define GLAMOR_HAS_EGL_QUERY_DRIVER when available
 1605     
 1606     Commit 195c2ef8f9f07b9bdabc0f554a9033b7857b99c7 added this to the Meson
 1607     build but neglected to add it to autotools.
 1608     
 1609     v2: Also update dix-config.h.in
 1610     
 1611     Fixes: 195c2ef8f ("glamor: Add a function to get the driver name via EGL_MESA_query_driver")
 1612     
 1613     Reviewed-by: Michel Dänzer <mdaenzer@redhat.com> [v1]
 1614     Reviewed-by: Eric Engestrom <eric@engestrom.ch> [v1]
 1615     Reviewed-by: Matt Turner <mattst88@gmail.com>
 1616     (cherry picked from commit 25ca99df38a2c28c25ab20a917e68442285f2353)
 1617 
 1618 commit 489f4191f3c881c6c8acce97ec612167a4ae0f33
 1619 Author: Matt Turner <mattst88@gmail.com>
 1620 Date:   Mon Jan 13 14:47:48 2020 -0800
 1621 
 1622     xserver 1.20.7
 1623     
 1624     Signed-off-by: Matt Turner <mattst88@gmail.com>
 1625 
 1626 commit 279789183ed377127073955d21d44ee3b01ac763
 1627 Author: Alan Coopersmith <alan.coopersmith@oracle.com>
 1628 Date:   Mon Sep 23 15:12:01 2019 -0700
 1629 
 1630     ospoll: Fix Solaris ports implementation to build on Solaris 11.4
 1631     
 1632     Wrong version got committed, but wasn't noticed since it only builds
 1633     with meson, not autoconf.
 1634     
 1635     Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 1636     (cherry picked from commit 0e8c0d2f238e5d50daaf4672bd80ad519673b5e3)
 1637 
 1638 commit cc503031c32496efb28ed81d32a547ded46a0815
 1639 Author: Alan Coopersmith <alan.coopersmith@oracle.com>
 1640 Date:   Thu Feb 21 15:38:07 2019 -0800
 1641 
 1642     os-support/solaris: Set IOPL for input thread too
 1643     
 1644     Since the Solaris kernel tracks IOPL per thread, and doesn't inherit
 1645     raised IOPL levels when creating a new thread, we need to turn it on
 1646     in the input thread for input drivers like vmmouse that need register
 1647     access to work correctly.
 1648     
 1649     Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 1650     (cherry picked from commit 12769c516d9356bd92f90e2f53a4853dbfdc4aed)
 1651 
 1652 commit f778e76eb4bc6b9219a8b1a903a2fb1a30c2c92a
 1653 Author: Alan Coopersmith <alan.coopersmith@oracle.com>
 1654 Date:   Thu Feb 21 15:35:38 2019 -0800
 1655 
 1656     Add xf86OSInputThreadInit call from common layer into os-support layer
 1657     
 1658     Allows os backends to run additional code as necessary to set up the
 1659     input thread.
 1660     
 1661     Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 1662     (cherry picked from commit ea1527a8a662dcc5ac3ed49135740aa5f24f74bc)
 1663 
 1664 commit e3f26605d85d987da434640f52646d728f1fe919
 1665 Author: Alan Coopersmith <alan.coopersmith@oracle.com>
 1666 Date:   Thu Feb 21 15:22:57 2019 -0800
 1667 
 1668     Add ddxInputThread call from os layer into ddx layer
 1669     
 1670     Allows ddx's to run additional code as necessary to set up the
 1671     input thread.
 1672     
 1673     Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 1674     (cherry picked from commit 4ad21c3247d98ac6c5ad71fa36be60ed04f7c92c)
 1675 
 1676 commit bb405cdc85b6e31c0beef60a07a2cfe5b87dcde6
 1677 Author: Alan Coopersmith <alan.coopersmith@oracle.com>
 1678 Date:   Thu Feb 21 14:51:22 2019 -0800
 1679 
 1680     os-support/solaris: Drop ExtendedEnabled global variable
 1681     
 1682     Keeping track of kernel state in user space doesn't buy us anything,
 1683     and introduces bugs, as we were keeping global state but the Solaris
 1684     kernel tracks IOPL per thread.
 1685     
 1686     Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 1687     (cherry picked from commit 7533fa9bd5a4a0f7743d553be186514d684308c8)
 1688 
 1689 commit 977f3acfceb91f1dd10c8bf84b9d7515b2a59457
 1690 Author: Michel Dänzer <mdaenzer@redhat.com>
 1691 Date:   Fri Dec 20 15:51:00 2019 +0100
 1692 
 1693     glamor: Only use dual blending with GLSL >= 1.30
 1694     
 1695     It can't be used with older GLSL. Fixes a crash when attempting to
 1696     anyway.
 1697     
 1698     Closes: https://gitlab.freedesktop.org/xorg/xserver/issues/97
 1699     Fixes: e7308b6c7756 "glamor: Add support for CA rendering in a single pass."
 1700     Reviewed-by: Dave Airlie <airlied@redhat.com>
 1701     Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
 1702     (Cherry picked from commit 5bfca0038e92d61e58d4dc1a54748faef8273023)
 1703 
 1704 commit cfc5e5040c93486323165196550dbe18aec46402
 1705 Author: Aaron Plattner <aplattner@nvidia.com>
 1706 Date:   Thu Dec 26 13:40:17 2019 -0800
 1707 
 1708     modesetting: Check whether RandR was initialized before calling rrGetScrPriv
 1709     
 1710     Calling rrGetScrPriv when RandR isn't initialized causes an assertion
 1711     failure that aborts the server:
 1712     
 1713      Xorg: ../include/privates.h:121: dixGetPrivateAddr: Assertion `key->initialized' failed.
 1714     
 1715      Thread 1 "Xorg" received signal SIGABRT, Aborted.
 1716      0x00007ffff78a8f25 in raise () from /usr/lib/libc.so.6
 1717      (gdb) bt
 1718      #0  0x00007ffff78a8f25 in raise () from /usr/lib/libc.so.6
 1719      #1  0x00007ffff7892897 in abort () from /usr/lib/libc.so.6
 1720      #2  0x00007ffff7892767 in __assert_fail_base.cold () from /usr/lib/libc.so.6
 1721      #3  0x00007ffff78a1526 in __assert_fail () from /usr/lib/libc.so.6
 1722      #4  0x00007ffff7fb57c1 in dixGetPrivateAddr (privates=0x555555ab1b60, key=0x555555855720 <rrPrivKeyRec>) at ../include/privates.h:121
 1723      #5  0x00007ffff7fb5822 in dixGetPrivate (privates=0x555555ab1b60, key=0x555555855720 <rrPrivKeyRec>) at ../include/privates.h:136
 1724      #6  0x00007ffff7fb586a in dixLookupPrivate (privates=0x555555ab1b60, key=0x555555855720 <rrPrivKeyRec>) at ../include/privates.h:166
 1725      #7  0x00007ffff7fb8445 in CreateScreenResources (pScreen=0x555555ab1790) at ../hw/xfree86/drivers/modesetting/driver.c:1335
 1726      #8  0x000055555576c5e4 in xf86CrtcCreateScreenResources (screen=0x555555ab1790) at ../hw/xfree86/modes/xf86Crtc.c:744
 1727      #9  0x00005555555d8bb6 in dix_main (argc=4, argv=0x7fffffffead8, envp=0x7fffffffeb00) at ../dix/main.c:214
 1728      #10 0x00005555557a4f0b in main (argc=4, argv=0x7fffffffead8, envp=0x7fffffffeb00) at ../dix/stubmain.c:34
 1729     
 1730     This can happen, for example, if the server is configured with Xinerama
 1731     and there is more than one X screen:
 1732     
 1733      Section "ServerLayout"
 1734        Identifier "crash"
 1735        Screen 0 "modesetting"
 1736        Screen 1 "dummy" RightOf "modesetting"
 1737        Option "Xinerama"
 1738      EndSection
 1739     
 1740      Section "Device"
 1741        Identifier "modesetting"
 1742        Driver "modesetting"
 1743      EndSection
 1744     
 1745      Section "Screen"
 1746        Identifier "modesetting"
 1747        Device "modesetting"
 1748      EndSection
 1749     
 1750      Section "Device"
 1751        Identifier "dummy"
 1752        Driver "dummy"
 1753      EndSection
 1754     
 1755      Section "Screen"
 1756        Identifier "dummy"
 1757        Device "dummy"
 1758      EndSection
 1759     
 1760     The problem does not reproduce if there is only one X screen because of
 1761     this code in xf86RandR12Init:
 1762     
 1763      #ifdef PANORAMIX
 1764          /* XXX disable RandR when using Xinerama */
 1765          if (!noPanoramiXExtension) {
 1766              if (xf86NumScreens == 1)
 1767                  noPanoramiXExtension = TRUE;
 1768              else
 1769                  return TRUE;
 1770          }
 1771      #endif
 1772     
 1773     Fix the problem by checking dixPrivateKeyRegistered(rrPrivKey) before
 1774     calling rrGetScrPriv. This is similar to what the xf86-video-amdgpu
 1775     driver does:
 1776     https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu/blob/fd66f5c0bea2b7c22a47bfd5eb1f22d32d166d9c/src/amdgpu_kms.c#L388
 1777     
 1778     Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
 1779     Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
 1780     (cherry picked from commit 4226c6d0329df440551b7b91ae573a82c64a1ac9)
 1781 
 1782 commit fb2540648a293def46bf0afa183e0884fa4496be
 1783 Author: Peter Hutterer <peter.hutterer@who-t.net>
 1784 Date:   Wed May 29 16:19:55 2019 +1000
 1785 
 1786     Xi: return AlreadyGrabbed for key grabs > 255
 1787     
 1788     We can't have high keycodes because everything in XKB relies on 8 bits. XI2's
 1789     API allows for 32-bit keycodes so we have to take those but nothing in the
 1790     server is really ready for this. The effect of this right now is that any high
 1791     keycode grab is clipped to 255 and thus ends up grabbing a different key
 1792     instead.
 1793     
 1794     https://bugzilla.redhat.com/show_bug.cgi?id=1697804
 1795     
 1796     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 1797     (cherry picked from commit f4cdbf640b6440df4af784ca35e1b1340965cc10)
 1798 
 1799 commit 87ca1bdf6935c4b11b41ca071f1f4b8d8347fee9
 1800 Author: Michel Dänzer <mdaenzer@redhat.com>
 1801 Date:   Tue Dec 3 18:39:40 2019 +0100
 1802 
 1803     xwayland: Do flush GPU work in xwl_present_flush
 1804     
 1805     The Present code sends the idle notification event to the client after
 1806     xwl_present_flush returns. If we don't flush our GPU work here, the
 1807     client may race to draw another frame to the same buffer, so we may end
 1808     up copying (parts of) that new frame instead of the one we meant to.
 1809     
 1810     Fixes https://gitlab.freedesktop.org/xorg/xserver/issues/835
 1811     
 1812     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 1813     (Cherry picked from commit 2a2234ad1a0fe88400c1511fea67741e4ad09f7f)
 1814     Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
 1815 
 1816 commit 8aad09dd79f0504715edac56e21439809a5d529e
 1817 Author: Michel Dänzer <mdaenzer@redhat.com>
 1818 Date:   Tue Nov 26 17:17:12 2019 +0100
 1819 
 1820     modesetting: Clear new screen pixmap storage on RandR resize
 1821     
 1822     Fixes random garbage being visible intermittently.
 1823     
 1824     Reviewed-by: Adam Jackson <ajax@redhat.com>
 1825     (Cherry picked from commit 9ba13bac9dd076f166ff0d063fc144b904a40d12)
 1826     Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
 1827 
 1828 commit 094f42cdfe5d4c0b8e329445c529ee1e59278999
 1829 Author: Michel Dänzer <mdaenzer@redhat.com>
 1830 Date:   Tue Nov 26 17:16:37 2019 +0100
 1831 
 1832     xfree86/modes: Call xf86RotateRedisplay from xf86CrtcRotate
 1833     
 1834     If a new rotate buffer was allocated. This makes sure the new buffer
 1835     has valid transformed contents when it starts being displayed.
 1836     
 1837     Reviewed-by: Adam Jackson <ajax@redhat.com>
 1838     (Cherry picked from commit 327df450ffcf5bda5b4254db0208d355860d1010)
 1839     Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
 1840 
 1841 commit b50175fe867ae067888049318264824524c0616a
 1842 Author: Michel Dänzer <mdaenzer@redhat.com>
 1843 Date:   Tue Nov 26 17:14:46 2019 +0100
 1844 
 1845     modesetting: Call glamor_finish from drmmode_crtc_set_mode
 1846     
 1847     This makes sure any pending drawing to a new scanout buffer will be
 1848     visible from the start.
 1849     
 1850     This makes the finish call in drmmode_copy_fb superfluous, so remove it.
 1851     
 1852     Reviewed-by: Adam Jackson <ajax@redhat.com>
 1853     (Cherry picked from commit c66c548eabf06835cb0cb906598fb87c7bb30cf4)
 1854     Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
 1855 
 1856 commit 255d8c3c36a9d52b3acc5e016efa0ef0f2371f79
 1857 Author: Kenneth Graunke <kenneth@whitecape.org>
 1858 Date:   Thu Nov 21 23:03:50 2019 -0800
 1859 
 1860     modesetting: Use EGL_MESA_query_driver to select DRI driver if possible
 1861     
 1862     We now ask Glamor to use EGL_MESA_query_driver to obtain the DRI driver
 1863     name; if successful, we use that as the DRI driver name.  Following the
 1864     existing dri2.c logic, we also use the same name for the VDPAU driver,
 1865     except for i965 (and now iris), where we switch to the "va_gl" fallback.
 1866     
 1867     This allows us to bypass the PCI ID lists in xserver and centralize the
 1868     driver selection mechanism inside Mesa.  The hope is that we no longer
 1869     have to update these lists for any future hardware.
 1870     
 1871     (backported from commit 8d4be7f6c4f7c673d7ec1a6bfdef944907a3916e)
 1872     
 1873     Acked-by: Michel Dänzer <mdaenzer@redhat.com>
 1874 
 1875 commit 2a1a96d956f4023796737d26a32354e940c8e6cf
 1876 Author: Kenneth Graunke <kenneth@whitecape.org>
 1877 Date:   Thu Nov 21 23:01:28 2019 -0800
 1878 
 1879     glamor: Add a function to get the driver name via EGL_MESA_query_driver
 1880     
 1881     This maps to eglGetDisplayDriverName if EGL_MESA_query_render is
 1882     supported, otherwise it returns NULL.
 1883     
 1884     (cherry picked from commit 195c2ef8f9f07b9bdabc0f554a9033b7857b99c7)
 1885 
 1886 commit 6b3fafa9bfa94b9b04a1a44dc52afb7c4bc250ce
 1887 Author: Matt Turner <mattst88@gmail.com>
 1888 Date:   Fri Nov 22 17:52:04 2019 -0500
 1889 
 1890     xserver 1.20.6
 1891     
 1892     Signed-off-by: Matt Turner <mattst88@gmail.com>
 1893 
 1894 commit 88f12aa74bf4fea25d5b8d8002b3088432feb405
 1895 Author: Matt Turner <mattst88@gmail.com>
 1896 Date:   Thu Nov 21 11:23:18 2019 -0500
 1897 
 1898     xfree86: Test presence of isastream()
 1899     
 1900     isastream() was never more than a stub in glibc, and was removed in
 1901     glibc-2.30 by commit a0a0dc83173c ("Remove obsolete, never-implemented
 1902     XSI STREAMS declarations").
 1903     
 1904     Bug: https://bugs.gentoo.org/700838
 1905     Reviewed-by: Julien Cristau <jcristau@debian.org>
 1906     Signed-off-by: Matt Turner <mattst88@gmail.com>
 1907     (cherry picked from commit e6ab7f9f342f463092c45226f3294074351fdd5e)
 1908 
 1909 commit 0e60139064b84b856c59e5a456e26c60710b1b69
 1910 Author: Olivier Fourdan <ofourdan@redhat.com>
 1911 Date:   Mon Nov 18 17:28:45 2019 +0100
 1912 
 1913     present/wnmd: Relax assertion on CRTC on abort_vblank()
 1914     
 1915     Currently, the function `present_wnmd_abort_vblank()` would fail if the
 1916     given `crtc` is NULL.
 1917     
 1918     However, `xwl_present_get_crtc()` can return `NULL` under some
 1919     circumstances, which would cause an unexpected termination of Xwayland
 1920     in such a case, caused by the assertion failure being triggered.
 1921     
 1922     Remove the assertion, considering that the `crtc` isn't actually used in
 1923     neither `present_wnmd_abort_vblank()` nor `xwl_present_abort_vblank()`.
 1924     
 1925     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 1926     Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
 1927     Closes: https://gitlab.freedesktop.org/xorg/xserver/issues/937
 1928     (cherry picked from commit 4f984fc06bd57cabfa38f6191f10714878dc8969)
 1929 
 1930 commit 2edadf26f1f8deddbe171115fa502337ac62df02
 1931 Author: Aaron Plattner <aplattner@nvidia.com>
 1932 Date:   Tue Nov 19 10:08:51 2019 -0800
 1933 
 1934     os: Don't crash in AttendClient if the client is gone
 1935     
 1936     If a client is in the process of being closed down, then its client->osPrivate
 1937     pointer will be set to NULL by CloseDownConnection. This can cause a crash if
 1938     freeing the client's resources results in a call to AttendClient. For example,
 1939     if the client has a pending sync fence:
 1940     
 1941      Thread 1 "X" received signal SIGSEGV, Segmentation fault.
 1942      AttendClient (client=0x5571c4aed9a0) at ../os/connection.c:942
 1943      (gdb) bt
 1944      #0  AttendClient (client=0x5571c4aed9a0) at ../os/connection.c:942
 1945      #1  0x00005571c3dbb865 in SyncAwaitTriggerFired (pTrigger=<optimized out>) at ../Xext/sync.c:694
 1946      #2  0x00005571c3dd5749 in miSyncDestroyFence (pFence=0x5571c5063980) at ../miext/sync/misync.c:120
 1947      #3  0x00005571c3dbbc69 in FreeFence (obj=<optimized out>, id=<optimized out>) at ../Xext/sync.c:1909
 1948      #4  0x00005571c3d7a01d in doFreeResource (res=0x5571c506e3d0, skip=skip@entry=0) at ../dix/resource.c:880
 1949      #5  0x00005571c3d7b1dc in FreeClientResources (client=0x5571c4aed9a0) at ../dix/resource.c:1146
 1950      #6  FreeClientResources (client=0x5571c4aed9a0) at ../dix/resource.c:1109
 1951      #7  0x00005571c3d5525f in CloseDownClient (client=0x5571c4aed9a0) at ../dix/dispatch.c:3473
 1952      #8  0x00005571c3d55eeb in Dispatch () at ../dix/dispatch.c:492
 1953      #9  0x00005571c3d59e96 in dix_main (argc=3, argv=0x7ffe7854bc28, envp=<optimized out>) at ../dix/main.c:276
 1954      #10 0x00007fea4837cb6b in __libc_start_main (main=0x5571c3d1d060 <main>, argc=3, argv=0x7ffe7854bc28, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe7854bc18) at ../csu/libc-start.c:308
 1955      #11 0x00005571c3d1d09a in _start () at ../Xext/sync.c:2378
 1956      (gdb) print client->osPrivate
 1957      $1 = (void *) 0x0
 1958     
 1959     Since the client is about to be freed, its ignore count doesn't matter and
 1960     AttendClient can simply be a no-op. Check for client->clientGone in AttendClient
 1961     and remove similar checks from two callers that had them.
 1962     
 1963     Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
 1964     (cherry picked from commit 4308f5d3d1fbd0f5dce81e22c0c3f08c65a7c9d8)
 1965 
 1966 commit 68cfee97bc59580724d594c82f5ee55a980dadf0
 1967 Author: Adam Jackson <ajax@redhat.com>
 1968 Date:   Wed Oct 9 11:57:18 2019 -0400
 1969 
 1970     dix: Call SourceValidate before GetImage
 1971     
 1972     This ensures that any prep work for the drawable we're about to read
 1973     from is already done before we call down to GetImage. This should be no
 1974     functional change as most of the callers with a non-trivial
 1975     SourceValidate are already wrapping GetImage and doing the equivalent
 1976     thing, but we'll be simplifying that shortly.
 1977     
 1978     More importantly this ensures that if any of that prep work would
 1979     generate events - like automatic compositing flushing rendering to a
 1980     parent pixmap which then triggers damage - then it happens entirely
 1981     before we start writing the GetImage reply header.
 1982     
 1983     Note that we do not do the same for GetSpans, but that's okay. The only
 1984     way to get to GetSpans is through miCopyArea or miCopyPlane - where the
 1985     callers must already call SourceValidate - or miGetImage - which this
 1986     commit now protects with SourceValidate.
 1987     
 1988     Fixes: xorg/xserver#902
 1989     Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
 1990     (cherry picked from commit 516e75dbb6bbf97c7af9c2226242ffd9259fec11)
 1991 
 1992 commit 2320fd4b52a60411714170d516fc58e6ec516353
 1993 Author: Adam Jackson <ajax@redhat.com>
 1994 Date:   Wed Oct 9 11:27:12 2019 -0400
 1995 
 1996     mi: Add a default no-op miSourceValidate
 1997     
 1998     Slightly simplifies the callers since they don't need to check for
 1999     non-NULL anymore.
 2000     
 2001     I do extremely hate the workarounds here to suppress misprite taking the
 2002     cursor down though. Surely there's a better way.
 2003     
 2004     [1.20: Do not in fact simplify the callers as above, since it would
 2005     change the ABI. - ajax]
 2006     
 2007     Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
 2008     (cherry picked from commit ff310903f34ac34c916ad74e919d1ac12aea4715)
 2009 
 2010 commit 07efd81b819f21046afc0bb7e19a6cdf7f3c7ea9
 2011 Author: Olivier Fourdan <ofourdan@redhat.com>
 2012 Date:   Mon Jul 1 13:20:39 2019 +0200
 2013 
 2014     compiler.h: Do not include sys/io.h on ARM with glibc
 2015     
 2016     <sys/io.h> on ARM hasn't worked for a long, long time, so it was removed
 2017     it from glibc upstream.
 2018     
 2019     Remove the include to avoid a compilation failure on ARM with glibc.
 2020     
 2021     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2022     Closes: https://gitlab.freedesktop.org/xorg/xserver/issues/840
 2023     (cherry picked from commit fe4cd0e7f5c58fa94db36326aadc1bd4e6d73eba)
 2024 
 2025 commit 03b91e17ce72649b2d6946213f5a7d152bfe7098
 2026 Author: Aaron Plattner <aplattner@nvidia.com>
 2027 Date:   Wed Nov 6 10:45:43 2019 -0800
 2028 
 2029     xfree86: Call ScreenInit for protocol screens before GPU screens
 2030     
 2031     During startup, the xfree86 DDX's InitOutput() calls PreInit for
 2032     protocol screens first, and then GPU screens. On teardown, dix_main()
 2033     calls CloseScreen in the reverse order: GPU screens first starting with
 2034     the last one and then working backwards, and then protocol screens also
 2035     in reverse order.
 2036     
 2037     InitOutput() calls ScreenInit in the wrong order: for GPU screens first and then
 2038     for protocol screens. This causes a problem for drivers that have global state
 2039     that is tied to the first screen that calls ScreenInit.
 2040     
 2041     Fix this by simply re-ordering the for loops to call PreInit for
 2042     protocol screens first and then for GPU screens second.
 2043     
 2044     (cherry picked from commit e5e9a8ca91d1c087edd8788a110251ad940dbc94)
 2045 
 2046 commit 325f694e97a117aec47aa2e1a9b2b28c3c47994e
 2047 Author: Alex Goins <agoins@nvidia.com>
 2048 Date:   Tue Sep 17 18:36:35 2019 -0500
 2049 
 2050     modesetting: Implement ms_covering_randr_crtc() for ms_present_get_crtc()
 2051     
 2052     ms_present_get_crtc() returns an RRCrtcPtr, but derives it from a xf86CrtcPtr
 2053     found via ms_dri2_crtc_covering_drawable()=>ms_covering_crtc(). As a result, it
 2054     depends on all associated DIX ScreenRecs having an xf86CrtcConfigPtr DDX
 2055     private.
 2056     
 2057     Some DIX ScreenRecs don't have an xf86CrtcConfigPtr DDX private, but do have an
 2058     rrScrPrivPtr DDX private. Given that we can derive all of the information we
 2059     need from RandR, we can support these screens by avoiding the use of xf86Crtc.
 2060     This change implements an RandR-based path for ms_present_get_crtc(), allowing
 2061     drawables to successfully fall back to syncing to the primary output, even if
 2062     the slave doesn't have an xf86CrtcConfigPtr DDX private.
 2063     
 2064     Without this change, if a slave doesn't have an xf86CrtcConfigPtr DDX private,
 2065     drawables will fall back to 1 FPS if they overlap an output on that slave.
 2066     
 2067     Signed-off-by: Alex Goins <agoins@nvidia.com>
 2068     (cherry picked from commit 562c7888be538c4d043ec1f374a9d9afa0b305a4)
 2069 
 2070 commit aa43dce15f69624ce939bb69bafc3df5a9b78dbb
 2071 Author: Alex Goins <agoins@nvidia.com>
 2072 Date:   Tue Sep 17 18:03:34 2019 -0500
 2073 
 2074     modesetting: Fix ms_covering_crtc() segfault with non-xf86Crtc slave
 2075     
 2076     DIX ScreenRecs don't necessarily have an xf86CrtcConfigPtr DDX private.
 2077     ms_covering_crtc() assumes that they do, which can result in a segfault.
 2078     
 2079     Update ms_covering_crtc() to check the XF86_CRTC_CONFIG_PTR() returned pointer
 2080     before dereferencing it. This will still mean that ms_covering_crtc() can't fall
 2081     back to the primary output when a drawable overlaps a slave output (going to the
 2082     1 FPS default instead), but it won't segfault.
 2083     
 2084     Signed-off-by: Alex Goins <agoins@nvidia.com>
 2085     (cherry picked from commit 797e7a0ceb673fe2870c673e248835526a84d000)
 2086 
 2087 commit 341a4787157c68597951727d5d11a2813a31ec7e
 2088 Author: Alex Goins <agoins@nvidia.com>
 2089 Date:   Wed Aug 28 18:24:16 2019 -0500
 2090 
 2091     modesetting: Fix ms_covering_crtc() segfault with non-modesetting slave primary
 2092     
 2093     ms_covering_crtc() uses RRFirstOutput() to determine a primary output to fall
 2094     back to if a drawable is overlapping a slave output.
 2095     
 2096     If the primary output is a slave output, RRFirstOutput() will return a slave
 2097     output even if passed a master ScreenPtr. ms_covering_crtc() dereferences the
 2098     output's devPrivate, which is invalid for non-modesetting outputs, and can
 2099     crash.
 2100     
 2101     Changing RRFirstOutput() could have unintended side effects for other callers,
 2102     so this change replaces the call to RRFirstOutput() with ms_first_output().
 2103     ms_first_output() ignores the primary output if it doesn't match the given
 2104     ScreenPtr, choosing the first connected output instead.
 2105     
 2106     Signed-off-by: Alex Goins <agoins@nvidia.com>
 2107     (cherry picked from commit 3ef9029ace4245d9f8929aa71e22bc6a6f40b7b3)
 2108 
 2109 commit 2dd9dfc8d9a5dc906ee06d667a756ab267f55e64
 2110 Author: Alex Goins <agoins@nvidia.com>
 2111 Date:   Wed Sep 4 12:25:31 2019 -0500
 2112 
 2113     randr: Fix RRCrtcDetachScanoutPixmap() segfault during server teardown
 2114     
 2115     During server teardown, mrootdraw is NULL, which can cause segfaults if
 2116     master->Stop{,Flipping}PixmapTracking() don't do NULL checking. In this case we
 2117     shouldn't need to do master->Stop{,Flipping}PixmapTracking() anyway, so just
 2118     skip it.
 2119     
 2120     Signed-off-by: Alex Goins <agoins@nvidia.com>
 2121     (cherry picked from commit c82f814313a813d7e1a2d7d3b1f7561810446b34)
 2122 
 2123 commit 642c1f83b9ed2452ceb20457a4423a8f52a7a8c4
 2124 Author: Hans de Goede <hdegoede@redhat.com>
 2125 Date:   Mon Nov 4 20:03:17 2019 +0100
 2126 
 2127     glamor/xwayland: Define EGL_NO_X11
 2128     
 2129     Define EGL_NO_X11 everywhere were we also define MESA_EGL_NO_X11_HEADERS,
 2130     EGL_NO_X11 is the MESA_EGL_NO_X11_HEADERS equivalent for the egl headers
 2131     shipped with libglvnd.
 2132     
 2133     This fixes the xserver not building with the libglvnd-1.2.0 headers:
 2134     
 2135     In file included from /usr/include/EGL/eglplatform.h:128,
 2136                      from /usr/include/epoxy/egl_generated.h:11,
 2137                      from /usr/include/epoxy/egl.h:46,
 2138                      from glamor_priv.h:43,
 2139                      from glamor_composite_glyphs.c:25:
 2140     /usr/include/X11/Xlib.h:222:2: error: conflicting types for 'GC'
 2141       222 | *GC;
 2142           |  ^~
 2143     In file included from glamor.h:34,
 2144                      from glamor_priv.h:32,
 2145                      from glamor_composite_glyphs.c:25:
 2146     ../include/gcstruct.h:282:3: note: previous declaration of 'GC' was here
 2147       282 | } GC;
 2148           |   ^~
 2149     
 2150     Signed-off-by: Hans de Goede <hdegoede@redhat.com>
 2151     (cherry picked from commit 741bd73429e337071f49509ddcc5fb392e20b0f6)
 2152 
 2153 commit 2f55e8dc270fb65e8ff013c5e846a1a510c761e0
 2154 Author: Adam Jackson <ajax@redhat.com>
 2155 Date:   Wed Oct 9 16:03:17 2019 -0400
 2156 
 2157     meson: Apparently 1.2 is < 1.2.0
 2158     
 2159     Siiiigh.
 2160     
 2161     (cherry picked from commit 3340ddf37743fdf197dfc16a97107435ff53c6e4)
 2162 
 2163 commit e16eb696f2238796827794d2d3b23f268cf4daf0
 2164 Author: Adam Jackson <ajax@redhat.com>
 2165 Date:   Wed Oct 9 15:17:47 2019 -0400
 2166 
 2167     meson: Fix another reference to "gl" 9.2.0
 2168     
 2169     Previous commit e6ef2b12 missed a spot.
 2170     
 2171     (cherry picked from commit c7486613b0dc586f93f6ba293d9b55c69995b05c)
 2172 
 2173 commit a57729d3180ee4bc3ae012cfd03fe5188d858a83
 2174 Author: Marvin Schmidt <marv@exherbo.org>
 2175 Date:   Tue Sep 24 09:58:43 2019 +0200
 2176 
 2177     build: glx: Lower gl version to work with libglvnd
 2178     
 2179     When using mesa with libglvnd support, mesa will no longer install the
 2180     gl, glx, egl pkg-config files but instead let libglvnd provide them.
 2181     libglvnd maintainers decided to change the versioning as it was
 2182     mesa-specific previously. Now the libraries have versions of the API
 2183     they expose[1].
 2184     This causes problems when building the X server:
 2185     
 2186       checking for glproto >= 1.4.17 gl >= 9.2.0... no
 2187       configure: error: Package requirements (glproto >= 1.4.17 gl >= 9.2.0) were not met:
 2188     
 2189       Requested 'gl >= 9.2.0' but version of gl is 1.2
 2190     
 2191     Lower the version requirement to 1.2 to allow building against libglvnd
 2192     provided libraries
 2193     
 2194     [1] https://github.com/NVIDIA/libglvnd/commit/0dfaea2bcb7cdcc785f95e244223bd004a2d7fba
 2195     
 2196     (cherry picked from commit e6ef2b12404dfec7f23592a3524d2a63d9d25802)
 2197 
 2198 commit 3491f1dc5c701656e2f69f74b459dfcaef9451d6
 2199 Author: Sven Joachim <svenjoac@gmx.de>
 2200 Date:   Wed Oct 2 18:26:07 2019 +0200
 2201 
 2202     modesetting: Fix broken manpage in autoconf build
 2203     
 2204     The autoconf build for the modesetting driver still relied on
 2205     xorg-macros.m4 for string replacements and did not include the
 2206     top-level manpages.am.  As a result, no substitutions took place after
 2207     commit 2e497bf887aca832dc0dd30d071c5288ab5c1e15.
 2208     
 2209     This should be a candidate for the 1.20 branch.
 2210     
 2211     Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
 2212     (cherry picked from commit de0d39f825cce7422986011ee9d5db91f15e2987)
 2213 
 2214 commit df1f8f691d7550a18d2076a44c109b1cb6da05ae
 2215 Author: Alexander Tsoy <alexander@tsoy.me>
 2216 Date:   Mon Sep 23 18:23:40 2019 +0300
 2217 
 2218     configure: Set libdrm flags correctly if only XORG is enabled
 2219     
 2220     This fixes modesetting driver build failure which can be triggered with
 2221     the following configure options:
 2222     
 2223     $ ./configure --disable-dri --disable-dri2 --disable-dri3
 2224     --disable-config-udev --enable-xorg
 2225     
 2226     Bugzilla: https://bugs.gentoo.org/689768
 2227     Signed-off-by: Alexander Tsoy <alexander@tsoy.me>
 2228     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 2229     (cherry picked from commit 334f1107146a2e6ebf6f7743b77aec2ad5c46f75)
 2230 
 2231 commit fada61e89dd1f20fe8e2e0fb9e4baefb45b4b848
 2232 Author: Matt Turner <mattst88@gmail.com>
 2233 Date:   Fri Aug 9 20:22:29 2019 -0700
 2234 
 2235     dix: Assert noPanoramiXExtension is false in PanoramiX code
 2236     
 2237     When compiling with link time optimization, GCC thinks it's discovered
 2238     undefined behavior:
 2239     
 2240     events.c: In function 'XineramaConfineCursorToWindow':
 2241     events.c:609:13: warning: iteration 2147483647 invokes undefined behavior [-Waggressive-loop-optimizations]
 2242     events.c:609:11: note: within this loop
 2243     events.c:605:49: warning: array subscript -1 is below array bounds of 'struct _Window *[16]' [-Warray-bounds]
 2244     events.c:606:31: warning: array subscript -1 is below array bounds of 'struct _Screen *[16]' [-Warray-bounds]
 2245     events.c:610:39: warning: array subscript -2 is below array bounds of 'struct _Screen *[16]' [-Warray-bounds]
 2246     events.c:617:38: warning: array subscript -2 is below array bounds of 'struct _Window *[16]' [-Warray-bounds]
 2247     events.c:619:35: warning: array subscript -2 is below array bounds of 'struct _Screen *[16]' [-Warray-bounds]
 2248     
 2249     This results from
 2250     
 2251         i = PanoramiXNumScreens - 1;
 2252     
 2253         RegionCopy(&pSprite->Reg1, &pSprite->windows[i]->borderSize);
 2254         off_x = screenInfo.screens[i]->x;
 2255         off_y = screenInfo.screens[i]->y;
 2256     
 2257     where GCC believes that PanoramiXNumScreens might be 0. Unfortunately
 2258     GCC is just smart enough to be an annoyance because this case is not
 2259     actually possible: XineramaConfineCursorToWindow() is only called when
 2260     noPanoramiXExtension is false, and if noPanoramiXExtension is false then
 2261     PanoramiXNumScreens must be >1 (see PanoramiXExtensionInit()).
 2262     
 2263     So, add an assert(!noPanoramiXExtension), which to my surprise provides
 2264     GCC with information even in release builds and lets GCC understand that
 2265     the code is not doing anything that is undefined behavior.
 2266     
 2267     I chose this solution instead of the proposed assert(i >= 0) because the
 2268     same pattern occurs in CheckVirtualMotion() but is inside an
 2269     'if (!noPanoramiXExtension)' and does not generate any warnings.
 2270     
 2271     Fixes: xorg/xserver#590
 2272     Signed-off-by: Matt Turner <mattst88@gmail.com>
 2273     (cherry picked from commit 61aa40aeb3d4efefda47f245ed4b83a1a19b1d4c)
 2274 
 2275 commit e815db543450c38d1d4ec03184b8e82fa0a37498
 2276 Author: Alexander Volkov <a.volkov@rusbitech.ru>
 2277 Date:   Mon Feb 11 18:54:10 2019 +0300
 2278 
 2279     shm: Use memfd_create when possible
 2280     
 2281     It doesn't require shared memory dir and thus allows
 2282     to avoid cases when this dir is detected incorrectly,
 2283     as in https://bugreports.qt.io/browse/QTBUG-71440
 2284     
 2285     Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru>
 2286     (cherry picked from commit f6753c117ef0f83499d5e2d6dda226fec9ddf803)
 2287 
 2288 commit 05c5b970136f0a11fffa16692744bdf5a23963e8
 2289 Author: Eric Anholt <eric@anholt.net>
 2290 Date:   Wed Sep 19 13:28:06 2018 -0700
 2291 
 2292     shm: Pick the shm dir at run time, not build time.
 2293     
 2294     Prodding the builder's filesystem for tmp dirs doesn't necessarily
 2295     tell you anything about what the actual host's filesystem is going to
 2296     look like, so we should just try the dirs at runtime.
 2297     
 2298     Signed-off-by: Eric Anholt <eric@anholt.net>
 2299     (cherry picked from commit 19f6cb570becbc4e355807199c6e251fc7935132)
 2300 
 2301 commit 9ee4e35bfe084fa942c2b2ce46405e048eb335a8
 2302 Author: Eric Anholt <eric@anholt.net>
 2303 Date:   Wed Sep 19 13:20:12 2018 -0700
 2304 
 2305     shm: reindent shm_tmpfile to follow our standards.
 2306     
 2307     Signed-off-by: Eric Anholt <eric@anholt.net>
 2308     (cherry picked from commit 804a9b4f57107fa2d0ed1ae0becda5bebaffe6e1)
 2309 
 2310 commit b6ee04e774af1fc2e2560583c95dfac688494c2a
 2311 Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
 2312 Date:   Mon Jul 1 02:31:02 2019 +0200
 2313 
 2314     Fix crash on XkbSetMap
 2315     
 2316     Some devices may not have keyboard information.
 2317     
 2318     Fixes #574
 2319     
 2320     (cherry picked from commit 8469bfead9515ab3644f1769a1ff51466ba8ffee)
 2321 
 2322 commit 616b3e1dd19d51688e4cba380394bd93c62b50d4
 2323 Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
 2324 Date:   Mon Jul 1 02:33:26 2019 +0200
 2325 
 2326     Fix crash on XkbSetMap
 2327     
 2328     Since group_info and width are used for the key actions allocations,
 2329     when modifying them we need to take care of reallocation key actions if
 2330     needed.
 2331     
 2332     (cherry picked from commit fabc4219622f3c0b41b1cb897c46e092377059e3)
 2333 
 2334 commit c747dbb250c11c6a02641b253e7322145dc9b913
 2335 Author: Michel Dänzer <mdaenzer@redhat.com>
 2336 Date:   Mon Sep 23 18:35:41 2019 +0200
 2337 
 2338     miext/sync: Make struct _SyncObject::initialized fully ABI compatible
 2339     
 2340     With a 32-bit build, putting the initialized field at the end of the
 2341     struct bumped the struct size from 20 bytes to 24, changing the layout
 2342     of other structs embedding struct _SyncObject. While this would be
 2343     acceptable on master, it caused crashes with 1.20.
 2344     
 2345     Making the initialized field a char and putting it in the hole before
 2346     the beingDestroyed field restores the 32-bit ABI as well.
 2347     
 2348     Fixes https://gitlab.freedesktop.org/xorg/xserver/issues/892
 2349     
 2350     Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
 2351     Reviewed-by: Alex Goins <agoins@nvidia.com>
 2352     (cherry picked from commit 0d8cc7bb180468fee72330f40d87f6e9db7b42c0)
 2353 
 2354 commit 5aadaac9499c71ebf88c0e5fc658d9d56c8a7e16
 2355 Author: Andres Rodriguez <andresx7@gmail.com>
 2356 Date:   Fri Sep 6 18:32:44 2019 -0400
 2357 
 2358     xf86: Disable unused crtc functions when a lease is revoked
 2359     
 2360     This fixes 'non-desktop' displays staying powered on after their lease
 2361     has been revoked.
 2362     
 2363     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111620
 2364     Cc: Keith Packard <keithp@keithp.com>
 2365     Signed-off-by: Andres Rodriguez <andresx7@gmail.com>
 2366 
 2367 commit 63346c74393e1df4555f84367529802a67578ef6
 2368 Author: Carlos Garnacho <carlosg@gnome.org>
 2369 Date:   Mon Jan 7 15:33:35 2019 +0100
 2370 
 2371     xwayland: Handle the case of windows being realized before redirection
 2372     
 2373     If Xwayland gets to realize a window meant for composition before the
 2374     compositor redirected windows (i.e. redirect mode is not RedirectDrawManual
 2375     yet), the window would stay "invisible" as we wouldn't create a
 2376     wl_surface/wl_shell_surface for it at any later point.
 2377     
 2378     This scenario may happen if the wayland compositor sets up a X11 socket
 2379     upfront, but waits to raise Xwayland until there are X11 clients. In this
 2380     case the first data on the socket is the client's, the compositor can hardly
 2381     beat that in order to redirect subwindows before the client realizes a
 2382     Window.
 2383     
 2384     In order to jump across this hurdle, allow the late creation of a matching
 2385     (shell) surface for the WindowPtr on SetWindowPixmapProc, so it is ensured
 2386     to be created after the compositor set up redirection.
 2387     
 2388     Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
 2389     Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
 2390     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 2391     (cherry picked from commit 78cc8b6f9613fc71f6ecc7e8848d54364a250634)
 2392 
 2393 commit 12db645c7fc0539752a881df7ac2bcd09e3cb17b
 2394 Author: Carlos Garnacho <carlosg@gnome.org>
 2395 Date:   Mon Jan 7 15:33:31 2019 +0100
 2396 
 2397     xwayland: Refactor surface creation into a separate function
 2398     
 2399     This is just called from xwl_window_realize() ATM, but will be useful in
 2400     future commits.
 2401     
 2402     Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
 2403     (cherry picked from commit c2e8ae964052944312c5023ca7ea5c41a92990e5)
 2404 
 2405 commit e0af09061f9e8397ca564ec3bbedea51974455d4
 2406 Author: Carlos Garnacho <carlosg@gnome.org>
 2407 Date:   Mon Jan 7 15:20:05 2019 +0100
 2408 
 2409     xwayland: Separate DamagePtr into separate window data
 2410     
 2411     This will be dissociated in future commits to handle the cases
 2412     where windows are being realized before there is a compositor
 2413     handling redirection.
 2414     
 2415     In that case, we still want the DamagePtr to be registered upfront
 2416     on RealizeWindowProc before a corresponding xwl_window might be
 2417     created. Most notably, it cannot be lazily created on
 2418     SetWindowPixmapProc as damage accounting gets broken.
 2419     
 2420     Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
 2421     (cherry picked from commit 4e50440ae20c537d6a4edf356cda67dd33d4e5a8)
 2422 
 2423 commit 045add84927051a33569ed701097e1fd514bf0ca
 2424 Author: Adam Jackson <ajax@redhat.com>
 2425 Date:   Fri Aug 16 14:56:19 2019 -0400
 2426 
 2427     glx: Fix previous context validation in xorgGlxMakeCurrent
 2428     
 2429     vnd has already verified that the context tag is valid before this gets
 2430     called, and we only set the context tag private data to non-null for
 2431     indirect clients. Mesa happens to be buggy and doesn't send MakeCurrent
 2432     requests nearly as much as it should for direct contexts, but if you fix
 2433     that, then unbinding a direct context would fail here with
 2434     GLXBadContextTag.
 2435     
 2436     Sadly Mesa will still need to carry a workaround here for broken
 2437     servers, but we should still fix the server.
 2438     
 2439     (cherry picked from commit 95dcc81cb122e5a4c5b38e84ef46eb872b2e1431)
 2440 
 2441 commit 8449c8623d6208b77e76596e8b10250817d3e8ab
 2442 Author: Adam Jackson <ajax@redhat.com>
 2443 Date:   Mon Aug 19 14:27:54 2019 -0400
 2444 
 2445     miext/sync: Fix needless ABI change
 2446     
 2447     The initialized field was added in:
 2448     
 2449         commit 82f01ad7869e3f2be51e41a8246dab5982bbc36a
 2450         Author: Alex Goins <agoins@nvidia.com>
 2451         Date:   Wed Apr 10 13:48:02 2019 -0500
 2452     
 2453             xsync: Add resource inside of SyncCreate, export SyncCreate
 2454     
 2455     But it added this field not at the end of SyncObject. It may not have
 2456     been _usefully_ possible to create those from another extension prior to
 2457     that commit, but that's still an ABI-incompatible change.
 2458     
 2459     (cherry picked from commit 194ba38728b34a76885275dae153057c8afaf72e)
 2460 
 2461 commit 39b3005c329bc63676df72c43529d641bf305bcd
 2462 Author: Aaron Plattner <aplattner@nvidia.com>
 2463 Date:   Tue May 21 10:50:42 2019 -0700
 2464 
 2465     GLX: Set GlxServerExports::{major,minor}Version
 2466     
 2467     Commit 56c0a71fdd94a008e5d746261f70a713c4767f93 incremented the
 2468     GLXSERVER_VENDOR_ABI_MINOR_VERSION define, but this define was not actually
 2469     being used to set glxServer.minorVersion.
 2470     
 2471     Update the initializer for glxServer to use the correct version numbers.
 2472     
 2473     Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
 2474     (cherry picked from commit b4231d69028adc8123801a7552b40a15ea928d1b)
 2475 
 2476 commit d3034ef2f5121d85ae766a73fda4e523399043a9
 2477 Author: Kyle Brenneman <kbrenneman@nvidia.com>
 2478 Date:   Thu May 2 07:17:21 2019 -0600
 2479 
 2480     GLX: Add a function to change a clients vendor list.
 2481     
 2482     Add a new function, GlxServerExports::setClientScreenVendor, which will change
 2483     the vendor that handles GLX requests for a screen, but only for requests from
 2484     a specific client.
 2485     
 2486     v2: Increment the GLXVND minor version number.
 2487     v3: Note the GLXVND version requirement for setClientScreenVendor.
 2488     
 2489     Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
 2490     Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
 2491     Reviewed-by: Adam Jackson <ajax@redhat.com>
 2492     (cherry picked from commit 56c0a71fdd94a008e5d746261f70a713c4767f93)
 2493 
 2494 commit abeae4a6d356653d50026707ecc2afceac83631e
 2495 Author: Kyle Brenneman <kbrenneman@nvidia.com>
 2496 Date:   Wed May 8 08:44:54 2019 -0600
 2497 
 2498     GLX: Use the sending client for looking up XID's
 2499     
 2500     When GlxGetXIDMap looks up an unknown XID, it will now look up a vendor based
 2501     on the screen number for the XID and the client that sent the current request.
 2502     
 2503     In GlxGetXIDMap, if the XID is for a regular X window, then it won't be in the
 2504     (XID -> vendor) mapping, so we have to look up a vendor by screen number.
 2505     
 2506     With this change, GlxGetXIDMap will use the (screen -> vendor) map for
 2507     whichever client sent the current request, instead of using the global
 2508     (screen -> vendor) map.
 2509     
 2510     Since GlxGetXIDMap doesn't take a ClientPtr argument, GlxDispatchRequest will
 2511     store the client for the current request in a global variable. That way, the
 2512     ABI for GLXVND doesn't need to change.
 2513     
 2514     v2: Fix an error check in GlxDispatchRequest.
 2515     
 2516     Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
 2517     Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
 2518     Reviewed-by: Adam Jackson <ajax@redhat.com>
 2519     (cherry picked from commit 8b67ec7cc6fda243480a5a8ca118b66242f3eb2c)
 2520 
 2521 commit 1fdb7cbce538f0b37304a3cfc9fae4ff2fe9ece9
 2522 Author: Kyle Brenneman <kbrenneman@nvidia.com>
 2523 Date:   Thu Oct 19 15:14:51 2017 -0600
 2524 
 2525     GLX: Add a per-client vendor mapping.
 2526     
 2527     Each client now has its own (screen, vendor) mapping.
 2528     
 2529     Currently, it's just a copy of the global mapping, but later changes will allow
 2530     it to change.
 2531     
 2532     Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
 2533     Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
 2534     Reviewed-by: Adam Jackson <ajax@redhat.com>
 2535     (cherry picked from commit 37a36a6b5b887d5c5a17a6931ceba8ad5d1bb6d5)
 2536 
 2537 commit 82f01ad7869e3f2be51e41a8246dab5982bbc36a
 2538 Author: Alex Goins <agoins@nvidia.com>
 2539 Date:   Wed Apr 10 13:48:02 2019 -0500
 2540 
 2541     xsync: Add resource inside of SyncCreate, export SyncCreate
 2542     
 2543     As shown by DRI3 adding the SyncCreateFenceFromFD() function, extensions may
 2544     want to create a fence, then initialize it in their own way. This currently
 2545     can't be done without adding a function directly to Xext/sync.c due to the fact
 2546     that the RTFence resource type is private and there is no external interface to
 2547     add to it.
 2548     
 2549     To facilitate other X extensions creating fences and initializing them, this
 2550     change exports SyncCreate() and adds the resource directly within it. Callers no
 2551     longer need to call AddResource() after SyncCreate(), they only need to
 2552     initialize the SyncObject.
 2553     
 2554     To prevent FreeFence() and FreeCounter() from segfaulting if the call to
 2555     AddResource() fails before the sync object is initialized, this adds a new
 2556     'initialized' parameter to SyncObject that, when FALSE, causes FreeFence() and
 2557     FreeCounter() to skip de-initialization and simply free the object.
 2558     Initialization after adding the resource shouldn't otherwise be a problem due to
 2559     the single-threaded nature of X.
 2560     
 2561     Signed-off-by: Alex Goins <agoins@nvidia.com>
 2562     Reviewed-by: James Jones <jajones@nvidia.com>
 2563     Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
 2564     (cherry picked from commit 7f962c70b6d9c346477f23f6c15211e749110078)
 2565 
 2566 commit dfd51be3ca2a244bbca27a95310b60e0c14940df
 2567 Author: Olivier Fourdan <ofourdan@redhat.com>
 2568 Date:   Tue Jul 23 11:01:47 2019 +0200
 2569 
 2570     xwayland: Do not free a NULL GBM bo
 2571     
 2572     Both `gbm_bo_create()` and `gbm_bo_create_with_modifiers()` can fail and
 2573     return `NULL`.
 2574     
 2575     If that occurs, `xwl_glamor_gbm_create_pixmap()` will not create a
 2576     pixmap for the (NULL) GBM bo, but would still try to free the bo which
 2577     leads to a crash in mesa:
 2578     
 2579       [...]
 2580       #7  <signal handler called>
 2581       #8  in gbm_bo_destroy (bo=0x0) at ../src/gbm/main/gbm.c:439
 2582       #9  in xwl_glamor_gbm_create_pixmap () at xwayland-glamor-gbm.c:245
 2583       #10 in ProcCreatePixmap () at dispatch.c:1440
 2584       #11 in Dispatch () at dispatch.c:478
 2585       #12 in dix_main () at main.c:276
 2586     
 2587     To avoid the crash, only free the GBM bo if not `NULL`.
 2588     
 2589     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2590     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
 2591     Bugzilla: https://bugzilla.redhat.com/1729925
 2592     (cherry picked from commit d9ec525059dbe96fc893c73c0362be2a6dd73e85)
 2593 
 2594 commit df7ee10d9812897b297c67fde29f0b134ffba3ec
 2595 Author: Adam Jackson <ajax@redhat.com>
 2596 Date:   Mon Jul 15 11:38:44 2019 -0400
 2597 
 2598     xwayland: Expand the RANDR screen size limits
 2599     
 2600     There's not really a good way to query this from the wayland server, so
 2601     just set the maximum to the X11 protocol limits. While we're at it,
 2602     lower the minimum screen size to something implausibly small too, just
 2603     in case.
 2604     
 2605     Fixes: xorg/xserver#850
 2606     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
 2607     (cherry picked from commit d0850241c6218f61127c45c2f95d6e791c3fea44)
 2608 
 2609 commit 44c693f45d6abd6f7f3bd2f756d35811db143af7
 2610 Author: Olivier Fourdan <ofourdan@redhat.com>
 2611 Date:   Fri Jun 28 16:55:11 2019 +0200
 2612 
 2613     xwayland: Update screen pixmap on output resize
 2614     
 2615     Running Xwayland non-rootless and resizing the output would lead to a
 2616     crash while trying to update the larger areas of the root window.
 2617     
 2618     Make sure we resize the backing pixmap according to the new output size
 2619     to avoid the crash.
 2620     
 2621     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2622     Closes: https://gitlab.freedesktop.org/xorg/xserver/issues/834
 2623     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
 2624     (cherry picked from commit ce9455b5ee389b100a9b7da76b79690d97211b7a)
 2625 
 2626 commit 1804e7327113d128ac9a759da55fd3de0b9f8c35
 2627 Author: Matt Roper <matthew.d.roper@intel.com>
 2628 Date:   Wed Jun 26 09:34:46 2019 -0700
 2629 
 2630     dri2: Sync i965_pci_ids.h from mesa
 2631     
 2632     Copied from Mesa with no modifications.
 2633     
 2634     This update brings in a significant number of new platform ID's.
 2635     
 2636     Syncs with mesa up to commit e334a595e ("intel/icl: Add new ICL
 2637     PCI-IDs").
 2638     
 2639     Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
 2640     (cherry picked from commit a8d9ebeb43583e8d8ef182ac15adbdce256d4867)
 2641 
 2642 commit 98e3db2ac43d4a3f13475cb160c8ce0155ac7d61
 2643 Author: Marco Trevisan (Treviño) <mail@3v1n0.net>
 2644 Date:   Fri Oct 26 19:52:49 2018 +0200
 2645 
 2646     Xi: Use current device active grab to deliver touch events if any
 2647     
 2648     When Retrieving touch delivery data we need to check if we have an active
 2649     grab on such device, and in that case use it to delivery events.
 2650     If we don't do this, when rejecting the touch events in DeactivatePointerGrab,
 2651     we will end-up in creating an implicit grab that will change the device
 2652     deviceGrab's state, causing a recursion during TouchEndTouch.
 2653     
 2654     Fixes #7
 2655     
 2656     https://bugs.freedesktop.org/show_bug.cgi?id=96536
 2657     (cherry picked from commit 35e5a76cc1d02801fadd49d12e60664b02e4bebc)
 2658 
 2659 commit 26b6ba5347953ed5f60b7fb9454b45754b145c6f
 2660 Author: Michel Dänzer <michel.daenzer@amd.com>
 2661 Date:   Wed Jul 3 11:53:56 2019 +0200
 2662 
 2663     Revert "present/scmd: Check that the flip and screen pixmap pitches match"
 2664     
 2665     This reverts commit ef91da2757050652c724f6e674e8b1acf5d0cb31.
 2666     
 2667     I thought this couldn't work under any circumstances, but I was wrong,
 2668     and drivers are already checking for cases that really cannot work.
 2669     
 2670     Fixes issue #839.
 2671     
 2672     (cherry picked from commit 2f0dd1816d556eef8c4b691330d39f13e1ed93f0)
 2673 
 2674 commit c86222d4bd94892f3bf3c5947c19793ca18bd9e2
 2675 Author: Carlos Garnacho <carlosg@gnome.org>
 2676 Date:   Wed May 22 17:51:04 2019 +0200
 2677 
 2678     xwayland: Reset scheduled frames after hiding tablet cursor
 2679     
 2680     Hiding the tablet tool cursor results in it being hidden forever after.
 2681     This is due to the stale frame callback that will neither be disposed
 2682     or replaced. This can be reproduced in krita (X11) as the pointer
 2683     cursor is hidden while over the canvas.
 2684     
 2685     Clearing the frame callback ensures the correct behavior in future
 2686     xwl_tablet_tool_set_cursor() calls (i.e. a new cursor surface being
 2687     displayed, and a new frame callback created), and is 1:1
 2688     with xwl_seat_set_cursor() for pointers.
 2689     
 2690     Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
 2691     (cherry picked from commit dea4a74621294391ce5901bb3339e1b8e7151efc)
 2692 
 2693 commit 6e199e4613e149cd5d5ce69cdd6a259744b6cb44
 2694 Author: Olivier Fourdan <ofourdan@redhat.com>
 2695 Date:   Fri Apr 26 13:37:09 2019 +0200
 2696 
 2697     glamor: Make pixmap exportable from `gbm_bo_from_pixmap()`
 2698     
 2699     If a pixmap is not exportable, `glamor_gbm_bo_from_pixmap()` would fail
 2700     and the modesettings driver would consequently fail to do its page flip,
 2701     which both prevents Present from working and also fill up the logs with
 2702     error messages such as:
 2703     
 2704       (EE) modeset(0): Failed to get GBM bo for flip to new front.
 2705       (EE) modeset(0): present flip failed
 2706     
 2707     Refactor the code so that `glamor_gbm_bo_from_pixmap()` takes care of
 2708     making the pixmap exportable.
 2709     
 2710     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2711     Signed-off-by: Yuxuan Shui yshui@hadean.com
 2712     See-also: https://gitlab.freedesktop.org/xorg/xserver/merge_requests/131
 2713     Closes: https://gitlab.freedesktop.org/xorg/xserver/issues/68
 2714     Fixes: 86b2d8740a "glamor: Reallocate pixmap storage without modifiers
 2715            if necessary"
 2716     (cherry picked from commit 26fe29f4fa53cbb7d51892e2cf397c084093812f)
 2717 
 2718 commit 34ad57e570f96dfe4bc493f14726b7a0ae6d45f9
 2719 Author: Olivier Fourdan <ofourdan@redhat.com>
 2720 Date:   Tue Mar 12 15:38:03 2019 +0100
 2721 
 2722     xwayland: Check status in GBM pixmap creation
 2723     
 2724     The current code in `xwl_glamor_gbm_create_pixmap_for_bo()` may fail in
 2725     several cases that are not checked for:
 2726     
 2727      - `eglCreateImageKHR()` may have failed to create the image,
 2728      - `glEGLImageTargetTexture2DOES()` may fail and set an error,
 2729      - `glamor_set_pixmap_texture()` may fail for very large pixmaps
 2730         because the corresponding FBO could not be created.
 2731     
 2732     Trying to upload content to a pixmap with no texture will crash Mesa,
 2733     glamor and Xwayland, e.g.:
 2734     
 2735       XXX fail to create fbo.
 2736       (EE)
 2737       (EE) Backtrace:
 2738       (EE) 0: Xwayland (OsSigHandler+0x29)
 2739       (EE) 1: libpthread.so.0 (funlockfile+0x50)
 2740       (EE) 2: libc.so.6 (__memmove_avx_unaligned_erms+0x215)
 2741       (EE) 3: dri/i965_dri.so (_mesa_format_convert+0xab3)
 2742       (EE) 4: dri/i965_dri.so (_mesa_texstore+0x205)
 2743       (EE) 5: dri/i965_dri.so (store_texsubimage+0x28c)
 2744       (EE) 6: dri/i965_dri.so (intel_upload_tex+0x13b)
 2745       (EE) 7: dri/i965_dri.so (texture_sub_image+0x134)
 2746       (EE) 8: dri/i965_dri.so (texsubimage_err+0x150)
 2747       (EE) 9: dri/i965_dri.so (_mesa_TexSubImage2D+0x48)
 2748       (EE) 10: Xwayland (glamor_upload_boxes+0x246)
 2749       (EE) 11: Xwayland (glamor_copy+0x4d1)
 2750       (EE) 12: Xwayland (miCopyRegion+0x96)
 2751       (EE) 13: Xwayland (miDoCopy+0x43c)
 2752       (EE) 14: Xwayland (glamor_copy_area+0x24)
 2753       (EE) 15: Xwayland (damageCopyArea+0xba)
 2754       (EE) 16: Xwayland (compCopyWindow+0x31c)
 2755       (EE) 17: Xwayland (damageCopyWindow+0xd3)
 2756       (EE) 18: Xwayland (miResizeWindow+0x7b7)
 2757       (EE) 19: Xwayland (compResizeWindow+0x3a)
 2758       (EE) 20: Xwayland (ConfigureWindow+0xa96)
 2759       (EE) 21: Xwayland (ProcConfigureWindow+0x7d)
 2760       (EE) 22: Xwayland (Dispatch+0x320)
 2761       (EE) 23: Xwayland (dix_main+0x366)
 2762       (EE) 24: libc.so.6 (__libc_start_main+0xf3)
 2763       (EE) 25: Xwayland (_start+0x2e)
 2764       (EE)
 2765       Fatal server error:
 2766       (EE) Caught signal 11 (Segmentation fault). Server aborting
 2767       (EE)
 2768     
 2769     Check for the possible cases of failure above and fallback to the
 2770     regular glamor pixmap creation when an error is detected.
 2771     
 2772     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2773     Closes: https://gitlab.freedesktop.org/xorg/xserver/issues/661
 2774     (cherry picked from commit fc6380a11be4c6202ed72f241dd9ee8c7c24671d)
 2775 
 2776 commit 6711b5c6fdf0581c77150306fff909d7bc63b8a4
 2777 Author: Olivier Fourdan <ofourdan@redhat.com>
 2778 Date:   Thu May 9 10:36:19 2019 +0200
 2779 
 2780     xwayland: Avoid a crash on pointer enter with a grab
 2781     
 2782     On pointer enter notification, Xwayland checks for an existing pointer
 2783     warp with a `NULL` sprite.
 2784     
 2785     In turn, `xwl_pointer_warp_emulator_maybe_lock()` checks for an existing
 2786     grab and the destination window using `XYToWindow()` which does not
 2787     check for the actual sprite not being `NULL`.
 2788     
 2789     So, in some cases, when the pointer enters the surface and there is an
 2790     existing X11 grab which is not an ownerEvents grab, Xwayland would crash
 2791     trying to dereference the `NULL` sprite pointer:
 2792     
 2793       #0  __GI_raise ()
 2794       #1  __GI_abort () at abort.c:79
 2795       #2  OsAbort () at utils.c:1351
 2796       #3  AbortServer () at log.c:879
 2797       #4  FatalError () at log.c:1017
 2798       #5  OsSigHandler () at osinit.c:156
 2799       #6  OsSigHandler () at osinit.c:110
 2800       #7  <signal handler called>
 2801       #8  XYToWindow (pSprite=0x0, x=0, y=0) at events.c:2880
 2802       #9  xwl_pointer_warp_emulator_maybe_lock () at xwayland-input.c:2673
 2803       #10 pointer_handle_enter () at xwayland-input.c:434
 2804     
 2805     Avoid the crash by simply checking for the sprite being not `NULL` in
 2806     `xwl_pointer_warp_emulator_maybe_lock()`
 2807     
 2808     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2809     Bugzilla: https://bugzilla.redhat.com/1708119
 2810     (cherry picked from commit 0a07446318f248b65fcbc8ab8a73ead51153f09e)
 2811 
 2812 commit fbbdd5613122f0f7d74471f240c28e4c3b796065
 2813 Author: Adam Jackson <ajax@redhat.com>
 2814 Date:   Thu May 30 14:07:06 2019 -0400
 2815 
 2816     xserver 1.20.5
 2817     
 2818     Signed-off-by: Adam Jackson <ajax@redhat.com>
 2819 
 2820 commit 240868527bb11beb9a03ad0d3f24506f1b983729
 2821 Author: Peter Hutterer <peter.hutterer@who-t.net>
 2822 Date:   Mon Mar 25 13:19:41 2019 +1000
 2823 
 2824     dix: leave last.valuators alone on slave switch
 2825     
 2826     Terms:
 2827     dev->last.valuator[] is the last value given to us by the driver
 2828     dev->valuator.axisVal[] is the last value sent to the client
 2829     dev->last.scroll[] is the abs value of the scroll axis as given by the driver,
 2830             used for button emulation calculation (and the remainder)
 2831     
 2832     This function updates the device's last.valuator state based on the current
 2833     master axis state. This way, relative motion continues fluidly when switching
 2834     between devices. Before mouse 2 comes into effect, it's valuator state is
 2835     updated to wherever the pointer currently is so the relative event applies on
 2836     top of that.
 2837     
 2838     This can only work for x/y axes, all other axes aren't guaranteed to have the
 2839     same meaning and/or may not be present:
 2840     - xtest device: no valuator 2
 2841     - mouse: valuator 2 is horizontal scroll axis
 2842     - tablet: valuator 2 is pressure
 2843     
 2844     Scaling the current value from the pressure range into the range for
 2845     horizontal scrolling makes no sense. And it causes scroll jumps:
 2846     
 2847     - scroll down, last.valuator == axisVal == 20
 2848     - xdotool click 1, the XTest device doesn't have that valuator
 2849     - scroll up
 2850       - updateSlaveDeviceCoords reset last.valuator to 0 (axisVal == 20)
 2851       - DeviceClassesChangedEvent includes value 20 for the axis
 2852       - event is processed, last.value changes from 0 to -1
 2853       - axisVal is updated to -1, causing a jump of -21
 2854     
 2855     The same applies when we switch from tablet to mouse wheel if the pressure
 2856     value is 0 on proximity out (basically guaranteed). So let's drop this code
 2857     altogether and only leave the scaling for the relative x/y motion.
 2858     
 2859     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 2860     (cherry picked from commit d7b1753d446ecde3ff58e3de39a634c3137473c8)
 2861 
 2862 commit 5bc29a67b8ab251048e0737eedcceb29bba25f5f
 2863 Author: Olivier Fourdan <ofourdan@redhat.com>
 2864 Date:   Fri Mar 8 18:19:16 2019 +0100
 2865 
 2866     glamor: pixmap FBO may not be allocated
 2867     
 2868     If `_glamor_create_tex()` fails to allocate the FBO because of
 2869     GL_OUT_OF_MEMORY error, the `pixmap_priv->fbo` is NULL.
 2870     
 2871     However, `glamor_get_pixmap_texture()` doesn't actually check whether
 2872     the `pixmap_priv->fbo` is NULL and will segfault with a NULL pointer
 2873     dereference trying to access the `pixmap_priv->fbo->tex`.
 2874     
 2875     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2876     Closes: https://gitlab.freedesktop.org/xorg/xserver/issues/647
 2877     (Cherry picked from commit 74479a99ecf18fdfdafd033b5efd8d785dd12c28)
 2878 
 2879 commit d0c7483b3edadf3ff9c12b4b024abd7b11b34ef1
 2880 Author: Peter Hutterer <peter.hutterer@who-t.net>
 2881 Date:   Fri Apr 5 12:39:00 2019 +0200
 2882 
 2883     xwayland: fix a realloc OOM error case
 2884     
 2885     Found by coverity
 2886     
 2887     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 2888     (Cherry picked from commit 7c25439f0db4c20a4eab4ed44262eb396305f58a)
 2889 
 2890 commit bb74db6b38f7ff75ed52a900fa62a995e77aede4
 2891 Author: Olivier Fourdan <ofourdan@redhat.com>
 2892 Date:   Fri Apr 5 12:33:28 2019 +0200
 2893 
 2894     xwayland: search for a render node to use
 2895     
 2896     wl_drm's protocol "device" event provides the path to the DRM device,
 2897     which may not be a render node, thus causing Xwayland to fall back to
 2898     DRM authentication which may fail if the user has switched to another
 2899     VT while Xwayland is starting.
 2900     
 2901     Search for a render node corresponding to the given DRM device and try
 2902     to use it instead, as render nodes do not need DRM authentication and
 2903     Xwayland can make use of them if it can find one.
 2904     
 2905     Closes: https://bugs.freedesktop.org/108038
 2906     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 2907     (Cherry picked from commit 361894497c6802b62c2da4a3dc7e98939fb24404)
 2908 
 2909 commit 87491ced98705a14be2bb5a3ce7e41cb5ffc11d0
 2910 Author: Michel Dänzer <michel.daenzer@amd.com>
 2911 Date:   Mon Mar 25 12:32:48 2019 +0100
 2912 
 2913     present/scmd: Check that the flip and screen pixmap pitches match
 2914     
 2915     If they don't, flipping will result in corrupted display.
 2916     
 2917     Test case:
 2918     
 2919     * Run Xorg at 1920x1080 with no window manager
 2920     * glxgears -geometry 2048x1080
 2921     (Cherry picked from commit ef91da2757050652c724f6e674e8b1acf5d0cb31)
 2922 
 2923 commit 578156337176bf759dace40fb5a81919f65562f1
 2924 Author: Michel Dänzer <michel.daenzer@amd.com>
 2925 Date:   Mon Mar 25 12:32:04 2019 +0100
 2926 
 2927     xwayland/present: Destroy sync_callback in xwl_present_cleanup
 2928     
 2929     xwl_present_cleanup frees the struct xwl_present_window memory,
 2930     so if there's a pending callback, we have to destroy it to prevent
 2931     use-after-free in xwl_present_sync_callback.
 2932     
 2933     Should fix issue #645.
 2934     
 2935     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 2936     (Cherry picked from commit 2e18eec6f03cc4d9d5bf62853c65d341b363f4b3)
 2937 
 2938 commit 8e2f5410cec5b052fb4da9d1b774a5858903dc35
 2939 Author: Michel Dänzer <michel.daenzer@amd.com>
 2940 Date:   Mon Mar 25 12:29:23 2019 +0100
 2941 
 2942     Revert "gitlab-ci: Only run docker-image stage if relevant source files change"
 2943     
 2944     This reverts commit 8694395fcfd407190db74f31064960e484747377.
 2945     
 2946     Some scenarios have come to light where this failed to ensure the docker
 2947     image exists:
 2948     
 2949     * If the master branch of a forked repository is used for an MR which
 2950       doesn't modify .gitlab-ci.yml, the docker-image job may not run.
 2951     * If the docker-image job of the first pipeline in a forked repository
 2952       is cancelled or fails for any reason, and .gitlab-ci.yml isn't
 2953       modified for the next pipeline run.
 2954     (Cherry picked from commit 0ec9a13c2a207e98e2dd6b352552c0e069af0727)
 2955 
 2956 commit 34553f502650641aec4f20ab43180804f17032c6
 2957 Author: Ray Strode <rstrode@redhat.com>
 2958 Date:   Fri Nov 16 14:36:55 2018 -0500
 2959 
 2960     dix: ensure work queues are cleared on reset
 2961     
 2962     If the server resets, most client workqueues are cleaned up as the
 2963     clients are killed.
 2964     
 2965     The one exception is the server's client, which is exempt from
 2966     the killing spree.
 2967     
 2968     If that client has a queued work procedure active, it won't get
 2969     cleared on reset.
 2970     
 2971     This commit ensures it gets cleared too.
 2972     
 2973     (cherry picked from commit 8738ce85df535bdfdfecfce1c0d64e209cc6e508)
 2974     
 2975     Fixes: xorg/xserver#670
 2976 
 2977 commit 94f036d412f4f426abe950b57b9ec99b78068c39
 2978 Author: Adam Jackson <ajax@redhat.com>
 2979 Date:   Mon Feb 25 13:31:13 2019 -0500
 2980 
 2981     xserver 1.20.4
 2982     
 2983     Signed-off-by: Adam Jackson <ajax@redhat.com>
 2984 
 2985 commit 9850d20c2aa2d8380f2e9c4521ef3c46a6c8fb00
 2986 Author: Michel Dänzer <michel.daenzer@amd.com>
 2987 Date:   Fri Feb 22 10:22:49 2019 +0100
 2988 
 2989     gitlab-ci: Run make distcheck in autotools build & test job
 2990     
 2991     We don't set the PIGLIT_DIR and XTS_DIR environment variables for make
 2992     distcheck for now, otherwise it complains about files left behind by
 2993     piglit.
 2994     
 2995     (cherry picked from commit 432fad04e7aaad1f10d732a51665ecbe934246c6)
 2996 
 2997 commit fcac9b10c90c8a06c60f563f5ad8da1d4e49b7fc
 2998 Author: Michel Dänzer <michel.daenzer@amd.com>
 2999 Date:   Fri Feb 22 10:21:27 2019 +0100
 3000 
 3001     glx,xquartz: Fix make distcheck
 3002     
 3003     Guard BUILT_SOURCES and CLEANFILES by XWIN_GLX_WINDOWS/XQUARTZ.
 3004     
 3005     (cherry picked from commit f9bbc9d5ead5cf298f0e3e0b7ac5229af830f6e7)
 3006 
 3007 commit 01a03a476a5f963846fdb7702217be17ac1ecd6c
 3008 Author: Michel Dänzer <michel.daenzer@amd.com>
 3009 Date:   Fri Feb 22 11:16:36 2019 +0100
 3010 
 3011     present/wnmd: Allow flipping if the window pixmap matches the toplevel's
 3012     
 3013     Instead of testing window->redirectDraw.
 3014     
 3015     With Xwayland, the toplevel window is always redirected, so this would
 3016     unnecessarily preclude flipping there in some cases, e.g. with wlroots
 3017     based Wayland compositors or with fullscreen X11 windows in weston.
 3018     
 3019     Fixes issue #631.
 3020     (Cherry picked from commit a093a88531599832811a1ba5cb85101af91a545e)
 3021 
 3022 commit e5984241ab8d7ca75eb3e5e893d63adb017ed0f5
 3023 Author: Michel Dänzer <michel.daenzer@amd.com>
 3024 Date:   Fri Feb 22 11:56:23 2019 +0100
 3025 
 3026     gitlab-ci: Add autotools build & test job
 3027     (Cherry picked from commit 2f12c8017508f23195db92503435fc3ef183da4b)
 3028 
 3029 commit de6d87b61959cd3997feed3efe25fb2a36e543fb
 3030 Author: Michel Dänzer <michel.daenzer@amd.com>
 3031 Date:   Fri Feb 22 11:56:01 2019 +0100
 3032 
 3033     gitlab-ci: Use ccache
 3034     
 3035     Meson picks it up automatically.
 3036     
 3037     Based on:
 3038     
 3039     * https://gitlab.freedesktop.org/mesa/mesa/merge_requests/240
 3040     * https://gould.cx/ted/blog/2017/06/10/ccache-for-Gitlab-CI/
 3041     * https://stackoverflow.com/questions/53659419/ccache-no-hits-in-gitlab-ci
 3042     
 3043     v2 based on the corresponding Mesa change:
 3044     * Quote CCACHE_(BASE)DIR environment variables.
 3045     * Clear ccache stats in before_script.
 3046     * Move cache stanza to the build-and-test job, the cache isn't used in
 3047       the docker-image job.
 3048     
 3049     Reviewed-by: Adam Jackson <ajax@redhat.com> # v1
 3050     (Cherry picked from commit b577df77451d34e28cfef3bda5031a43caeba90a)
 3051 
 3052 commit 37ad8dd978e8d35233e489e771f7dcf3e09c3b7a
 3053 Author: Michel Dänzer <michel.daenzer@amd.com>
 3054 Date:   Fri Feb 22 11:55:31 2019 +0100
 3055 
 3056     gitlab-ci: Add ccache to docker image, and leave in autotools
 3057     
 3058     We're going to make use of these in build & test jobs.
 3059     (Cherry picked from commit 537f06e21ee2c4c88ee062c26555338257e043ef)
 3060 
 3061 commit 61eccbcec930efeb1a124cc8edff70e6f65c927e
 3062 Author: Michel Dänzer <michel.daenzer@amd.com>
 3063 Date:   Fri Feb 22 11:54:57 2019 +0100
 3064 
 3065     gitlab-ci: Don't rely on $CI_PROJECT_NAME
 3066     
 3067     The name of a forked repository can be changed later, in which case this
 3068     would fail to refer to the main repository.
 3069     
 3070     Pointed out by Eric Engestrom in
 3071     https://gitlab.freedesktop.org/mesa/mesa/merge_requests/224 .
 3072     (Cherry picked from commit fede384962edd175b1a2ce6edd8d2ef9b0fd74f0)
 3073 
 3074 commit e10cfd8fcc395360ce9acd93bfd7503da8e35381
 3075 Author: Michel Dänzer <michel.daenzer@amd.com>
 3076 Date:   Fri Feb 22 11:54:41 2019 +0100
 3077 
 3078     gitlab-ci: Only run docker-image stage if relevant source files change
 3079     
 3080     Otherwise there's normally no need to run it. It will also run when a
 3081     new branch is created, which ensures that the docker image always exists
 3082     (e.g. in a newly forked repository).
 3083     
 3084     Inspired by https://gitlab.freedesktop.org/mesa/mesa/merge_requests/143
 3085     (Cherry picked from commit 8694395fcfd407190db74f31064960e484747377)
 3086 
 3087 commit 7246730edfb4f9079eb0ef1c41c43c47854a7432
 3088 Author: Michel Dänzer <michel.daenzer@amd.com>
 3089 Date:   Fri Feb 22 11:53:55 2019 +0100
 3090 
 3091     gitlab-ci: Set LC_ALL=C.UTF-8
 3092     
 3093     Although piglit could now handle non-ASCII characters in the
 3094     environment, meson was still failing without this (even though it's
 3095     using Python 3).
 3096     
 3097     Reviewed-by: Eric Anholt <eric@anholt.net>
 3098     (Cherry picked from commit bc6998b728749015bfd93a85fbae48af777c9a34)
 3099 
 3100 commit 8db5a711da6a0b8f28c885b968b1e6bf2d45ce62
 3101 Author: Michel Dänzer <michel.daenzer@amd.com>
 3102 Date:   Fri Feb 22 11:53:37 2019 +0100
 3103 
 3104     test: Use .../piglit instead of .../piglit-*.py
 3105     
 3106     The latter use Python 2 and break with any non-ASCII characters in the
 3107     environment, the former uses Python 3 and works fine in that case.
 3108     
 3109     Reviewed-by: Eric Anholt <eric@anholt.net>
 3110     (Cherry picked from commit 4aaaf69229be574d6d11084225ecd91446a15170)
 3111 
 3112 commit 3314af2d15085118f2ca0d4ce65ae6ec1f38fbad
 3113 Author: Michel Dänzer <michel.daenzer@amd.com>
 3114 Date:   Fri Feb 22 11:53:12 2019 +0100
 3115 
 3116     gitlab-ci: Docker image can be generated as part of pipeline
 3117     
 3118     This removes the dependency on an externally generated docker image, and
 3119     should make it easier to update the docker image or make other changes
 3120     related to it.
 3121     
 3122     This is based on Debian testing, because I'm most familiar with Debian.
 3123     But it should be easy to base it on another distro.
 3124     
 3125     v2:
 3126     * Use kaniko instead of docker-in-docker for image generation, so it can
 3127       also work in unprivileged runners.
 3128     * Drop piglit.conf & tetexec.cfg overrides, just make sure the files in
 3129       the image work.
 3130     (Cherry picked from commit f56d8e2282a3d1344aa1300c78faede0071a3bfa)
 3131 
 3132 commit e8b4e94d5192f72be3f768ac11a5e27890e6bc8d
 3133 Author: Michel Dänzer <michel.daenzer@amd.com>
 3134 Date:   Fri Feb 22 11:52:42 2019 +0100
 3135 
 3136     Drop Travis Linux build in favour of GitLab CI
 3137     
 3138     Fold build-travis-deps.sh into .gitlab-ci.yml.
 3139     
 3140     Preparation for the next change, which would break the Travis Linux
 3141     build.
 3142     
 3143     Reviewed-by: Eric Anholt <eric@anholt.net>
 3144     (Cherry picked from commit ed44f9cd6a4ccf6de7dda70432764b4da10f3f44)
 3145 
 3146 commit 4925f38dc0559a8cbe01ec947edeb5eeb78a4df6
 3147 Author: Michel Daenzer <michel@daenzer.net>
 3148 Date:   Fri Feb 22 11:51:57 2019 +0100
 3149 
 3150     Make artifacts of piglit results if job fails
 3151     
 3152     Can be useful for figuring out what caused the failure.
 3153     (Cherry picked from commit a7472da94136ef977b8d6af956a15767736236ea)
 3154 
 3155 commit b6ef90d83b4fd9230ca334116c61fd52f1d68209
 3156 Author: Michel Daenzer <michel@daenzer.net>
 3157 Date:   Fri Feb 22 11:51:35 2019 +0100
 3158 
 3159     travis: Use a single meson invocation
 3160     
 3161     The prefix setting didn't take for some reason.
 3162     (Cherry picked from commit c1bb392b1df4023e9dec489facfa221a53499ddc)
 3163 
 3164 commit 7753fd9989e280783daeee1994d019155735dee5
 3165 Author: Adam Jackson <ajax@redhat.com>
 3166 Date:   Fri Feb 22 11:50:05 2019 +0100
 3167 
 3168     gitlab: Skip the docker-in-docker step
 3169     
 3170     No idea which cult's cargo I was looking at there. Cuts about a minute
 3171     off the build time.
 3172     
 3173     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3174     (Cherry picked from commit a41ccaa0857146e986f11360d4f2aeb3913af9a6)
 3175 
 3176 commit 524104e15c7169114e4fa3dd832990c58ee563a4
 3177 Author: Peter Hutterer <peter.hutterer@who-t.net>
 3178 Date:   Fri Feb 8 13:29:14 2019 +1000
 3179 
 3180     Xi: lock the input thread for any pointer barrier list manipulation
 3181     
 3182     The input thread checks the barriers for pointer positioning, swapping the
 3183     list out from underneath is considered impolite.
 3184     
 3185     Reported-by: Michel Dänzer <michel.daenzer@amd.com>
 3186     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 3187     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
 3188     (cherry picked from commit 678d64aa2e929368b6d6f2b83bbf5540c4fa292d)
 3189 
 3190 commit ae9dda1e2620f402b434f10df581b0fdf0495ee8
 3191 Author: Peter Harris <pharris@opentext.com>
 3192 Date:   Wed Jan 30 14:51:07 2019 -0500
 3193 
 3194     os: Fix GetTimeInMicros resolution
 3195     
 3196     GetTimeInMillis is called first, which sets clockid to
 3197     CLOCK_MONOTONIC_COARSE, which is typically much lower resolution than
 3198     the callers of GetTimeInMicros want.
 3199     
 3200     Prior to a779fda224bee0c4d27636503367e55ae93b33c2, GetTimeInMillis and
 3201     GetTimeInMicros did not share a clockid.
 3202     
 3203     Restore the clockid split to fix the granularity of GetTimeInMicros.
 3204     
 3205     Signed-off-by: Peter Harris <pharris@opentext.com>
 3206     (cherry picked from commit 937a5b78a2f6ea771132ff0f9ece708a23c1bdad)
 3207 
 3208 commit 013c28a122a61beaf3a4ee7cc92b7ca2c92de7ab
 3209 Author: A. Wilcox <AWilcox@Wilcox-Tech.com>
 3210 Date:   Sat Jan 26 15:37:56 2019 -0600
 3211 
 3212     DRI2: Add another Coffeelake PCI ID
 3213     
 3214     A user of Adélie Linux reported that modesetting wasn't working properly on
 3215     their Intel i7-9700K-integrated UHD 630 GPU.  Xorg.0.log showed:
 3216     
 3217     [   131.902] (EE) modeset(0): [DRI2] No driver mapping found for PCI device 0x8086 / 0x3e98
 3218     [   131.902] (EE) modeset(0): Failed to initialize the DRI2 extension.
 3219     
 3220     Indeed, that PCI ID is missing from i965_pci_ids.  Adding it fixed the issue
 3221     and allowed the system to work with i965_dri under modesetting.
 3222     
 3223     (cherry picked from commit d3a26bbf618507e1ca05b2bc99a880075b77db77)
 3224 
 3225 commit a51d7a730cfd82ab44ea5510eafdbe9d7043e706
 3226 Author: Adam Jackson <ajax@redhat.com>
 3227 Date:   Tue Oct 16 12:58:25 2018 -0400
 3228 
 3229     vnd: Fix a silly memory leak
 3230     
 3231     'disp' was already allocated by LookupVendorPrivDispatch above,
 3232     clobbering it will do no good.
 3233     
 3234     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3235     (cherry picked from commit 709c6562975c3bea10dd0571527a4aac79a6bf6f)
 3236 
 3237 commit 544d0e961cfa96043ed3e5a718a768444c4a4c4d
 3238 Author: Adam Jackson <ajax@redhat.com>
 3239 Date:   Wed Jan 16 14:20:17 2019 -0500
 3240 
 3241     mi: When {en,dis}abling extensions, match names case-insensitively
 3242     
 3243     Both because extension names are inconsistently capitalized on the wire,
 3244     and because the table we're walking spells it COMPOSITE not Composite.
 3245     The latter is certainly also a bug, but there's no reason for us to be
 3246     that strict.
 3247     
 3248     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3249     (cherry picked from commit bf991a5f989c5e6e726a3731f468b7b7d65d9f4a)
 3250 
 3251 commit 2215e8c7cf06f46f9995c8a7817c7ede9774a551
 3252 Author: Adam Jackson <ajax@redhat.com>
 3253 Date:   Mon Jan 14 12:42:00 2019 -0500
 3254 
 3255     dri3: Fix XACE access mode for open and get_supported_modifiers
 3256     
 3257     Neither opening a screen nor querying its modifiers confers the right to
 3258     attach the buffer for any particular pixmap. GetAttr seems more correct.
 3259     
 3260     Fixes: xorg/xserver#550
 3261     (cherry picked from commit 086c2e3de55bbf0cbc1d97f7dc2db70a7f5e69e3)
 3262 
 3263 commit 59e0b5f041eee92d0a51303082005ad8f053d8ca
 3264 Author: Michel Dänzer <michel.daenzer@amd.com>
 3265 Date:   Wed Dec 5 18:31:27 2018 +0100
 3266 
 3267     xfree86/modes: Don't clobber gamma LUT of compatibility output's CRTC
 3268     
 3269     If the driver calls xf86HandleColormaps, CMapChangeGamma updates the HW
 3270     gamma LUT of all CRTCs via xf86RandR12LoadPalette. However,
 3271     xf86RandR12ChangeGamma was then clobbering the gamma LUT of the RandR
 3272     1.2 compatibility output's CRTC with the gamma curves computed from the
 3273     screen's global gamma values.
 3274     
 3275     Fix this by bailing if xf86RandR12LoadPalette is installed.
 3276     
 3277     Fixes: 02ff0a5d7e32 "xf86RandR12: Fix XF86VidModeSetGamma triggering a
 3278                          BadImplementation error"
 3279     (cherry picked from commit 30044b2253c2dd51e1aedb2f897159c657ca8f0d)
 3280 
 3281 commit 712d0e86aaee96ffe1ad6a708b9134889e47d1c6
 3282 Author: Maya Rashish <maya@NetBSD.org>
 3283 Date:   Thu Jan 10 14:55:17 2019 +0200
 3284 
 3285     xfree86: Try nouveau on NetBSD as well.
 3286     
 3287     (cherry picked from commit e3fb178617a579c98877a3baae14c4dfe4d55db8)
 3288 
 3289 commit ff1d1692e73b1729a6ced84bf58bcbe17f1c9d94
 3290 Author: Maya Rashish <maya@NetBSD.org>
 3291 Date:   Thu Jan 10 18:39:33 2019 +0200
 3292 
 3293     Fix typo in error message
 3294     
 3295     (cherry picked from commit bf2a7bb4ffbd199882fe4bd183561469833a9e6b)
 3296 
 3297 commit c091ea5e38b5c41eaf3b10c43dc043401e8251c5
 3298 Author: Alan Coopersmith <alan.coopersmith@oracle.com>
 3299 Date:   Tue Jan 1 16:49:32 2019 -0800
 3300 
 3301     os: Report errors opening authorization file (#469)
 3302     
 3303     Fixes: xorg/xserver#469
 3304     
 3305     Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 3306     (cherry picked from commit 7fb6338c68e158053295cb448faa5c559aa9990c)
 3307 
 3308 commit 7b0f6102df3b18a048b791fe2304679b1eb2c9e7
 3309 Author: Michel Dänzer <michel.daenzer@amd.com>
 3310 Date:   Wed Dec 19 10:06:23 2018 +0100
 3311 
 3312     glamor: Check that storage format is compatible with RENDER format
 3313     
 3314     Fixes x2r10g10b10 related rendercheck failures.
 3315     
 3316     Reviewed-by: Eric Anholt <eric@anholt.net>
 3317     (cherry picked from commit 7e6faa5b3c05e0b7149ee840403885b0b40b5827)
 3318 
 3319 commit 356cf07b8a8fe6faedf701ae259f8f077a234dd5
 3320 Author: Peter Hutterer <peter.hutterer@who-t.net>
 3321 Date:   Wed Nov 28 10:05:49 2018 +1000
 3322 
 3323     test: fix failing tests
 3324     
 3325     Broken since 69d8ea4a49793a94f821d1a328856901a1c02a5a because our fake screen
 3326     didn't have a root window and writing the XKB rules prop would happily
 3327     segfault. Fix this by setting up the required bits.
 3328     
 3329     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 3330     Tested-by: Michel Dänzer michel.daenzer@amd.com
 3331     (cherry picked from commit fde27b9b4814b18aca6ec587bd3cfe9ab04b0c72)
 3332 
 3333 commit c44eee243e6f4e488b586ad02e4fd00f587ebb49
 3334 Author: Ilia Mirkin <imirkin@alum.mit.edu>
 3335 Date:   Mon Dec 10 23:34:11 2018 -0500
 3336 
 3337     modesetting: fix conn_id termination and potential overrun by 1 byte
 3338     
 3339     Noticed when porting this logic to xf86-video-nouveau, and valgrind
 3340     complained about conditional jump based on uninitialized data.
 3341     
 3342     Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
 3343     Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.com>
 3344     (cherry picked from commit 48b1af2718ab81c66f565438553415c05f1faa5c)
 3345 
 3346 commit 10609630e753b475566be27b186af4b2e290fdc6
 3347 Author: Adam Jackson <ajax@redhat.com>
 3348 Date:   Thu Nov 29 14:48:11 2018 -0500
 3349 
 3350     automake: Distribute meson's configure header templates
 3351     
 3352     Fixes: xorg/xserver#17
 3353     (cherry picked from commit 82ed89c0f8b18d8214430580dc80c8d3e37bef33)
 3354 
 3355 commit f5a77233b983eb06eb727d25148b68d1bc410022
 3356 Author: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
 3357 Date:   Fri Nov 9 12:34:59 2018 +0000
 3358 
 3359     present: fix compile warning with debug traces
 3360     
 3361     Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
 3362     (cherry picked from commit a425eee6dce3b0cfd18b591907e8302a91b648c6)
 3363 
 3364 commit 4e12cba65682e97b056d8a8207189d4cf9c31862
 3365 Author: Lyude Paul <lyude@redhat.com>
 3366 Date:   Tue Nov 13 20:14:10 2018 -0500
 3367 
 3368     modesetting: Actually disable CRTCs in legacy mode
 3369     
 3370     Believe it or not, somehow we've never done this in legacy mode! We
 3371     currently simply change the DPMS property on the CRTC's output's
 3372     respective DRM connector, but this means that we're just setting the
 3373     CRTC as inactive-not disabled. From the perspective of the kernel, this
 3374     means that any shared resources used by the CRTC are still in use.
 3375     
 3376     This can cause problems for drivers that are not yet fully atomic,
 3377     despite using the atomic helpers internally. For instance: if CRTC-1 and
 3378     CRTC-2 are still enabled and use shared resources within the kernel (an
 3379     MST topology, for example), and then userspace tries to go enable CRTC-3
 3380     on the same topology this might suddenly fail if CRTC-3 needs the shared
 3381     resources CRTC-1 and CRTC-2 are using. While I don't know of any
 3382     situations in the mainline kernel that actually trigger this, future
 3383     plans for reworking the atomic check of MST drivers are absolutely
 3384     going to make this into a real issue (they already are in my WIP
 3385     branches for the kernel).
 3386     
 3387     So: actually do the right thing here and disable CRTCs when they're not
 3388     going to be used anymore, even in legacy mode.
 3389     
 3390     Signed-off-by: Lyude Paul <lyude@redhat.com>
 3391     (cherry picked from commit 7a44e8d4007b9c3ca55a5cc3f5e98601565311c7)
 3392 
 3393 commit 652918e736bcc577e221184415dcf61c05ac7bfb
 3394 Author: Alan Coopersmith <alan.coopersmith@oracle.com>
 3395 Date:   Sun Nov 25 12:56:29 2018 -0800
 3396 
 3397     Update configure.ac bug URL for gitlab migration
 3398     
 3399     Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 3400     (cherry picked from commit 17a22ad948009badbc79bbcd9a067004c98f5744)
 3401 
 3402 commit 40b22a0571d422473a7a324daa65f6a768181644
 3403 Author: Alan Coopersmith <alan.coopersmith@oracle.com>
 3404 Date:   Sun Nov 18 15:49:27 2018 -0800
 3405 
 3406     Update README for gitlab migration
 3407     
 3408     Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 3409     (cherry picked from commit 5d097c2a20fce44cdb9d5c302d46bc7fa16edfec)
 3410 
 3411 commit a352f979545723054b0a74862a56dc53b1be93fb
 3412 Author: Olivier Fourdan <ofourdan@redhat.com>
 3413 Date:   Tue Jan 8 12:48:53 2019 +0100
 3414 
 3415     xwayland: handle case without any crtc
 3416     
 3417     Xwayland creates and destroys the CRTC along with the Wayland outputs,
 3418     so there is possibly a case where the number of CRTC drops to 0.
 3419     
 3420     However, `xwl_present_get_crtc()` always return `crtcs[0]` which is
 3421     invalid when `numCrtcs` is 0.
 3422     
 3423     That leads to crash if a client queries the Present capabilities when
 3424     there is no CRTC, the backtrace looks like:
 3425     
 3426       #0  raise() from libc.so
 3427       #1  abort() from libc.so
 3428       #2  OsAbort() at utils.c:1350
 3429       #3  AbortServer() at log.c:879
 3430       #4  FatalError() at log.c:1017
 3431       #5  OsSigHandler() at osinit.c:156
 3432       #6  OsSigHandler() at osinit.c:110
 3433       #7  <signal handler called>
 3434       #8  main_arena() from libc.so
 3435       #9  proc_present_query_capabilities() at present_request.c:236
 3436       #10 Dispatch() at dispatch.c:478
 3437       #11 dix_main() at main.c:276
 3438     
 3439     To avoid returning an invalid pointer (`crtcs[0]`) in that case, simply
 3440     check for `numCrtcs` being 0 and return `NULL` in that case.
 3441     
 3442     Thanks to Michel Dänzer <michel.daenzer@amd.com> for pointing this as a
 3443     possible cause of the crash.
 3444     
 3445     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 3446     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
 3447     Bugzilla: https://bugzilla.redhat.com/1609181
 3448     (cherry picked from commit e8295c50209f2963fa2823e8de7e8363a38cd2d1)
 3449 
 3450 commit 210cd529064348de7d4f9a9050b0cf68f8fd326c
 3451 Author: Michel Dänzer <michel.daenzer@amd.com>
 3452 Date:   Thu Nov 15 17:16:59 2018 +0100
 3453 
 3454     xwayland: Don't take buffer release queue into account for frame timer
 3455     
 3456     The buffer release queue has two kinds of entries:
 3457     
 3458     * Pending async flips.
 3459     * Completed flips waiting for their buffer to be released by the Wayland
 3460       compositor.
 3461     
 3462     xwl_present_timer_callback neither completes async flips nor releases
 3463     buffers, so the timer isn't needed for the buffer release queue.
 3464     
 3465     (cherry picked from commit e6cd1c9bdefe83e7d99b703a68d26eebb451f889)
 3466 
 3467 commit 7c28b0e34ecbe9842193733dfd86097c06921406
 3468 Author: Michel Dänzer <michel.daenzer@amd.com>
 3469 Date:   Fri Nov 9 17:18:53 2018 +0100
 3470 
 3471     xwayland: Don't need xwl_window anymore in xwl_present_queue_vblank
 3472     
 3473     Fixes issue #12. Presumably the problem was that Present operations on
 3474     unmapped windows were executed immediately instead of only when reaching
 3475     the target MSC.
 3476     
 3477     (cherry picked from commit f541615342ce6bfb0e6d4e68deb3a924a87e8ba9)
 3478 
 3479 commit 46135957095ec954e21107d1001452e9533ef2ee
 3480 Author: Michel Dänzer <michel.daenzer@amd.com>
 3481 Date:   Thu Nov 1 18:24:28 2018 +0100
 3482 
 3483     xwayland: Add xwl_present_unrealize_window
 3484     
 3485     When a window is unrealized, a pending frame callback may never be
 3486     called, which could result in repeatedly freezing until the frame timer
 3487     fires after a second.
 3488     
 3489     Fixes these symptoms when switching from fullscreen to windowed mode in
 3490     sauerbraten.
 3491     
 3492     (cherry picked from commit 8c9538573cb9a342897eb3fb4b0c1e4ed917bd0e)
 3493 
 3494 commit 98f41563e6599eb762e6a3ec12f99ba6b5388039
 3495 Author: Michel Dänzer <michel.daenzer@amd.com>
 3496 Date:   Thu Nov 1 18:44:24 2018 +0100
 3497 
 3498     xwayland: Replace xwl_window::present_window with ::present_flipped
 3499     
 3500     There's no need to keep track of the window which last performed a
 3501     Present flip. This fixes crashes due to the assertion in
 3502     xwl_present_flips_stop failing. Fixes issue #10.
 3503     
 3504     The damage generated by a flip only needs to be ignored once, then
 3505     xwl_window::present_flipped can be cleared. This may fix freezing in
 3506     the (hypothetical) scenario where Present flips are performed on a
 3507     window, followed by other drawing requests using the window as the
 3508     destination, but nothing triggering xwl_present_flips_stop. The damage
 3509     from the latter drawing requests would continue being ignored.
 3510     
 3511     (cherry picked from commit 6b016d58d23d16eaae9908a92ed90547d1926317)
 3512 
 3513 commit f393801dbbe89bce716a8ceeb2b5c8440b9021ce
 3514 Author: Michel Dänzer <michel.daenzer@amd.com>
 3515 Date:   Thu Oct 18 17:42:01 2018 +0200
 3516 
 3517     xwayland: Complete "synchronous" Present flips from xwl_present_msc_bump
 3518     
 3519     Completing them from xwl_present_sync_callback had at least two issues:
 3520     
 3521     * It was before the MSC was incremented in xwl_present_frame_callback,
 3522       so the MSC value in the completion event could be lower than the
 3523       target specified by the client. This could cause hangs with the Mesa
 3524       Vulkan drivers.
 3525     * It allowed clients to run at a frame-rate higher than the Wayland
 3526       compositor's frame-rate, wasting energy on generating frames which
 3527       were never displayed. This isn't expected to happen unless the client
 3528       specified PresentOptionAsync (in which case flips are still completed
 3529       from xwl_present_sync_callback, allowing higher frame-rates).
 3530     
 3531     v2:
 3532     * Make xwl_present_has_events return true when there's a pending
 3533       "synchronous" flip, so those complete after at most ~1 second even if
 3534       the Wayland server doesn't send a frame event.
 3535     
 3536     Bugzilla: https://bugs.freedesktop.org/106713
 3537     (cherry picked from commit ace551d8a2603e37b18237a52f62d627c75d9e2a)
 3538 
 3539 commit e646e3054a3e1dbe8ff3906a546897246bcc78f0
 3540 Author: Michel Dänzer <michel.daenzer@amd.com>
 3541 Date:   Thu Oct 18 17:36:24 2018 +0200
 3542 
 3543     xwayland: Rename xwl_present_events_notify to xwl_present_msc_bump
 3544     
 3545     And consolidate more code from xwl_present_timer_callback and
 3546     xwl_present_frame_callback in it.
 3547     
 3548     (cherry picked from commit 2bfc46d4147dc0bec4cdbb80431a0f4cc1d3b030)
 3549 
 3550 commit 47aed554b7c12c0c7f496c86a435dddaa51ae9bf
 3551 Author: Michel Dänzer <michel.daenzer@amd.com>
 3552 Date:   Wed Oct 24 11:23:05 2018 +0200
 3553 
 3554     xwayland: Use xwl_present_reset_timer in xwl_present_timer_callback
 3555     
 3556     Apart from simplifying the code, this should also prevent a condition
 3557     (which might only be possible with the following fix) reported in
 3558     https://gitlab.freedesktop.org/wayland/weston/issues/115#note_52467:
 3559     
 3560     1. xwl_present_timer_callback indirectly calls xwl_present_reset_timer
 3561        -> xwl_present_free_timer
 3562     2. xwl_present_timer_callback then returns a non-0 value, so DoTimer
 3563        calls TimerSet with the old xwl_present_window->frame_timer pointer
 3564        which was freed in step 1 => use after free
 3565     
 3566     Calling xwl_present_reset_timer explicitly passes NULL to TimerSet if
 3567     step 1 freed xwl_present_window->frame_timer, and it will allocate a new
 3568     one.
 3569     
 3570     (cherry picked from commit 5e8b9a3a563047e3998d45e761f7a50e4b0f6cb3)
 3571 
 3572 commit cf8e064ec0bed45b8cda9ae390c7af78d8ede50f
 3573 Author: Olivier Fourdan <ofourdan@redhat.com>
 3574 Date:   Fri Oct 19 16:04:32 2018 +0200
 3575 
 3576     xwayland: do not crash if `gbm_bo_create()` fails
 3577     
 3578     The function `xwl_glamor_gbm_create_pixmap()` first creates a buffer
 3579     objects and then creates the xwl_pixmap from it.
 3580     
 3581     However, `xwl_glamor_gbm_create_pixmap_for_bo()` is not called if the
 3582     buffer object creation fails, and `xwl_glamor_gbm_create_pixmap()`
 3583     simply returns `glamor_create_pixmap()`.
 3584     
 3585     The problem with this is that if `xwl_glamor_gbm_create_pixmap_for_bo()`
 3586     is not called then neither is `xwl_pixmap_set_private()` and further
 3587     calls to `xwl_pixmap_get()` will return NULL and cause a NULL pointer
 3588     dereference if the return value is not checked:
 3589     
 3590       #0  xwl_glamor_gbm_get_wl_buffer_for_pixmap ()
 3591           at hw/xwayland/xwayland-glamor-gbm.c:248
 3592       #1  xwl_window_post_damage () at hw/xwayland/xwayland.c:697
 3593       #2  xwl_display_post_damage () at hw/xwayland/xwayland.c:759
 3594       #3  block_handler () at hw/xwayland/xwayland.c:890
 3595       #4  BlockHandler () at dix/dixutils.c:388
 3596       #5  WaitForSomething () at os/WaitFor.c:201
 3597       #6  Dispatch () at dix/dispatch.c:421
 3598       #7  dix_main () at dix/main.c:276
 3599       #8  __libc_start_main () at ../csu/libc-start.c:308
 3600       #9  _start ()
 3601     
 3602       (gdb) print xwl_pixmap
 3603       $1 = (struct xwl_pixmap *) 0x0
 3604     
 3605     Make sure we check for `xwl_pixmap_get()` returned value where relevant
 3606     and fail gracefully if this is the case.
 3607     
 3608     See also: https://gitlab.gnome.org/GNOME/mutter/issues/340
 3609     
 3610     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 3611     Reviewed-by: Marco Trevisan <mail@3v1n0.net>
 3612     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 3613     (cherry picked from commit 036794bebce72a3fa2f95996d2e537ff568e0ff1)
 3614 
 3615 commit f89518e17f7d507734af212785e0b3e47954f603
 3616 Author: Olivier Fourdan <ofourdan@redhat.com>
 3617 Date:   Mon Oct 22 11:48:25 2018 +0200
 3618 
 3619     present/wnmd: Fix use after free on CRTC removal
 3620     
 3621     Xwayland will add and remove CRTCs as Wayland outputs are added or
 3622     removed.
 3623     
 3624     If there is a pending flip when this occurs, the
 3625     `xwl_present_sync_callback()` will be triggered after the Xwayland
 3626     output's RRCtrcPtr has been destroyed, hence causing a crash in Xwayland
 3627     while trying to use freed memory:
 3628     
 3629       #1  abort ()
 3630       #2  OsAbort () at utils.c:1350
 3631       #3  AbortServer () at log.c:877
 3632       #4  FatalError () at log.c:1015
 3633       #5  OsSigHandler () at osinit.c:156
 3634       #6  <signal handler called>
 3635       #7  dixGetPrivate () at ../include/privates.h:122
 3636       #8  dixLookupPrivate () at ../include/privates.h:166
 3637       #9  present_screen_priv () at present_priv.h:198
 3638       #10 present_wnmd_flip () at present_wnmd.c:358
 3639       #11 present_wnmd_execute () at present_wnmd.c:466
 3640       #12 present_wnmd_re_execute () at present_wnmd.c:80
 3641       #13 xwl_present_sync_callback () at xwayland-present.c:287
 3642       #14 ffi_call_unix64 () from /lib64/libffi.so.6
 3643       #15 ffi_call () from /lib64/libffi.so.6
 3644       #16 wl_closure_invoke () at src/connection.c:1006
 3645       #17 dispatch_event () at src/wayland-client.c:1427
 3646       #18 dispatch_queue () at src/wayland-client.c:1573
 3647       #19 wl_display_dispatch_queue_pending () at src/wayland-client.c:1815
 3648       #20 wl_display_dispatch_pending () at src/wayland-client.c:1878
 3649       #21 xwl_read_events () at xwayland.c:814
 3650       #22 ospoll_wait () at ospoll.c:651
 3651       #23 WaitForSomething () at WaitFor.c:208
 3652       #24 Dispatch () at ../include/list.h:220
 3653       #25 dix_main () at main.c:276
 3654     
 3655     To avoid the issue, get the `ScreenPtr` from the window instead of the
 3656     CRTC that might have been just freed, `xwl_present_flip()` has no use
 3657     for the CRTC anyway.
 3658     
 3659     Bugzilla: https://bugs.freedesktop.org/108249
 3660     Suggested-by: Michel Daenzer <michel.daenzer@amd.com>
 3661     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 3662     Reviewed-by: Michel Daenzer <michel.daenzer@amd.com>
 3663     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 3664     (cherry picked from commit b768b7d6cec41b8b320c468ec41aab5a8b49b27b)
 3665 
 3666 commit 64f5e6ec2d297f90e9b9785a1cb7285d609a1877
 3667 Author: Michel Dänzer <michel.daenzer@amd.com>
 3668 Date:   Fri Oct 19 18:27:37 2018 +0200
 3669 
 3670     xwayland: Plug leaks in xwl_present_sync_callback
 3671     
 3672     xwl_present_window->sync_callback was leaked.
 3673     
 3674     The event memory was leaked if the corresponding buffer had already been
 3675     released.
 3676     
 3677     (cherry picked from commit cb0de153bf0c486da7e968ab0f258c9c0c9ed34a)
 3678 
 3679 commit 971d418113740cae2d7d393850bad4926d1a7e86
 3680 Author: Adam Jackson <ajax@redhat.com>
 3681 Date:   Thu Oct 25 09:03:18 2018 -0400
 3682 
 3683     xserver 1.20.3
 3684     
 3685     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3686 
 3687 commit da15c7413916f754708c62c2089265528cd661e2
 3688 Author: Matthieu Herrb <matthieu@herrb.eu>
 3689 Date:   Tue Oct 23 21:29:09 2018 +0200
 3690 
 3691     LogFilePrep: add a comment to the unsafe format string.
 3692     
 3693     CVE-2018-14665 also made it possible to exploit this to access
 3694     memory. With -logfile forbidden when running with elevated privileges
 3695     this is no longer an issue.
 3696     
 3697     Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
 3698     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3699     (cherry picked from commit 248d164eae27f1f310266d78e52f13f64362f81e)
 3700 
 3701 commit 8a59e3b7dbb30532a7c3769c555e00d7c4301170
 3702 Author: Matthieu Herrb <matthieu@herrb.eu>
 3703 Date:   Tue Oct 23 21:29:08 2018 +0200
 3704 
 3705     Disable -logfile and -modulepath when running with elevated privileges
 3706     
 3707     Could cause privilege elevation and/or arbitrary files overwrite, when
 3708     the X server is running with elevated privileges (ie when Xorg is
 3709     installed with the setuid bit set and started by a non-root user).
 3710     
 3711     CVE-2018-14665
 3712     
 3713     Issue reported by Narendra Shinde and Red Hat.
 3714     
 3715     Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
 3716     Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 3717     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 3718     Reviewed-by: Adam Jackson <ajax@redhat.com>
 3719     (cherry picked from commit 50c0cf885a6e91c0ea71fb49fa8f1b7c86fe330e)
 3720 
 3721 commit cfc3dec09e1a56bb050ba31bde0bbf499596063a
 3722 Author: Peter Hutterer <peter.hutterer@who-t.net>
 3723 Date:   Tue Oct 16 09:42:51 2018 +1000
 3724 
 3725     xfree86: fix readlink call
 3726     
 3727     Misplaced parenthesis caused us to compare the sizeof, not the readlink return
 3728     value.
 3729     
 3730     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 3731     (cherry picked from commit bd5fe7593fd0df236f3b2be1f062166ddba7d67c)
 3732 
 3733 commit 2a0c6c15c35cd262e7cdb86dcc43cb1aeb714c8e
 3734 Author: Adam Jackson <ajax@redhat.com>
 3735 Date:   Mon Oct 15 11:17:35 2018 -0400
 3736 
 3737     xserver 1.20.2
 3738     
 3739     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3740 
 3741 commit f5dc787fc9bb102e4eea477d1817e35370084ea2
 3742 Author: Adam Jackson <ajax@redhat.com>
 3743 Date:   Wed Oct 10 14:09:11 2018 -0400
 3744 
 3745     fbdevhw: Refuse to touch PCI devices on the fallback probe path
 3746     
 3747     Fixes: https://gitlab.freedesktop.org/xorg/driver/xf86-video-fbdev/issues/9
 3748     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3749     (cherry picked from commit fc78bcca21e767697de6ad4d8e03b6728856f613)
 3750 
 3751 commit 4795c069a503144ea31f01de0c039f32d9880292
 3752 Author: Adam Jackson <ajax@redhat.com>
 3753 Date:   Fri Oct 5 14:50:20 2018 -0400
 3754 
 3755     glamor/egl: Avoid crashing on broken configurations
 3756     
 3757     0a9415cf apparently can tickle bugs in the GL stack where glGetString
 3758     returns NULL, presumably because the eglMakeCurrent() didn't manage to
 3759     actually install a dispatch table and you're hitting a stub function.
 3760     That's clearly not our bug, but if it happens we should at least not
 3761     crash. Notice this case and fail gently.
 3762     
 3763     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3764     (cherry picked from commit af151895f3cb1755a7a5631f2398a3d3b219cbef)
 3765 
 3766 commit 1e3c5d614ee33d9eac1d2cf6366feeb8341fc0f4
 3767 Author: Adam Jackson <ajax@redhat.com>
 3768 Date:   Fri Sep 14 11:33:43 2018 -0400
 3769 
 3770     glamor_egl: Don't initialize on llvmpipe
 3771     
 3772     Mesa started supporting GL_OES_EGL_image on llvmpipe in 17.3, after this
 3773     commit:
 3774     
 3775         commit bbdeddd5fd0b797e1e281f058338b3da4d98029d
 3776         Author: Gurchetan Singh <gurchetansingh@chromium.org>
 3777         Date:   Tue Aug 1 14:49:33 2017 -0700
 3778     
 3779             st/dri: add drisw image extension
 3780     
 3781     That's pretty cool, but it means glamor now thinks it can initialize on
 3782     llvmpipe. This is almost certainly not what anyone wants, as glamor on
 3783     llvmpipe is pretty much uniformly slower than fb.
 3784     
 3785     This fixes both Xorg and Xwayland to refuse glamor in such a setup.
 3786     Xephyr is left alone, both because glamor is not the default there and
 3787     because Xephyr+glamor+llvmpipe is one of the easier ways to get xts to
 3788     exercise glamor.
 3789     
 3790     The (very small) downside of this change is that you lose DRI3 support.
 3791     This wouldn't have helped you very much (since an lp glamor blit is
 3792     slower than a pixman blit), but it would eliminate the PutImage overhead
 3793     for llvmpipe's glXSwapBuffers. A future change should add DRI3 support
 3794     for the fb-only case.
 3795     
 3796     Reviewed-by: Eric Anholt <eric@anholt.net>
 3797     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3798     (cherry picked from commit 0a9415cf793babed1f28c61f8047d51de04f1528)
 3799 
 3800 commit b58aa8ed9b0a052d615d34b103aa54ce357df12e
 3801 Author: Alexander Volkov <a.volkov@rusbitech.ru>
 3802 Date:   Mon Feb 26 19:41:18 2018 +0300
 3803 
 3804     os/xdmcp: Don't create a new socket in XdmcpReset()
 3805     
 3806     xdmcpSocket survives during the reset, there is no
 3807     need to create a new one.
 3808     
 3809     This commit restores logic that was broken by
 3810     49c0f2413d32fdfe36e45861fcb32aaeab633094 in Xorg 1.19.
 3811     
 3812     Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru>
 3813     (cherry picked from commit 32677ce03d793a1f2aa8871112eb3d19b3cb762f)
 3814 
 3815 commit b1215fb075b0166d5742c72041f58d512273bb50
 3816 Author: Pierre Ossman <ossman@cendio.se>
 3817 Date:   Wed Oct 3 10:28:52 2018 +0200
 3818 
 3819     Switch automatic composite update to WorkQueue
 3820     
 3821     It is currently (ab)using the screen BlockHandler callback to do
 3822     this. But this can cause problems with other extension as their
 3823     block handlers might have executed before Composite's. And the
 3824     operations Composite does might result in them wanting to change
 3825     timeouts.
 3826     
 3827     Practically this caused problems for TigerVNC's VNC extension which
 3828     failed to send out updates for Composite's screen updates.
 3829     
 3830     (cherry picked from commit 1bd5d0a53c5ff4169c5a6704c1c4b276f998b938)
 3831 
 3832 commit a41b6ef2244f1a0003dada0962a9d785e74d7981
 3833 Author: Adam Jackson <ajax@redhat.com>
 3834 Date:   Mon Oct 1 11:42:37 2018 -0400
 3835 
 3836     modesetting: Don't free(dst) in drmmode_prop_info_copy
 3837     
 3838     The destination is always either on the stack or in the middle of some
 3839     struct.
 3840     
 3841     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3842     (cherry picked from commit 43a0f9a5dbb469f4f403a8530f33be67618933b8)
 3843 
 3844 commit 9403335910f4e6b862af5c5ef835074be2c52edb
 3845 Author: Cedric Roux <sed@free.fr>
 3846 Date:   Wed Sep 12 19:14:18 2018 +0200
 3847 
 3848     miext/damage: take care of the coordinate mode in damagePolyPoint
 3849     
 3850     The mode (CoordModeOrigin or CoordModePrevious) was not taken into
 3851     account when computing the box. The result was a bad drawing of
 3852     points in some situations (on my hardware/software configuration,
 3853     calling XDrawString followed by XDrawPoints in the mode
 3854     CoordModePrevious).
 3855     
 3856     Signed-off-by: Cedric Roux <sed@free.fr>
 3857     Signed-off-by: Eric Anholt <eric@anholt.net>
 3858     (cherry picked from commit bc36594e0eb8bfa5a673bcfd8c8168f70994a1df)
 3859 
 3860 commit c26a47b4f2e170e283ca1683d5b6ca2d04823e80
 3861 Author: Olivier Fourdan <ofourdan@redhat.com>
 3862 Date:   Thu Sep 20 16:32:29 2018 +0200
 3863 
 3864     xwayland: Use `double` for `xwl_tablet_tool`
 3865     
 3866     So we do not lose subpixel precision in Xwayland.
 3867     
 3868     Suggested-by: Peter Hutterer <peter.hutterer@who-t.net>
 3869     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 3870     Closes: https://gitlab.freedesktop.org/libinput/libinput/issues/138
 3871     (cherry picked from commit 734b2d6907f730571a2805cbc53fe7056190f19e)
 3872 
 3873 commit fb01b238c610e1955457dd9878d75b2c34c9a0c6
 3874 Author: Adam Jackson <ajax@redhat.com>
 3875 Date:   Wed Aug 29 15:42:20 2018 -0400
 3876 
 3877     xfree86: Fix Option "MaxClients" validation
 3878     
 3879     The old code would not in fact validate the option value, though it
 3880     might complain about it in the log. It also didn't let you set some
 3881     legal values that the -maxclients command line option would.
 3882     
 3883     Signed-off-by: Adam Jackson <ajax@redhat.com>
 3884     (cherry picked from commit 7d689f049c3cc16b8e0cb0103a384a2ceb84ea33)
 3885 
 3886 commit cc4051ad6a3712c4407ffb608c8d23f2b66952d6
 3887 Author: Dave Airlie <airlied@redhat.com>
 3888 Date:   Wed Sep 12 11:39:32 2018 +1000
 3889 
 3890     devices: break after finding and removing device from lists
 3891     
 3892     Coverity complains about a use after free in here after the
 3893     freeing, I can't follow the linked list so well, but whot
 3894     says the device can only be on one list once, so break should
 3895     fix it.
 3896     
 3897     Signed-off-by: Dave Airlie <airlied@redhat.com>
 3898     (cherry picked from commit ba0f5d854f4db52974ab5cd09191303b01b075ff)
 3899 
 3900 commit 64a7aac257ddbb000759d37386454866d8810545
 3901 Author: Dave Airlie <airlied@redhat.com>
 3902 Date:   Wed Sep 12 11:12:51 2018 +1000
 3903 
 3904     mibltblt: free prgnSrcClip on error path.
 3905     
 3906     Pointed out by coverity.
 3907     
 3908     Signed-off-by: Dave Airlie <airlied@redhat.com>
 3909     (cherry picked from commit c4591ea17110b5c318a5ef4b0f17a4eea306ea71)
 3910 
 3911 commit fcbdb7c8b0d7bcc6a85e0beb2ce1dba76803486b
 3912 Author: Dave Airlie <airlied@redhat.com>
 3913 Date:   Wed Sep 12 11:09:40 2018 +1000
 3914 
 3915     xkb: fix what looks to be a copy-paste error with first vs firstMM
 3916     
 3917     Pointed out by coverity.
 3918     
 3919     Signed-off-by: Dave Airlie <airlied@redhat.com>
 3920     (cherry picked from commit 758393951233d1b2520cf4cefd33ec4288a3880a)
 3921 
 3922 commit 83ef02839ce8982c2e841bc400abddbeb620481d
 3923 Author: Dave Airlie <airlied@redhat.com>
 3924 Date:   Wed Sep 12 11:05:45 2018 +1000
 3925 
 3926     posix_tty: free leak of xf86SetStrOption return value.
 3927     
 3928     Pointed out by coverity.
 3929     
 3930     Signed-off-by: Dave Airlie <airlied@redhat.com>
 3931     (cherry picked from commit cad3a1a82da3c8421b5cc98af27a779a38b5c709)
 3932 
 3933 commit 66d36010a324480ac656e702e53f9c1f6fb60d5c
 3934 Author: Dave Airlie <airlied@redhat.com>
 3935 Date:   Wed Sep 12 10:56:40 2018 +1000
 3936 
 3937     modesetting: get pEnt after error checks
 3938     
 3939     This saves us having to make sure we clean it up.
 3940     
 3941     Pointed out by coverity.
 3942     
 3943     Signed-off-by: Dave Airlie <airlied@redhat.com>
 3944     (cherry picked from commit b6c29a881eb49300fddfd0187cb10891f5257d3b)
 3945 
 3946 commit 795c58a1febb3deb9066d981b178d9cf14fdad03
 3947 Author: Dave Airlie <airlied@redhat.com>
 3948 Date:   Wed Sep 12 10:52:25 2018 +1000
 3949 
 3950     glamor: fix leak of fs_getcolor_source.
 3951     
 3952     This is created using XNFstrdup, so it needs to be freed.
 3953     
 3954     Pointed out by coverity.
 3955     Signed-off-by: Dave Airlie <airlied@redhat.com>
 3956     (cherry picked from commit f0a5c0d1fdaeee3cd701215f4f57b7eacaf783c2)
 3957 
 3958 commit bb384d0b110a99f2d935ed73d6589af46f818823
 3959 Author: Dave Airlie <airlied@redhat.com>
 3960 Date:   Wed Sep 12 10:50:21 2018 +1000
 3961 
 3962     fboverlay: move bpp checks above malloc
 3963     
 3964     Avoids having to free the malloced object.
 3965     
 3966     Pointed out by coverity.
 3967     
 3968     Signed-off-by: Dave Airlie <airlied@redhat.com>
 3969     (cherry picked from commit c7fa6a0a0d4ad28ee21b8dd9ad4fbe33f462bc71)
 3970 
 3971 commit 26a83f9833054f5cf7c7d73b0f5aa080d400c26b
 3972 Author: Dave Airlie <airlied@redhat.com>
 3973 Date:   Wed Sep 12 10:33:04 2018 +1000
 3974 
 3975     xi: free modifiers_failed on error path. (v2)
 3976     
 3977     Pointed out by coverity.
 3978     
 3979     v2: set modifies_failed to NULL at start (whot)
 3980     
 3981     Signed-off-by: Dave Airlie <airlied@redhat.com>
 3982     (cherry picked from commit 51ae6126dcf3e234d0f678f02934bc9515abb8ae)
 3983 
 3984 commit bdeab7863eb7abe2d9d05eed259542695935559c
 3985 Author: Dave Airlie <airlied@redhat.com>
 3986 Date:   Wed Sep 12 10:30:13 2018 +1000
 3987 
 3988     shm: move shmsize verify before allocating the drawable.
 3989     
 3990     Otherwise if the VERIFY_SHMSIZE macro fails we leak the drawables
 3991     we allocated earlier.
 3992     
 3993     Noticed by coverity scan.
 3994     
 3995     Signed-off-by: Dave Airlie <airlied@redhat.com>
 3996     (cherry picked from commit 3439929c510501929c6ef1d90477c33bf8838632)
 3997 
 3998 commit 8e646ca9850c071994354b503b5d2b62f99ef2a8
 3999 Author: Adam Jackson <ajax@redhat.com>
 4000 Date:   Wed Aug 29 16:07:59 2018 -0400
 4001 
 4002     modesetting: Document Option "DoubleShadow" in the man page
 4003     
 4004     Signed-off-by: Adam Jackson <ajax@redhat.com>
 4005     (cherry picked from commit c4f3e42fe316c90a73908a838ce64abbb28fe0a2)
 4006 
 4007 commit fdb80a327cfe213a206bc76d3cb43cbb33855547
 4008 Author: Adam Jackson <ajax@redhat.com>
 4009 Date:   Wed Aug 29 15:57:46 2018 -0400
 4010 
 4011     modesetting: Lie less in the man page
 4012     
 4013     We don't support 8bpp, and we do have acceleration.
 4014     
 4015     Signed-off-by: Adam Jackson <ajax@redhat.com>
 4016     (cherry picked from commit 0dc2c419e11cf28b8fa1e607d4cf2d15f2eb2306)
 4017 
 4018 commit cffac815b957fd1296d61cc5c20ba3709a77ee4e
 4019 Author: Olivier Fourdan <ofourdan@redhat.com>
 4020 Date:   Wed Sep 5 10:49:27 2018 +0200
 4021 
 4022     xwayland: Remove xwl_present_window from privates on cleanup
 4023     
 4024     Xwayland's `xwl_destroy_window()` invokes `xwl_present_cleanup()`
 4025     before the common `DestroyWindow()`.
 4026     
 4027     But then `DestroyWindow()` calls `present_destroy_window()` which will
 4028     possibly end up in `xwl_present_abort_vblank()` which will try to access
 4029     data that was previously freed by `xwl_present_cleanup()`:
 4030     
 4031       Invalid read of size 8
 4032          at 0x434184: xwl_present_abort_vblank (xwayland-present.c:378)
 4033          by 0x53785B: present_wnmd_abort_vblank (present_wnmd.c:651)
 4034          by 0x53695A: present_free_window_vblank (present_screen.c:87)
 4035          by 0x53695A: present_destroy_window (present_screen.c:152)
 4036          by 0x42A90D: xwl_destroy_window (xwayland.c:653)
 4037          by 0x584298: compDestroyWindow (compwindow.c:613)
 4038          by 0x53CEE3: damageDestroyWindow (damage.c:1570)
 4039          by 0x4F1BB8: DbeDestroyWindow (dbe.c:1326)
 4040          by 0x46F7F6: FreeWindowResources (window.c:1031)
 4041          by 0x472847: DeleteWindow (window.c:1099)
 4042          by 0x46B54C: doFreeResource (resource.c:880)
 4043          by 0x46C706: FreeClientResources (resource.c:1146)
 4044          by 0x446ADE: CloseDownClient (dispatch.c:3473)
 4045        Address 0x182abde0 is 80 bytes inside a block of size 112 free'd
 4046          at 0x4C2FDAC: free (vg_replace_malloc.c:530)
 4047          by 0x42A937: xwl_destroy_window (xwayland.c:647)
 4048          by 0x584298: compDestroyWindow (compwindow.c:613)
 4049          by 0x53CEE3: damageDestroyWindow (damage.c:1570)
 4050          by 0x4F1BB8: DbeDestroyWindow (dbe.c:1326)
 4051          by 0x46F7F6: FreeWindowResources (window.c:1031)
 4052          by 0x472847: DeleteWindow (window.c:1099)
 4053          by 0x46B54C: doFreeResource (resource.c:880)
 4054          by 0x46C706: FreeClientResources (resource.c:1146)
 4055          by 0x446ADE: CloseDownClient (dispatch.c:3473)
 4056          by 0x446DA5: ProcKillClient (dispatch.c:3279)
 4057          by 0x4476AF: Dispatch (dispatch.c:479)
 4058        Block was alloc'd at
 4059          at 0x4C30B06: calloc (vg_replace_malloc.c:711)
 4060          by 0x433F46: xwl_present_window_get_priv (xwayland-present.c:54)
 4061          by 0x434228: xwl_present_get_crtc (xwayland-present.c:302)
 4062          by 0x539728: proc_present_query_capabilities (present_request.c:227)
 4063          by 0x4476AF: Dispatch (dispatch.c:479)
 4064          by 0x44B5B5: dix_main (main.c:276)
 4065          by 0x75F611A: (below main) (libc-start.c:308)
 4066     
 4067     This is because `xwl_present_cleanup()` frees the memory but does not
 4068     remove it from the window's privates, and `xwl_present_abort_vblank()`
 4069     will still find it and hence try to access that freed memory...
 4070     
 4071     Remove `xwl_present_window` from window's privates on cleanup so that no
 4072     other function can find and reuse that data once it's freed.
 4073     
 4074     Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1616269
 4075     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 4076     (cherry picked from commit 3f31f56929e80001970e3821ed8b10c6075df8e6)
 4077 
 4078 commit 8dd7173eeba08f1ecfb414915625c609ad4b3297
 4079 Author: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
 4080 Date:   Tue Aug 28 21:30:05 2018 +0100
 4081 
 4082     xwayland: fix access to invalid pointer
 4083     
 4084     xwl_output->randr_crtc is used in the update_screen_size() function :
 4085     
 4086     ==5331== Invalid read of size 4
 4087     ==5331==    at 0x15263D: update_screen_size (xwayland-output.c:190)
 4088     ==5331==    by 0x152C48: xwl_output_remove (xwayland-output.c:413)
 4089     ==5331==    by 0x6570FCD: ffi_call_unix64 (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
 4090     ==5331==    by 0x657093E: ffi_call (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
 4091     ==5331==    by 0x4DDB183: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 4092     ==5331==    by 0x4DD79D8: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 4093     ==5331==    by 0x4DD8EA3: wl_display_dispatch_queue_pending (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 4094     ==5331==    by 0x14BCCA: xwl_read_events (xwayland.c:814)
 4095     ==5331==    by 0x2AC0D0: ospoll_wait (ospoll.c:651)
 4096     ==5331==    by 0x2A5322: WaitForSomething (WaitFor.c:208)
 4097     ==5331==    by 0x27574B: Dispatch (dispatch.c:421)
 4098     ==5331==    by 0x279945: dix_main (main.c:276)
 4099     ==5331==  Address 0x1aacb5f4 is 36 bytes inside a block of size 154 free'd
 4100     ==5331==    at 0x48369EB: free (vg_replace_malloc.c:530)
 4101     ==5331==    by 0x1F8AE8: RROutputDestroyResource (rroutput.c:421)
 4102     ==5331==    by 0x29A2AC: doFreeResource (resource.c:880)
 4103     ==5331==    by 0x29AE5B: FreeResource (resource.c:910)
 4104     ==5331==    by 0x152BE0: xwl_output_remove (xwayland-output.c:408)
 4105     ==5331==    by 0x6570FCD: ffi_call_unix64 (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
 4106     ==5331==    by 0x657093E: ffi_call (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
 4107     ==5331==    by 0x4DDB183: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 4108     ==5331==    by 0x4DD79D8: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 4109     ==5331==    by 0x4DD8EA3: wl_display_dispatch_queue_pending (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 4110     ==5331==    by 0x14BCCA: xwl_read_events (xwayland.c:814)
 4111     ==5331==    by 0x2AC0D0: ospoll_wait (ospoll.c:651)
 4112     ==5331==  Block was alloc'd at
 4113     ==5331==    at 0x48357BF: malloc (vg_replace_malloc.c:299)
 4114     ==5331==    by 0x1F93E0: RROutputCreate (rroutput.c:83)
 4115     ==5331==    by 0x152A75: xwl_output_create (xwayland-output.c:361)
 4116     ==5331==    by 0x14BE59: registry_global (xwayland.c:764)
 4117     ==5331==    by 0x6570FCD: ffi_call_unix64 (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
 4118     ==5331==    by 0x657093E: ffi_call (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
 4119     ==5331==    by 0x4DDB183: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 4120     ==5331==    by 0x4DD79D8: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 4121     ==5331==    by 0x4DD8EA3: wl_display_dispatch_queue_pending (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 4122     ==5331==    by 0x14BCCA: xwl_read_events (xwayland.c:814)
 4123     ==5331==    by 0x2AC0D0: ospoll_wait (ospoll.c:651)
 4124     ==5331==    by 0x2A5322: WaitForSomething (WaitFor.c:208)
 4125     
 4126     Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
 4127     Reviewed-by: Daniel Stone <daniels@collabora.com>
 4128     (cherry picked from commit 53ce2ba0a19af9c549f47a4cc678afcebeb6087e)
 4129 
 4130 commit 1191b23f942cace785234f5d7fac972251c8f1db
 4131 Author: Olivier Fourdan <ofourdan@redhat.com>
 4132 Date:   Wed Sep 5 15:20:17 2018 +0200
 4133 
 4134     glx: check for indirect context in CreateContextAttribsARB()
 4135     
 4136     Commit 99f0365b "Add a command line argument for disabling indirect GLX"
 4137     added a test to check if indirect context are enabled in
 4138     `DoCreateContext()` but `__glXDisp_CreateContextAttribsARB()` doesn't
 4139     use `DoCreateContext()` and doesn't check if indirect context is
 4140     enabled.
 4141     
 4142     As a result, clients can still manage to create indirect contexts using
 4143     `glXCreateContextAttribsARB()` even if indirect contexts are disabled,
 4144     which can possibly crash Xservers such as Xwayland or Xephyr when the
 4145     context is destroyed.
 4146     
 4147     To avoid the issue, check for `enableIndirectGLX` in
 4148     `__glXDisp_CreateContextAttribsARB()` as well.
 4149     
 4150     Fixes: 99f0365b "Add a command line argument for disabling indirect GLX"
 4151     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107508
 4152     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 4153     (cherry picked from commit 75448671abe2c6ae3745eb5d2ed2e76df2de9c41)
 4154 
 4155 commit 1b0db2c74258d20e3f99bd69c2914fd445abe920
 4156 Author: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
 4157 Date:   Mon Aug 27 01:04:45 2018 +0100
 4158 
 4159     present: fix freed pointer access
 4160     
 4161     When a vblank has been marked as aborted, it's going to be free in the
 4162     flip_notify function when stopped. We can't notify it after it's
 4163     stopped because the pointer is invalid.
 4164     
 4165     Valgrind backtrace:
 4166     
 4167     ==5331== Invalid read of size 8
 4168     ==5331==    at 0x212B4D: present_vblank_notify (present_vblank.c:34)
 4169     ==5331==    by 0x21439B: present_wnmd_flip_notify (present_wnmd.c:194)
 4170     ==5331==    by 0x21439B: present_wnmd_event_notify (present_wnmd.c:228)
 4171     ==5331==    by 0x156216: xwl_present_sync_callback (xwayland-present.c:282)
 4172     ==5331==    by 0x6570FCD: ffi_call_unix64 (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
 4173     ==5331==    by 0x657093E: ffi_call (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
 4174     ==5331==    by 0x4DDB183: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 4175     ==5331==    by 0x4DD79D8: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 4176     ==5331==    by 0x4DD8EA3: wl_display_dispatch_queue_pending (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 4177     ==5331==    by 0x14BCCA: xwl_read_events (xwayland.c:814)
 4178     ==5331==    by 0x2AC0D0: ospoll_wait (ospoll.c:651)
 4179     ==5331==    by 0x2A5322: WaitForSomething (WaitFor.c:208)
 4180     ==5331==    by 0x27574B: Dispatch (dispatch.c:421)
 4181     ==5331==  Address 0x1b44dc98 is 40 bytes inside a block of size 184 free'd
 4182     ==5331==    at 0x48369EB: free (vg_replace_malloc.c:530)
 4183     ==5331==    by 0x213B0A: present_wnmd_free_idle_vblanks (present_wnmd.c:118)
 4184     ==5331==    by 0x213B0A: present_wnmd_flips_stop (present_wnmd.c:161)
 4185     ==5331==    by 0x2143EF: present_wnmd_flip_notify (present_wnmd.c:192)
 4186     ==5331==    by 0x2143EF: present_wnmd_event_notify (present_wnmd.c:228)
 4187     ==5331==    by 0x156216: xwl_present_sync_callback (xwayland-present.c:282)
 4188     ==5331==    by 0x6570FCD: ffi_call_unix64 (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
 4189     ==5331==    by 0x657093E: ffi_call (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
 4190     ==5331==    by 0x4DDB183: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 4191     ==5331==    by 0x4DD79D8: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 4192     ==5331==    by 0x4DD8EA3: wl_display_dispatch_queue_pending (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
 4193     ==5331==    by 0x14BCCA: xwl_read_events (xwayland.c:814)
 4194     ==5331==    by 0x2AC0D0: ospoll_wait (ospoll.c:651)
 4195     ==5331==    by 0x2A5322: WaitForSomething (WaitFor.c:208)
 4196     ==5331==  Block was alloc'd at
 4197     ==5331==    at 0x48377D5: calloc (vg_replace_malloc.c:711)
 4198     ==5331==    by 0x212D9F: present_vblank_create (present_vblank.c:69)
 4199     ==5331==    by 0x214014: present_wnmd_pixmap (present_wnmd.c:610)
 4200     ==5331==    by 0x21576C: proc_present_pixmap (present_request.c:150)
 4201     ==5331==    by 0x27599D: Dispatch (dispatch.c:479)
 4202     ==5331==    by 0x279945: dix_main (main.c:276)
 4203     ==5331==    by 0x633AB16: (below main) (libc-start.c:310)
 4204     
 4205     v2: Still notify aborted flips (Roman)
 4206     
 4207     Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
 4208     Reviewed-by: Daniel Stone <daniels@collabora.com>
 4209     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107314
 4210     Reviewed-by: Roman Gilg <subdiff@gmail.com>
 4211     Tested-by: Roman Gilg <subdiff@gmail.com>
 4212     (cherry picked from commit ce271535adb6974e0a43bb64c8ed7a5dcaff67a2)
 4213 
 4214 commit 48300a7775b4ff3200de200e8c5502d99bd99104
 4215 Author: Scott Anderson <scott@anderso.nz>
 4216 Date:   Mon Aug 6 18:09:26 2018 +1200
 4217 
 4218     xwayland: use wayland axis_discrete event
 4219     
 4220     This prevents multiple scroll events happening for wayland compositors
 4221     which send axis values other than 10. For example, libinput will
 4222     typically return 15 for each scroll wheel step, and if a wayland
 4223     compositor sends those to xwayland without normalising them, 2 scroll
 4224     wheel steps will end up as 3 xorg scroll events. By listening for the
 4225     discrete_axis event, this will now correctly send only 2 xorg scroll
 4226     events.
 4227     
 4228     The wayland protocol gurantees that there will always be an axis event
 4229     following an axis_discrete event. However, it does not gurantee that
 4230     other events (including other axis_discrete+axis pairs) will not happen
 4231     in between them. So we must keep a list of outstanding axis_discrete
 4232     events.
 4233     
 4234     Signed-off-by: Scott Anderson <scott@anderso.nz>
 4235     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 4236     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 4237     (cherry picked from commit cd285922cdec966825e47220b1182a57abc1ff90)
 4238 
 4239 commit cd19a752f8bbc6caae7bf2457c53c850121fe9b7
 4240 Author: Jim Qu <Jim.Qu@amd.com>
 4241 Date:   Mon Aug 27 13:37:38 2018 +0800
 4242 
 4243     modesetting: code refactor for PRIME sync
 4244     
 4245     The X will be crashed on the system with other DDX driver,
 4246     such as amdgpu.
 4247     
 4248     show the log like:
 4249     
 4250     randr: falling back to unsynchronized pixmap sharing
 4251     (EE)
 4252     (EE) Backtrace:
 4253     (EE) 0: /usr/lib/xorg/Xorg (xorg_backtrace+0x4e)
 4254     (EE) 1: /usr/lib/xorg/Xorg (0x55cb0151a000+0x1b5ce9)
 4255     (EE) 2: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7f1587a1d000+0x11390)
 4256     (EE)
 4257     (EE) Segmentation fault at address 0x0
 4258     (EE)
 4259     
 4260     The issue is that modesetting as the master, and amdgpu as the slave.
 4261     Thus, when the master attempts to access pSlavePixPriv in ms_dirty_update(),
 4262     problems result due to the fact that it's accessing AMD's 'ppriv' using the
 4263     modesetting structure definition.
 4264     
 4265     Apart from fixing crash issue, the patch fix other issue in master interface
 4266     in which driver should refer to master pixmap.
 4267     
 4268     Signed-off-by: Jim Qu <Jim.Qu@amd.com>
 4269     Reviewed-by: Alex Goins <agoins@nvidia.com>
 4270     (cherry picked from commit f79e5368512b72bb463925983d265b070261b7aa)
 4271 
 4272 commit 5396a4aa084853805a73a2cfbbce156c47573916
 4273 Author: Alex Goins <agoins@nvidia.com>
 4274 Date:   Tue Aug 14 15:05:46 2018 -0500
 4275 
 4276     randr: rrCheckPixmapBounding should only increase screen size
 4277     
 4278     The purpose of rrCheckPixmapBounding() is to make sure that the fb is large
 4279     enough to accommodate the region scanned out by a GPU screen. Currently, however,
 4280     it will actually shrink the fb if it's larger than it needs to be.
 4281     
 4282     This is a problem when combining PRIME output slaving with arbitrary transforms
 4283     with xrandr.
 4284     
 4285     Although arbitrary transforms are not supposed to constrain the size of the fb
 4286     (https://lists.freedesktop.org/archives/xorg-devel/2018-January/055563.html),
 4287     xrandr will use RRSetScreenSize to resize the desktop to accommodate scaling
 4288     transforms, e.g. scaling a 1920x1080 display to 3840x2160 will result in a
 4289     desktop size of 3840x2160.
 4290     
 4291     In the case of PRIME, rrCheckPixmapBounding() will be called after
 4292     RRSetScreenSize() and it will resize the fb back down to what it would be
 4293     without the scaling transform, e.g. 1920x1080. This represents divergence in
 4294     behavior between PRIME and non-PRIME outputs.
 4295     
 4296     I had originally made rrCheckPixmapBounding() account for arbitrary transforms,
 4297     but realized that the fb being large enough to accommodate arbitrary transforms
 4298     is not a hard requirement enforced in the server. Instead, this change simply
 4299     makes it so that rrCheckPixmapBounding() will only resize the fb to be larger
 4300     than it already is, preventing it from stepping on prior requests to increase
 4301     the size of the fb.
 4302     
 4303     Signed-off-by: Alex Goins <agoins@nvidia.com>
 4304     Reviewed-by: Keith Packard <keithp@keithp.com>
 4305     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
 4306     (cherry picked from commit a90f33721eba7f2dbde4a7278f1a213d696c85e9)
 4307 
 4308 commit 051a0efc5c28fb4be1199d73d59e0e4d329b1144
 4309 Author: Peter Hutterer <peter.hutterer@who-t.net>
 4310 Date:   Wed Aug 8 15:22:41 2018 +1000
 4311 
 4312     dix: check_modmap_change() returns Success, not true
 4313     
 4314     Not sure what if anything calls XSetDeviceModifierMapping() but this would've
 4315     failed all the time. check_modmap_change() returns Success but we were
 4316     treating it like a boolean. Fix this.
 4317     
 4318     Reported-by: Adam Jackson <ajax@redhat.com>
 4319     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 4320     Reviewed-by: Keith Packard <keithp@keithp.com>
 4321     (cherry picked from commit 4fe02b8da3ca58500f7e6e017e388907cf4a8b73)
 4322 
 4323 commit 1508ea68065b7976dbf56039f9b20dcaf0394431
 4324 Author: Adam Jackson <ajax@redhat.com>
 4325 Date:   Tue Aug 7 12:26:05 2018 -0400
 4326 
 4327     xserver 1.20.1
 4328     
 4329     Signed-off-by: Adam Jackson <ajax@redhat.com>
 4330 
 4331 commit 101d15c7634b26eafb3c5f2edb7cafde102ce208
 4332 Author: Keith Packard <keithp@keithp.com>
 4333 Date:   Tue Jun 26 09:20:00 2018 -0700
 4334 
 4335     During reset/shutdown, clean up leases in DIX instead of each driver
 4336     
 4337     Instead of having every video driver loop over any pending leases to
 4338     free them during CloseScreen, do this up in the DIX layer by
 4339     terminating leases when a leased CRTC or Output is destroyed and
 4340     (just to make sure), also terminating leases in RRCloseScreen. The
 4341     latter should "never" get invoked as any lease should be associated
 4342     with a resource which was destroyed.
 4343     
 4344     This is required as by the time the driver's CloseScreen function is
 4345     invoked, we've already freed all of the DIX randr structures and no
 4346     longer have any way to reference the leases
 4347     
 4348     Signed-off-by: Keith Packard <keithp@keithp.com>
 4349     Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=106960
 4350     Cc: Thomas Hellstrom <thellstrom@vmware.com>
 4351     (cherry picked from commit 1ef7aed3e2bb2af32330f19b1e7560000512ddfe)
 4352 
 4353 commit 9347326d28fffc7534cad0b084539e936aacfd45
 4354 Author: Peter Hutterer <peter.hutterer@who-t.net>
 4355 Date:   Wed Jul 18 13:22:43 2018 +1000
 4356 
 4357     Xext: dynamically allocate the PanoramiXDepths[j].vids array
 4358     
 4359     Control flow is:
 4360        PanoramiXMaybeAddDepth() allocates an array size 240 (pDepth->numVisuals)
 4361        PanoramiXMaybeAddVisual() finds up to 270 matches (pScreen->numVisuals)
 4362        and writes those into the previously allocated array.
 4363     
 4364     This caused invalid reads/writes followed by eventually a double-free abort.
 4365     
 4366     Reproduced with xorg-integration-tests server test
 4367     XineramaTest.ScreenCrossing/* (and a bunch of others).
 4368     
 4369     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 4370     Reviewed-by: Keith Packard <keithp@keithp.com>
 4371     (cherry picked from commit 93cafb0828d2e24bd14616df1aa9883fb843dd6c)
 4372 
 4373 commit cbf1ca2dba7bc3561cf1a8023e5e18706adbdba6
 4374 Author: emersion <contact@emersion.fr>
 4375 Date:   Fri Jul 13 15:51:26 2018 -0400
 4376 
 4377     xwayland: rotate logical size for RRMode
 4378     
 4379     The logical size is the size of the output in the global compositor
 4380     space. The mode width/height should be scaled as in the logical
 4381     size, but shouldn't be transformed. Thus we need to rotate back
 4382     the logical size to be able to use it as the mode width/height.
 4383     
 4384     This fixes issues with pointer input on transformed outputs.
 4385     
 4386     Signed-Off-By: Simon Ser <contact@emersion.fr>
 4387     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 4388     (cherry picked from commit ce2dde9ed0243a18ae18af0879134f7c1afbd700)
 4389 
 4390 commit 18a52a8e16046d8cabea6cf45913bf0b5be07709
 4391 Author: Olivier Fourdan <ofourdan@redhat.com>
 4392 Date:   Wed Jul 25 16:33:23 2018 +0200
 4393 
 4394     xwayland: Enable DRI3 for glamor
 4395     
 4396     glamor_fds_from_pixmap() will bail out early if DRI3 is not enabled,
 4397     unfortunately Xwayland's glamor code would not set it as enabled which
 4398     would lead to blank pixmaps when using texture from pixmap.
 4399     
 4400     Make sure to mark DRI3 as enabled from glamor_egl_screen_init() in
 4401     Xwayland.
 4402     
 4403     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107287
 4404     Fixes: c8c276c956 ("glamor: Implement PixmapFromBuffers and BuffersFromPixmap")
 4405     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 4406     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
 4407     (cherry picked from commit cdec2b3c195d1d080207ef01c55ff14b45370010)
 4408 
 4409 commit c256e31a9eba20da259f31ee70d1c8e1870993f1
 4410 Author: Takashi Iwai <tiwai@suse.de>
 4411 Date:   Thu Jul 19 14:38:19 2018 +0200
 4412 
 4413     modesetting: Fix cirrus 24bpp breakage
 4414     
 4415     The recent rewrite of modesetting driver broke the 24bpp support.
 4416     As typically found on cirrus KMS, it leads to a blank screen, spewing
 4417     the error like:
 4418       failed to add fb -22
 4419       (EE) modeset(0): failed to set mode: Invalid argument
 4420     
 4421     The culript is that the wrong bpp value of the front buffer is passed
 4422     to drmModeAddFB().  Fix it by replacing with the back buffer bpp,
 4423     drmmode->kbpp.
 4424     
 4425     Signed-off-by: Takashi Iwai <tiwai@suse.de>
 4426     Tested-by: Stefan Dirsch <sndirsch@suse.de>
 4427     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4428     (cherry picked from commit d625e16918ef9104863709eb108346464767c444)
 4429 
 4430 commit 2da0bde4498cf4ee422e5a2cb2c53cbbb73df937
 4431 Author: Matt Turner <mattst88@gmail.com>
 4432 Date:   Tue May 22 21:10:55 2018 -0700
 4433 
 4434     xfree86: Inline xf86{Read,Write}Mmio{8,16,32} on alpha
 4435     
 4436     In commit 9db2af6f757e (xfree86: Remove xf86{Map,Unmap}VidMem) we
 4437     somehow stopped exporting xf86{Read,Write}Mmio{8,16,32}. Since the
 4438     function pointer indirection was intended to support dense vs sparse and
 4439     sparse support is now gone, we can just make the functions static inline
 4440     in compiler.h and avoid all of this.
 4441     
 4442     Bugzilla: https://bugs.gentoo.org/548906
 4443     Tested-by: Christopher May-Townsend <chris@maytownsend.co.uk>
 4444     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4445     Signed-off-by: Matt Turner <mattst88@gmail.com>
 4446     (cherry picked from commit 166ac294aefe21a6cfcc0e7a4c9525eef49c2f0c)
 4447 
 4448 commit b9e9eda08bd9198a6d089acd5d50677cd8713b33
 4449 Author: Stefan Agner <stefan@agner.ch>
 4450 Date:   Thu Dec 22 15:41:06 2016 +0100
 4451 
 4452     modesetting: Fix 16 bit depth/bpp mode
 4453     
 4454     When setting DefaultDepth to 16 in the Screen section, the current
 4455     code requests a 32 bpp framebuffer, however the X-Server seems to
 4456     assumes 16 bpp.
 4457     
 4458     Fixes commit 21217d02168d ("modesetting: Implement 32->24 bpp
 4459     conversion in shadow update")
 4460     
 4461     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4462     Signed-off-by: Stefan Agner <stefan@agner.ch>
 4463     (cherry picked from commit 1c7f34e99ff9750979a03ae20c6be1f2b42c284c)
 4464 
 4465 commit 5c0662d44852363fe258c045250710ed881e56b7
 4466 Author: Lyude Paul <lyude@redhat.com>
 4467 Date:   Fri Jun 22 12:49:47 2018 -0400
 4468 
 4469     meson: ensure the libc has RPC functions when secure-rpc is enabled
 4470     
 4471     Currently our meson.build just makes the assumption that the libc is
 4472     going to provide RPC functions. This doesn't actually seem to be the
 4473     case on Fedora, which causes compilation to fail unexpectedly:
 4474     
 4475     ../../Projects/xserver/os/rpcauth.c:47:10: fatal error: rpc/rpc.h: No such file or directory
 4476      #include <rpc/rpc.h>
 4477               ^~~~~~~~~~~
 4478     compilation terminated.
 4479     
 4480     So, in the event that we can't use libtirpc ensure that we actually
 4481     check whether or not the libc provides rpc/rpc.h. If it doesn't, raise
 4482     an error.
 4483     
 4484     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4485     Signed-off-by: Lyude Paul <lyude@redhat.com>
 4486     (cherry picked from commit d95a1310ef8e08a93a28f9766d1b4093f7891404)
 4487 
 4488 commit 10285bc36b411edd923ee5d369244647ba2b714b
 4489 Author: Keith Packard <keithp@keithp.com>
 4490 Date:   Tue Jun 26 16:34:29 2018 -0700
 4491 
 4492     xf86-video-modesetting: Lease planes as well if using atomic
 4493     
 4494     If we're using atomic modesetting, then we're also using universal
 4495     planes, and so the lease we create needs to include the plane.
 4496     
 4497     Signed-off-by: Keith Packard <keithp@keithp.com>
 4498     Reviewed-by: Daniel Stone <daniels@collabora.com>
 4499     (cherry picked from commit d83efc47b7a524b4f8d4a993c27a3e402a98fa7c)
 4500 
 4501 commit a530198ac0ffdc4c268d13e59079f7583930a284
 4502 Author: Keith Packard <keithp@keithp.com>
 4503 Date:   Tue Jun 26 14:05:31 2018 -0700
 4504 
 4505     xf86-video-modesetting: Don't enable UNIVERSAL_PLANES separately
 4506     
 4507     We don't want universal_planes unless we're using atomic APIs for
 4508     modesetting, and the kernel already enables universal_planes
 4509     automatically when atomic is enabled.
 4510     
 4511     If we enable universal_planes when we're not using atomic, then we
 4512     won't have selected a plane for each crtc, and this will break lease
 4513     creation which requires planes for each output when universal_planes
 4514     is enabled.
 4515     
 4516     Signed-off-by: Keith Packard <keithp@keithp.com>
 4517     Reviewed-by: Daniel Stone <daniels@collabora.com>
 4518     (cherry picked from commit 4a11f66e4690f9e94dc61cb264f5ef78dbdb255a)
 4519 
 4520 commit cd7680adccdf8f6905a83ae08cbde7ac76693fe5
 4521 Author: Keith Packard <keithp@keithp.com>
 4522 Date:   Thu Jun 28 11:45:16 2018 -0700
 4523 
 4524     xfree86: Wrap RRCrtcIsLeased and RROutputIsLeased to check for DIX structures
 4525     
 4526     Before DIX structures are allocated for crtcs and outputs, we don't
 4527     want to call DIX randr code with NULL pointers. This can happen if the
 4528     driver sets video modes early in server initialization, which Nouveau
 4529     does in zaphod mode.
 4530     
 4531     Cc: thellstrom@vmware.com
 4532     Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=106772
 4533     Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=106960
 4534     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4535     Signed-off-by: Keith Packard <keithp@keithp.com>
 4536     (cherry picked from commit 2faf4cef8bcf9bb2034a27219a656ea7221afc6c)
 4537 
 4538 commit ebd4cd71f49151fb699cf45e835f3719e6b31bf5
 4539 Author: Keith Packard <keithp@keithp.com>
 4540 Date:   Thu Jun 28 11:45:15 2018 -0700
 4541 
 4542     xfree86: Reset randr_crtc and randr_output early in xf86CrtcCloseScreen
 4543     
 4544     The DIX crtc and output structures are freed when their resources are
 4545     destroyed, which happens before CloseScreen is called. As a result, we
 4546     know these pointers are invalid and referencing them during any of the
 4547     remaining CloseScreen sequence will be bad.
 4548     
 4549     Reviewed-by: Adam Jackson <ajax@redhat.com>
 4550     Signed-off-by: Keith Packard <keithp@keithp.com>
 4551     Cc: thellstrom@vmware.com
 4552     Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=106960
 4553     (cherry picked from commit c55a44a9a86aaece17c1a2e73c77e3e665c4888e)
 4554 
 4555 commit 1f169d5b38d93d725029d5f7dc237b558e8bb137
 4556 Author: Jon Turney <jon.turney@dronecode.org.uk>
 4557 Date:   Sat Jun 30 12:53:35 2018 +0100
 4558 
 4559     meson: use absolute paths in manpage substitutions
 4560     
 4561     paths returned by get_option('foodir') are potentially relative to prefix
 4562     
 4563     Noticed when comparing manpages generated by a meson build with those
 4564     generated by an autotools build
 4565     
 4566     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 4567     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 4568     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 4569     (cherry picked from commit 49283e238a0ba6051034ae635e5970891f17f9df)
 4570 
 4571 commit bc1882aa23a129c4b72b0bfc132cfd04db801a90
 4572 Author: Keith Packard <keithp@keithp.com>
 4573 Date:   Thu Jan 18 18:07:29 2018 -0800
 4574 
 4575     modesetting: Allow a DRM fd to be passed on command line with -masterfd [v2]
 4576     
 4577     This lets an application open a suitable DRM device and pass the file
 4578     descriptor to the mode setting driver through an X server command line
 4579     option, '-masterfd'.
 4580     
 4581     There's a companion application, xlease, which creates a DRM master by
 4582     leasing an output from another X server. That is available at
 4583     
 4584             git clone git://people.freedesktop.org/~keithp/xlease
 4585     
 4586     v2:
 4587             Always print usage, but note that it can't be used if
 4588             setuid/gid
 4589     
 4590             Suggested-by: Lyude Paul <lyude@redhat.com>
 4591     
 4592     Signed-off-by: Keith Packard <keithp@keithp.com>
 4593     Reviewed-by: Lyude Paul <lyude@redhat.com>
 4594     (cherry picked from commit 38ff29ec8ead0a293f50ac52146199babe4205ca)
 4595 
 4596 commit d60ce5b01f5988abc9957473d7175872c8845b08
 4597 Author: Laurent Carlier <lordheavym@gmail.com>
 4598 Date:   Sat Jun 16 13:00:01 2018 +0200
 4599 
 4600     meson: Add configuration of listening on tcp, unix and local
 4601     
 4602     bugzilla: https://bugs.kde.org/show_bug.cgi?id=395419
 4603     bugzilla: https://bugs.archlinux.org/task/59025
 4604     
 4605     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 4606     Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
 4607     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 4608     (cherry picked from commit 2f39b2a07805194fdd7def30d941666963d6e670)
 4609 
 4610 commit 79795bf9df395001c8d659ac8d28090ea9cefc8d
 4611 Author: Lyude Paul <lyude@redhat.com>
 4612 Date:   Wed Jun 27 20:29:42 2018 -0400
 4613 
 4614     modesetting: Fix uninitialized memory usage in drmmode_crtc_get_fb_id()
 4615     
 4616     This really sucked to find out :(
 4617     
 4618     Signed-off-by: Lyude Paul <lyude@redhat.com>
 4619     Reviewed-by: Karol Herbst <kherbst@redhat.com>
 4620     (cherry picked from commit c41d4ff48f72aa964afd131b59e1538295d062dc)
 4621 
 4622 commit 820ce7cb8bb07018de89e13aa50ae6090f2d84eb
 4623 Author: Thomas Hellstrom <thellstrom@vmware.com>
 4624 Date:   Wed Jun 20 19:23:48 2018 +0200
 4625 
 4626     glamor: Work around GEM usage v2
 4627     
 4628     KMS drivers are not required to support GEM. In particular, vmwgfx
 4629     doesn't support flink and handles and names are identical.
 4630     Getting a bo name should really be part of a lower level API, if needed,
 4631     but in the mean time work around this by setting the name identical to
 4632     the handle if GEM isn't supported.
 4633     
 4634     This fixes modesetting driver dri2 on vmwgfx.
 4635     
 4636     Reviewed-by: Deepak Rawat <drawat@vmware.com>
 4637     Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
 4638     (cherry picked from commit 9f02855e7a1b7a3c1e2ee7bfbc73e87c29126920)
 4639 
 4640 commit ba6a9283817254dca90fd8f9ee695504e7c20908
 4641 Author: Lyude Paul <lyude@redhat.com>
 4642 Date:   Wed Jun 20 19:12:32 2018 -0400
 4643 
 4644     randr: Scream when creating a shared pixmap fails
 4645     
 4646     This seems like a problem worth screaming about.
 4647     
 4648     Signed-off-by: Lyude Paul <lyude@redhat.com>
 4649     Reviewed-by: Dave Airlie <airlied@redhat.com>
 4650     (cherry picked from commit dc90b1c3c328f1d0b022a234b69ef32bda7ccb01)
 4651 
 4652 commit 91ec6245d6269a88a3f3ecd10fa7a7b326b0a616
 4653 Author: Lyude Paul <lyude@redhat.com>
 4654 Date:   Wed Jun 20 19:12:31 2018 -0400
 4655 
 4656     glamor: Unbreak glamor_fd_from_pixmap()
 4657     
 4658     When support for allocating GBM BOs with modifiers was added,
 4659     glamor_fd_from_pixmap() was changed so that it would return an error if
 4660     it got a bo with modifiers set from glamor_fds_from_pixmap(). The
 4661     problem is that on systems that support BOs with modifiers,
 4662     glamor_fds_from_pixmap() will always return BOs with modifiers.
 4663     
 4664     This means that glamor_fd_from_pixmap() was broken entirely, which broke
 4665     a number of other things including glamor_shareable_fd_from_pixmap(),
 4666     which meant that modesetting using multiple GPUs with the modesetting
 4667     DDX was also broken. Easy reproducer:
 4668     
 4669     - Find a laptop with DRI prime that has outputs connected to the
 4670       dedicated GPU and integrated GPU
 4671     - Try to enable one display on each using the modesetting DDX
 4672     - Fail
 4673     
 4674     Since there isn't a way to ask for no modifiers from
 4675     glamor_fds_from_pixmap, we create a shared _glamor_fds_from_pixmap()
 4676     function used by both glamor_fds_from_pixmap() and
 4677     glamor_fd_from_pixmap() that calls down to the appropriate
 4678     glamor_egl_fd*_from_pixmap() function.
 4679     
 4680     Signed-off-by: Lyude Paul <lyude@redhat.com>
 4681     Reviewed-by: Dave Airlie <airlied@redhat.com>
 4682     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 4683     Fixes: c8c276c956 ("glamor: Implement PixmapFromBuffers and BuffersFromPixmap")
 4684     (cherry picked from commit 186a21c4bac744ffe645c8d1a6dda2d41c6d33d8)
 4685 
 4686 commit 821f38fa56087fcb11d2d2483366307fc88bf365
 4687 Author: Lyude Paul <lyude@redhat.com>
 4688 Date:   Thu Jun 7 20:30:34 2018 -0400
 4689 
 4690     modesetting: Also disable CRTC in drmmode_output_disable()
 4691     
 4692     So, this did actually work on older kernels at one point in time,
 4693     however it seems that this working was a result of some of the Linux
 4694     kernel's atomic modesetting helpers not preserving the CRTC's enabled
 4695     state in the right spots. This was fixed in:
 4696     
 4697     846c7dfc1193 ("drm/atomic: Try to preserve the crtc enabled state in drm_atomic_remove_fb, v2")
 4698     
 4699     As a result, atomic commits which simply disassociate a DRM connector
 4700     with it's CRTC while leaving the CRTC in an enabled state aren't enough
 4701     to disable the CRTC, and result in the atomic commit failing. This
 4702     currently can cause issues with MST hotplugging where X will end up
 4703     failing to disable the MST outputs after they've left the system. A
 4704     simple reproducer:
 4705     
 4706     - Start up Xorg
 4707     - Connect an MST hub with displays connected to it
 4708     - Remove the hub
 4709     - Now there should be CRTCs stuck on the orphaned MST connectors, and X
 4710       won't be able to reclaim them.
 4711     
 4712     Signed-off-by: Lyude Paul <lyude@redhat.com>
 4713     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 4714     Reviewed-by: Dave Airlie <airlied@redhat.com>
 4715     (cherry picked from commit c12f1bd4b76088ea66e3bec9ab9721a52b20cdf2)
 4716 
 4717 commit 2f4d0d84266b82d8838b8b9b7972f45d66f0e2d1
 4718 Author: Olivier Fourdan <ofourdan@redhat.com>
 4719 Date:   Fri Jun 15 08:57:12 2018 +0200
 4720 
 4721     modesetting: use drmmode_bo_import() for rotate_fb
 4722     
 4723     drmmode_shadow_allocate() still uses drmModeAddFB() which may fail if
 4724     the format is not as expected, preventing from using a rotated output.
 4725     
 4726     Change it to use the new function drmmode_bo_import() which takes care
 4727     of calling the drmModeAddFB2() API.
 4728     
 4729     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106715
 4730     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 4731     Tested-by: Tomas Pelka <tpelka@redhat.com>
 4732     Reviewed-by: Lyude Paul <lyude@redhat.com>
 4733     (cherry picked from commit a85e94a50c94b07574c8701a3ff3c1243f4257f4)
 4734 
 4735 commit 394ed02f8761c7599fa08628a4d28d34337028f6
 4736 Author: John Lumby <johnlumby@hotmail.com>
 4737 Date:   Tue Jun 26 17:14:34 2018 -0700
 4738 
 4739     Change the DPMS initialization to be conditional on not set from config
 4740     
 4741     Any DPMS timeout values set in ServerFlags section of the xorg.conf
 4742     are being overwritten by DPMS extension initialization.  Therefore
 4743     change the DPMS initialization of timeout values to be conditional on
 4744     not set from config.
 4745     
 4746     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106963
 4747     Signed-off-by: John Lumby <johnlumby@hotmail.com>
 4748     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 4749     Signed-off-by: Keith Packard <keithp@keithp.com>
 4750     (cherry picked from commit f5aace7a27d6d61068dcae46c9756b669ab51d50)
 4751 
 4752 commit 8c2f0f8cbdba04f3d2eb65e3ea98f809545f8e87
 4753 Author: Damien Leone <dleone@nvidia.com>
 4754 Date:   Mon Jun 18 16:24:28 2018 -0700
 4755 
 4756     os: Recompute whether any clients are ready after check_timers()
 4757     
 4758     If a driver calls AttendClient() from within a timer callback we
 4759     need to re-compute the local 'are_ready' to prevent the attended
 4760     client from waiting until WaitForSomething() times out.
 4761     
 4762     This is a fix similar to commit 9ed5b263.
 4763     
 4764     Signed-off-by: Damien Leone <dleone@nvidia.com>
 4765     Reviewed-by: Keith Packard <keithp@keithp.com>
 4766     (cherry picked from commit f33cb4264387ed14a586ba080885b4d21e4aa48b)
 4767 
 4768 commit 180ab06d4564579cf05cb44c2533ac914b68be77
 4769 Author: Olivier Fourdan <ofourdan@redhat.com>
 4770 Date:   Mon Jun 11 09:21:08 2018 +0200
 4771 
 4772     xwayland: mandatory EGL backend API
 4773     
 4774     The API init_wl_registry() and has_wl_interfaces() are marked as being
 4775     optional, but both GBM And EGLStream backends implement them so there is
 4776     point in keeping those optional.
 4777     
 4778     Suggested-by: Emil Velikov <emil.velikov@collabora.com>
 4779     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 4780     (cherry picked from commit 92daeb31fa3235dc791e0444b072ec4bbc6e35ab)
 4781 
 4782 commit c641d10ef04475f2898cc40536bd5a03371f2761
 4783 Author: Olivier Fourdan <ofourdan@redhat.com>
 4784 Date:   Mon Jun 11 09:13:30 2018 +0200
 4785 
 4786     xwayland: simplify xwl_glamor_pixmap_get_wl_buffer()
 4787     
 4788     When retrieving the Wayland buffer from a pixmap, if the buffer already
 4789     exists, the GBM backend will return that existing buffer.
 4790     
 4791     However, as seen with the Present issues, if the call had previously
 4792     passed a wrong size, that buffer will remain at the wrong size for as
 4793     long as the buffer exists, which is error prone.
 4794     
 4795     Considering that the width/height passed to get_wl_buffer() is always the
 4796     actual pixmap  drawable size, and considering that the EGLStream backend
 4797     makes no use of the size either, there is really no point in passing the
 4798     width/height around.
 4799     
 4800     Simplify the xwl_glamor_pixmap_get_wl_buffer() and EGL backends API by
 4801     removing the pixmap size, and use the drawable size instead.
 4802     
 4803     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 4804     (cherry picked from commit 792359057bd54548555674d2d309c0cfeebac12d)
 4805 
 4806 commit 79ebd7f689492314067fc863510ad44683b67e64
 4807 Author: Olivier Fourdan <ofourdan@redhat.com>
 4808 Date:   Tue Jun 5 19:38:45 2018 +0200
 4809 
 4810     xwayland: EGL_IMG_context_priority required by EGLStream
 4811     
 4812     xwl_glamor_eglstream_init_egl() uses "EGL_IMG_context_priority"
 4813     extension, make sure it's actually available before using it.
 4814     
 4815     Suggested-by: Emil Velikov <emil.velikov@collabora.com>
 4816     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 4817     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 4818     (cherry picked from commit bdadaa25f5c1f62d30d8e76b4ebfcef414ed9c90)
 4819 
 4820 commit 81969ab773ddf7bae04eb7d1cca3fe01344dcae9
 4821 Author: Olivier Fourdan <ofourdan@redhat.com>
 4822 Date:   Tue Jun 5 19:38:44 2018 +0200
 4823 
 4824     xwayland: check for EGLStream backend explicitly
 4825     
 4826     Now that we have separate backends for EGLStream and GBM, we can
 4827     explicitly check for the EGLStream backend to disable present support
 4828     in that case.
 4829     
 4830     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 4831     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 4832     (cherry picked from commit 5d843f6947538dabde258584a5795e0b25ea8779)
 4833 
 4834 commit 60020989b9759a05153f832a160e6f573d53e266
 4835 Author: Olivier Fourdan <ofourdan@redhat.com>
 4836 Date:   Tue Jun 5 19:38:43 2018 +0200
 4837 
 4838     xwayland: refactor EGL backends for wayland registry
 4839     
 4840     To be able to check for availability of the Wayland interfaces required
 4841     to run a given EGL backend (either GBM or EGLStream for now), we need
 4842     to have each backend structures and vfuncs in place before we enter the
 4843     Wayland registry dance.
 4844     
 4845     That basically means that we should init all backends at first, connect
 4846     to the Wayland compositor and query the available interfaces and then
 4847     decide which backend is available and should be used (or none if either
 4848     the Wayland interfaces or the EGL extensions are not available).
 4849     
 4850     For this purpose, hold an egl_backend struct for each backend we are to
 4851     consider prior to connect to the Wayland display so that, when we get to
 4852     query the Wayland interfaces, everything is in place for each backend to
 4853     handle the various Wayland interfaces.
 4854     
 4855     Eventually, when we need to chose which EGL backend to use for glamor,
 4856     the available Wayland interfaces and EGL extensions available are all
 4857     known to Xwayland.
 4858     
 4859     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 4860     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 4861     (cherry picked from commit d7185a84b60ed03aaa84eb522dcff365218e7211)
 4862 
 4863 commit cb698ec2ba11b827c4e6785693a83a27eec3c635
 4864 Author: Olivier Fourdan <ofourdan@redhat.com>
 4865 Date:   Tue Jun 5 19:38:42 2018 +0200
 4866 
 4867     xwayland: move EGL backend init to glamor
 4868     
 4869     Move EGL backends initialization to its own function in
 4870     xwayland-glamor.c
 4871     
 4872     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 4873     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 4874     (cherry picked from commit 48f037a27c45b571c9750ac812977ac0a33ab12b)
 4875 
 4876 commit 8ffee3a6bd8901b4c87890087b8bd2ccb4a30a5c
 4877 Author: Olivier Fourdan <ofourdan@redhat.com>
 4878 Date:   Tue Jun 5 19:38:41 2018 +0200
 4879 
 4880     xwayland: Add Wayland interfaces check
 4881     
 4882     Introduces a new egl_backend function to let the EGL backend check for
 4883     the presence of the required Wayland interfaces.
 4884     
 4885     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 4886     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 4887     (cherry picked from commit f2fcb4877e976d078b0eb4755177170467341484)
 4888 
 4889 commit aad1525180c0352ab9ea22c35405226b3afa69cc
 4890 Author: Olivier Fourdan <ofourdan@redhat.com>
 4891 Date:   Tue Jun 5 19:38:40 2018 +0200
 4892 
 4893     xwayland: move egl_backend to its own struct
 4894     
 4895     EGL backend availability requires both EGL extensions and Wayland
 4896     interfaces to be present, so we will need to consider multiple backends
 4897     during initialization.
 4898     
 4899     As a preliminary work, move the egl_backend to its own struct so that we
 4900     can have more than one backend at any given time.
 4901     
 4902     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 4903     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 4904     (cherry picked from commit b74b0f18b8d3032317e38453ee63ae9efd33a098)
 4905 
 4906 commit 831f7194b7006da14424da219661373e7d49114a
 4907 Author: Olivier Fourdan <ofourdan@redhat.com>
 4908 Date:   Tue Jun 5 19:38:39 2018 +0200
 4909 
 4910     xwayland: skip drm authentication with render node
 4911     
 4912     If using a render node, we can skip DRM authentication.
 4913     
 4914     Suggested-by: Emil Velikov <emil.velikov@collabora.com>
 4915     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 4916     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 4917     (cherry picked from commit de004eefc60ec595f5d6d81658468e082f8df930)
 4918 
 4919 commit 60eda2af0acd54e05ab794947f106f8f2d421e90
 4920 Author: Olivier Fourdan <ofourdan@redhat.com>
 4921 Date:   Tue Jun 5 19:38:38 2018 +0200
 4922 
 4923     xwayland: GBM should fail w/out "GL_OES_EGL_image"
 4924     
 4925     Surely, we should fail to init GBM backend if "GL_OES_EGL_image" is
 4926     missing.
 4927     
 4928     This seems to have been lost with commit 1545e2dba ("xwayland: Decouple
 4929     GBM from glamor").
 4930     
 4931     Suggested-by: Emil Velikov <emil.velikov@collabora.com>
 4932     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 4933     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 4934     (cherry picked from commit b823b43dca143810146f563d09e8996058b9d09e)
 4935 
 4936 commit f8e96b22bfac0733328fb9902c151003db5cc724
 4937 Author: Olivier Fourdan <ofourdan@redhat.com>
 4938 Date:   Tue Jun 5 19:38:37 2018 +0200
 4939 
 4940     xwayland: swap "name" and "id" in init_wl_registry()
 4941     
 4942     Both xwl_glamor_init_wl_registry() and the Wayland global registry
 4943     handler use the interface id/name in that order, using name/id in the
 4944     egl_backend vfunc makes things confusing and error prone.
 4945     
 4946     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 4947     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 4948     (cherry picked from commit 78ce4aa979ff3f5870fbc12a7e5c53547084a61a)
 4949 
 4950 commit 443e3348bb3c561160a2542365507179bd8dd825
 4951 Author: Olivier Fourdan <ofourdan@redhat.com>
 4952 Date:   Tue Jun 5 19:38:36 2018 +0200
 4953 
 4954     xwayland: move glamor specific routines
 4955     
 4956     Functions such as:
 4957     
 4958       xwl_glamor_egl_supports_device_probing()
 4959       xwl_glamor_egl_get_devices()
 4960       xwl_glamor_egl_device_has_egl_extensions()
 4961     
 4962     Are of no use outside of EGLStream support, move them to the relevant
 4963     source file.
 4964     
 4965     Similarly, the other glamor functions such as:
 4966     
 4967       xwl_glamor_init()
 4968       xwl_screen_set_drm_interface()
 4969       xwl_screen_set_dmabuf_interface()
 4970       xwl_glamor_pixmap_get_wl_buffer()
 4971       xwl_glamor_init_wl_registry()
 4972       xwl_glamor_post_damage()
 4973       xwl_glamor_allow_commits()
 4974       xwl_glamor_egl_make_current()
 4975     
 4976     Are useless without glamor support enabled, move those within a
 4977     a "#ifdef XWL_HAS_GLAMOR" in xwayland.h
 4978     
 4979     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 4980     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 4981     (cherry picked from commit f6b2109c1b49484af772df518314ec8e8432febe)
 4982 
 4983 commit dea40be93577dff80cf25e9b39c2aaea030b9c9e
 4984 Author: Olivier Fourdan <ofourdan@redhat.com>
 4985 Date:   Tue Jun 5 19:37:58 2018 +0200
 4986 
 4987     xwayland: make xwl_output_get_xdg_output() static
 4988     
 4989     Make xwl_output_get_xdg_output() private, it doesn't need to be
 4990     available elsewhere.
 4991     
 4992     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 4993     Reviewed-by: Lyude Paul <lyude@redhat.com>
 4994     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 4995     (cherry picked from commit d31a7be15e259275599a9f67e0d921471ae64913)
 4996 
 4997 commit 04a19291c93aaa4feeaf7a87663eaf1ef7c1f4b8
 4998 Author: Olivier Fourdan <ofourdan@redhat.com>
 4999 Date:   Tue Jun 5 19:37:57 2018 +0200
 5000 
 5001     xwayland: do not disable glamor if EGLStream failed
 5002     
 5003     EGLStream requires glamor, but the opposite is not true. So if someone
 5004     passes "-eglstream" with a GPU which does not support EGLStream, we
 5005     could maybe still try GBM and be lucky.
 5006     
 5007     That allows Wayland compositors to pass "-eglstream" regardless of the
 5008     actual hardware, if they want to enable EGLStream on GPU which support
 5009     it.
 5010     
 5011     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 5012     Reviewed-by: Lyude Paul <lyude@redhat.com>
 5013     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 5014     (cherry picked from commit e16a6da79dea793a335be70ba07d5e1c1295b5eb)
 5015 
 5016 commit de40a55235614d6114e97bd8c6f687bb555bdba8
 5017 Author: Olivier Fourdan <ofourdan@redhat.com>
 5018 Date:   Tue Jun 5 19:37:56 2018 +0200
 5019 
 5020     xwayland: process Wayland events after adding screen
 5021     
 5022     When we're done adding a new screen, we need to process any pending
 5023     Wayland events again.
 5024     
 5025     Hence we don't end up processing xdg_output events unexpectedly when
 5026     glamor is disabled. Be that because "-shm" was passed or "-eglstream"
 5027     has failed.
 5028     
 5029     Failing to do that could lead to a crash at startup:
 5030     
 5031         Xwayland: dixGetPrivateAddr: Assertion `key->initialized' failed.
 5032         (EE)
 5033         (EE) Backtrace:
 5034         (EE) 0: Xwayland (OsSigHandler)
 5035         (EE) 1: libpthread.so.0 (funlockfile)
 5036         (EE) 2: libc.so.6 (gsignal)
 5037         (EE) 3: libc.so.6 (abort)
 5038         (EE) 4: libc.so.6 (?+0x0)
 5039         (EE) 5: libc.so.6 (__assert_fail)
 5040         (EE) 6: Xwayland (dixGetPrivateAddr)
 5041         (EE) 7: Xwayland (_fbGetWindowPixmap)
 5042         (EE) 8: Xwayland (getDrawableDamageRef)
 5043         (EE) 9: Xwayland (damageRegionProcessPending)
 5044         (EE) 10: Xwayland (damagePolyFillRect)
 5045         (EE) 11: Xwayland (miPaintWindow)
 5046         (EE) 12: Xwayland (miWindowExposures)
 5047         (EE) 13: Xwayland (miHandleValidateExposures)
 5048         (EE) 14: Xwayland (SetRootClip)
 5049         (EE) 15: Xwayland (update_screen_size)
 5050         (EE) 16: Xwayland (apply_output_change)
 5051         (EE) 17: libffi.so.6 (ffi_call_unix64)
 5052         (EE) 18: libffi.so.6 (ffi_call)
 5053         (EE) 19: libwayland-client.so.0 (wl_log_set_handler_client)
 5054         (EE) 20: libwayland-client.so.0 (_init)
 5055         (EE) 21: libwayland-client.so.0 (wl_display_dispatch_queue_pending)
 5056         (EE) 22: libwayland-client.so.0 (wl_display_roundtrip_queue)
 5057         (EE) 23: Xwayland (InitInput)
 5058         (EE) 24: Xwayland (dix_main)
 5059         (EE) 25: libc.so.6 (__libc_start_main)
 5060         (EE) 26: Xwayland (_start)
 5061         (EE)
 5062         (EE)
 5063         Fatal server error:
 5064         (EE) Caught signal 6 (Aborted). Server aborting
 5065         (EE)
 5066         Aborted (core dumped)
 5067     
 5068     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 5069     Reviewed-by: Lyude Paul <lyude@redhat.com>
 5070     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 5071     (cherry picked from commit 44560af02823239e1b5b236e8cb365b5bdf24b6a)
 5072 
 5073 commit 2d31a40db5ab3dc93863dc5ed9d9865490508575
 5074 Author: Olivier Fourdan <ofourdan@redhat.com>
 5075 Date:   Tue Jun 5 19:37:55 2018 +0200
 5076 
 5077     xwayland: "EGL_EXT_device_base" required for EGLStream
 5078     
 5079     eglQueryDevicesEXT() would abort if the required extensions are not
 5080     available, meaning that enabling “-eglstream” on a non-EGLStream
 5081     capable hardware would lead to an abort().
 5082     
 5083     Check that "EGL_EXT_device_base" extension is available and bail out
 5084     early if not, so we don't abort() later in eglQueryDevicesEXT().
 5085     
 5086     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 5087     Reviewed-by: Lyude Paul <lyude@redhat.com>
 5088     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 5089     (cherry picked from commit dbde3fec32641ae23389cffa12a04d3608936795)
 5090 
 5091 commit 65d46b2dfd638f6f6c6e52f3494c64716fc6687e
 5092 Author: Olivier Fourdan <ofourdan@redhat.com>
 5093 Date:   Tue Jun 5 19:37:54 2018 +0200
 5094 
 5095     xwayland: allow "-eglstream" option
 5096     
 5097     The command line option "-eglstream" used to enable EGLStream support
 5098     for NVidia GPU was made available only when Xwayland was built with
 5099     EGLStream support enabled.
 5100     
 5101     Wayland compositors who spawn Xwayland have no easy way to tell whether
 5102     or not Xwayland was built with EGLStream support enabled, and adding
 5103     "-eglstream" command line option to Xwayland when it wasn't built with
 5104     EGLStream support would prevent Xwayland from starting (“Unrecognized
 5105     option” error).
 5106     
 5107     Make sure we support the command line option "-eglstream" regardless of
 5108     EGLStream support in Xwayland. Obviously, if Xwayland was built without
 5109     EGLStream support, this has no effect.
 5110     
 5111     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 5112     Reviewed-by: Lyude Paul <lyude@redhat.com>
 5113     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 5114     (cherry picked from commit 06c31e782e360363238cf20e7afd3e4990a2c304)
 5115 
 5116 commit 38835d1d8f613c3553149fc05e61a8bb9b0aef48
 5117 Author: Vladimir Panteleev <git@thecybershadow.net>
 5118 Date:   Wed Jun 20 13:37:45 2018 +0000
 5119 
 5120     glx/vndcmds: Fix vendor hash table key size
 5121     
 5122     The keySize parameter of the hashing/comparison functions was
 5123     incorrectly specified to be sizeof(void*), even though the keys of
 5124     this hashtable are CARD32.
 5125     
 5126     Fixes address sanitizer failure on 64-bit builds.
 5127     
 5128     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5129     (cherry picked from commit 707d0f912b916e7546c4f7e7a5f7023a53e74615)
 5130 
 5131 commit d7220428daee26acecb6ae9771e255c801c83572
 5132 Author: Alexander Volkov <a.volkov@rusbitech.ru>
 5133 Date:   Tue Jun 5 13:05:39 2018 +0300
 5134 
 5135     Xext/shm: Refuse to work for remote clients
 5136     
 5137     Avoid access to System V shared memory segment on the X server side
 5138     for clients forwarded via SSH. Also prevent them from hanging while
 5139     waiting for the reply from the ShmCreateSegment request.
 5140     
 5141     v2: Allow ShmQueryVersion request even for remote clients
 5142     
 5143     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=11080
 5144     Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru>
 5145     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5146     (cherry picked from commit ec7e2b54c5b4a34b2a077082967bc3ead30e227e)
 5147 
 5148 commit 9e417072bcde15f32dbf083327b6fe0202bb4cf4
 5149 Author: Michał Górny <gentoo@mgorny.alt.pl>
 5150 Date:   Mon Jun 11 17:17:31 2018 -0400
 5151 
 5152     xfree86: Makefile shouldn't rely on superuser being named 'root'
 5153     
 5154     Change the 'chown' statement in Makefile.am to use the numeric UID
 5155     of superuser instead of relying on the name 'root'.
 5156     
 5157     Bugzilla: https://bugs.freedesktop.org/27726
 5158     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5159     Signed-off-by: Michał Górny <gentoo@mgorny.alt.pl>
 5160     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 5161     (cherry picked from commit 5c95be38e5af28108d8c6c08dfe08d1dfcb7ed42)
 5162 
 5163 commit 2e66ed066e4a9b52bcebf2ca3762f7e1ad141cf0
 5164 Author: Olivier Fourdan <ofourdan@redhat.com>
 5165 Date:   Fri Jun 8 16:23:44 2018 +0200
 5166 
 5167     xwayland: use pixmap size on present flip
 5168     
 5169     If the pixmap size does not match the present box size, flickering
 5170     occurs.
 5171     
 5172     This can happen when the client changes its size (e.g. switching to
 5173     fullscreen), and since the buffer is kept as long as the pixmap is
 5174     valid, once the buffer is created, it remains at the wrong (old) size
 5175     and causes continuous flickering.
 5176     
 5177     Use the actual pixmap's drawable size instead of the present box to
 5178     create the buffer so that it's sized appropriately.
 5179     
 5180     Bugzilla: https://bugs.freedesktop.org/106841
 5181     Fixes: 0fb2cca193e6 "xwayland: Preliminary support for Present's new
 5182                          window flip mode"
 5183     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 5184     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
 5185     Reviewed-by: Roman Gilg <subdiff@gmail.com>
 5186     (cherry picked from commit 1993f147d08170f07a72e43f0a0f27687e16967b)
 5187 
 5188 commit 883d4d00b46f18902ad402a156d56b1bfcc06ebe
 5189 Author: Michel Dänzer <michel.daenzer@amd.com>
 5190 Date:   Thu Jun 7 17:55:21 2018 +0200
 5191 
 5192     present/wnmd: Preserve window pixmap's screen_x/y on flip
 5193     
 5194     The incorrect values could result in the new pixmap's contents
 5195     getting corrupted down the line.
 5196     
 5197     v2:
 5198     * Guard screen_x/y lines by #ifdef COMPOSITE
 5199     
 5200     Bugzilla: https://bugs.freedesktop.org/106841
 5201     Fixes: 029608dd8020 "present: Add window flip mode"
 5202     Reviewed-by: Adam Jackson <ajax@redhat.com> # v1
 5203     Reviewed-by: Keith Packard <keithp@keithp.com> # v1
 5204     Reviewed-by: Roman Gilg <subdiff@gmail.com>
 5205     Tested-by: Olivier Fourdan <ofourdan@redhat.com> # v1
 5206     (cherry picked from commit 10eec2ccb11701fe29ab246acd6c0bdc2991b775)
 5207 
 5208 commit 55171d738a0c2dd8a37ba2c880ea4658fd8001a2
 5209 Author: Dave Airlie <airlied@redhat.com>
 5210 Date:   Tue May 29 10:39:22 2018 +1000
 5211 
 5212     xwayland: fix typo in non-modifier fallback path
 5213     
 5214     Pointed out on irc by q66.
 5215     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 5216     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
 5217     
 5218     (cherry picked from commit 6300049a9a4b84789a2e8141f5cad17adf22185c)
 5219 
 5220 commit 64bf28572946da1db84f6e61b02b5e6432f13d10
 5221 Author: Roman Kapl <code@rkapl.cz>
 5222 Date:   Thu Jun 7 03:31:42 2018 +0200
 5223 
 5224     Xi: add forgotten byte-swaps for Valuator fields
 5225     
 5226     This has caused nonsensical values in xinput output.
 5227     
 5228     Signed-off-by: Roman Kapl <code@rkapl.cz>
 5229     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 5230     (cherry picked from commit 40586cc4f8faa271d62fd84fe98c41debb878984)
 5231 
 5232 commit 273115a01285ff2ce4837687f9bfc9d745a519a3
 5233 Author: Roman Kapl <code@rkapl.cz>
 5234 Date:   Thu Jun 7 03:31:41 2018 +0200
 5235 
 5236     Xi: fix byte-swapping of button labels
 5237     
 5238     The byte-swapping code forgot that the xXIButtonInfo is followed by a
 5239     button mask, not directly by the button labels. This resulted in client
 5240     crashes in cross-endian setups, for example in `xinput list --long`,
 5241     since the client got an invalid atom.
 5242     
 5243     A new function was introduced to get the right positions for the label
 5244     and mask data.
 5245     
 5246     Signed-off-by: Roman Kapl <code@rkapl.cz>
 5247     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 5248     (cherry picked from commit cefbc6a9356e5c6cf935b61557efa897762defae)
 5249 
 5250 commit 69980e4e5a0d8ff3b36acf09e3c1e8eb76710726
 5251 Author: Michel Dänzer <michel.daenzer@amd.com>
 5252 Date:   Fri Jun 1 11:57:15 2018 +0200
 5253 
 5254     exa: Use PictureMatchFormat for source-only picture format description
 5255     
 5256     Their pFormat member is NULL, which resulted in a crash in
 5257     miRenderColorToPixel.
 5258     
 5259     Fixes: 8171d4c2d67b "render: Store and use all 16bpc of precision for
 5260                          solid pixels (v2.1)"
 5261     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5262     (cherry picked from commit 3ebef6ab850675e1091df2125ebdfbb147436e6c)
 5263 
 5264 commit 33f20c38fc15e6664635ad22a581d7860e4b185d
 5265 Author: Michel Dänzer <michel.daenzer@amd.com>
 5266 Date:   Wed May 23 11:18:02 2018 +0200
 5267 
 5268     glamor: Propagate glamor_fds_from_pixmap error in glamor_fd_from_pixmap
 5269     
 5270     glamor_fds_from_pixmap returns 0 on error, but we were treating that as
 5271     success, continuing with uninitialized stride and fd values.
 5272     
 5273     Also bail if the offset isn't 0, same as in dri3_fd_from_pixmap.
 5274     
 5275     v2:
 5276     * Reduce to a simple one-liner fix (Emil Velikov)
 5277     
 5278     Fixes: c8c276c9569b "glamor: Implement PixmapFromBuffers and
 5279                          BuffersFromPixmap"
 5280     Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
 5281     (cherry picked from commit 4d5950ce14676f970d9de97380929a93948b98f2)
 5282 
 5283 commit 544caffae1b0dc786383b117c036284feb579a66
 5284 Author: Michel Dänzer <michel.daenzer@amd.com>
 5285 Date:   Wed May 23 11:38:13 2018 +0200
 5286 
 5287     glamor: Always return 0 from glamor_fds_from_pixmap on error
 5288     
 5289     This matches what glamor_egl_fds_from_pixmap and dri3_fds_from_pixmap do
 5290     and what proc_dri3_buffers_from_pixmap expects.
 5291     
 5292     Fixes: c8c276c9569b "glamor: Implement PixmapFromBuffers and
 5293                          BuffersFromPixmap"
 5294     Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
 5295     (cherry picked from commit 3da999a0390407d512bf784e4faf01482bfff9ea)
 5296 
 5297 commit a9a17581ce73a49f0a8d3b9dbb2db083fa44cb69
 5298 Author: Michel Dänzer <michel.daenzer@amd.com>
 5299 Date:   Fri May 18 11:23:01 2018 +0200
 5300 
 5301     modesetting: Pass O_CLOEXEC when opening a DRM device
 5302     
 5303     We don't want DRM file descriptors to leak to child processes.
 5304     
 5305     Reviewed-by: Keith Packard <keithp@keithp.com>
 5306     Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
 5307     (cherry picked from commit 315c63c41d833700c505e4f21ffac4c59e1e3b2c)
 5308 
 5309 commit c3a06e330b7e55e1daeefbb5c16a075c80233bb0
 5310 Author: Michel Dänzer <michel.daenzer@amd.com>
 5311 Date:   Fri May 18 11:23:00 2018 +0200
 5312 
 5313     xfree86: Fix O_CLOEXEC usage in lnx_platform
 5314     
 5315     It was passing O_CLOEXEC as permission bits instead of as a flag.
 5316     
 5317     Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
 5318     Reviewed-by: Keith Packard <keithp@keithp.com>
 5319     (cherry picked from commit ab53e2859facecc0486344679dc01ea31fb427e9)
 5320 
 5321 commit 662273397c537d031e1aee7c607c925ec6bb2d10
 5322 Author: Lukas F. Hartmann <lukas@mntmn.com>
 5323 Date:   Tue May 15 21:51:56 2018 +0200
 5324 
 5325     glamor_init: clamp GLSL to 120 if platform doesn't have instanced arrays
 5326     
 5327     Hi,
 5328     
 5329     I upgraded Xwayland and the assorted libraries from git masters today,
 5330     and noticed that glamor wouldn't work anymore on i.MX6/etnaviv. The
 5331     error was:
 5332     
 5333     No provider of glVertexAttribDivisor found.  Requires one of:
 5334         Desktop OpenGL 3.3
 5335         OpenGL ES 3.0
 5336         GL extension "GL_ANGLE_instanced_arrays"
 5337         GL extension "GL_ARB_instanced_arrays"
 5338         GL extension "GL_EXT_instanced_arrays"
 5339         GL extension "GL_NV_instanced_arrays"
 5340     
 5341     The problem is that etnaviv offers GLSL 140 on GL 2.1 and glamor
 5342     rendering assumes that glVertexAttribDivisor() is always available on
 5343     GLSL>=130, which is not the case here. Forcing GLSL 120 makes glamor
 5344     work fine again on this platform. After chatting with ajax in
 5345     #xorg-devel, the following solution was proposed.
 5346     
 5347     This is my first time of submitting a patch, so please excuse me and
 5348     advise if I'm doing it wrong ;)
 5349     
 5350     Cheers
 5351     Lukas (mntmn)
 5352     Reviewed-by: Eric Anholt <eric@anholt.net>
 5353     
 5354     (cherry picked from commit 7437b6dbdee050f8ebb3a79b9077d051c91880c3)
 5355 
 5356 commit 590374bd9213091b51679887d473d1a3067c99b5
 5357 Author: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
 5358 Date:   Sun May 13 15:31:37 2018 +0200
 5359 
 5360     DRI2: Sync radeonsi_pci_ids.h from Mesa
 5361     
 5362     Fixes DRI2 client driver name mapping for newer AMD GPUs with the
 5363     modesetting driver, allowing the DRI2 extension to initialize.
 5364     
 5365     Fixes using GL with the modesetting driver for me.
 5366     
 5367     Seems we were way behind on this one, time to look into something
 5368     more scalable?
 5369     
 5370     Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
 5371     Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
 5372     (cherry picked from commit 3ab32a537840c6e6d6228b4ba62f98fbf5224f8a)
 5373 
 5374 commit 5407be2c516fa23c505e7ba254367b5739399960
 5375 Author: Jon Turney <jon.turney@dronecode.org.uk>
 5376 Date:   Sun May 13 19:36:05 2018 +0100
 5377 
 5378     meson: don't put literal 'PACKAGE_STRING' and 'XORG_MAN_PAGE' in man pages
 5379     
 5380     Instead, substitute the same values as autotools does
 5381     
 5382     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5383     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 5384     (cherry picked from commit 27eff10bfa1a02da7338a82e2312d2080e3e5876)
 5385 
 5386 commit acd881e271419a2fc08cfc34ed9845346cee9e84
 5387 Author: Jon Turney <jon.turney@dronecode.org.uk>
 5388 Date:   Sun May 13 19:36:04 2018 +0100
 5389 
 5390     meson: don't install xorg wrapper manpages if suid-wrapper isn't being used
 5391     
 5392     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5393     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 5394     (cherry picked from commit 47321bb455b1226c04711241496e62667eea34ea)
 5395 
 5396 commit c09c78298cdb4cdd8383e252d8fe68adae1f3c54
 5397 Author: Jon Turney <jon.turney@dronecode.org.uk>
 5398 Date:   Sun May 13 19:36:03 2018 +0100
 5399 
 5400     meson: install xwinclip and Xwinrc man pages
 5401     
 5402     Omitted from a1e8dc05
 5403     
 5404     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5405     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 5406     (cherry picked from commit 08a3583b5b2f812cc7f039aebd74ff9b1cb0dbcd)
 5407 
 5408 commit 82f8fc5ffc0065537896ec43ae60d67d9a164c75
 5409 Author: Adam Jackson <ajax@redhat.com>
 5410 Date:   Thu May 10 12:24:11 2018 -0400
 5411 
 5412     xserver 1.20
 5413     
 5414     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5415 
 5416 commit b6bf68b8416ec4b717eb78703fb63789c68e509a
 5417 Author: Aaron Plattner <aplattner@nvidia.com>
 5418 Date:   Wed May 2 12:54:26 2018 -0700
 5419 
 5420     meson: Fix module_dir configuration (v2)
 5421     
 5422     meson.build has code to set the module_dir variable to
 5423     ${libdir}/xorg/modules if the module_dir option string is empty.
 5424     However, this has several problems:
 5425     
 5426     1. The variable is only used for an unused @moduledir@ substitution in
 5427        the man page. The rule for xorg-server.pc uses option('module_dir')
 5428        directly instead.
 5429     2. The 'module_dir' option has a default value of 'xorg/modules' so the
 5430        above rule doesn't do anything by default.
 5431     3. The xorg-server.pc rule uses ${exec_prefix}/option('module_dir'), so
 5432        the effect of #2 is that the default moduledir is different between
 5433        autoconf and meson. E.g. if ${prefix} is /X, then you get
 5434     
 5435          autoconf: moduledir=/X/lib/xorg/modules
 5436          meson:    moduledir=/X/xorg/modules
 5437     
 5438     Fix this by using the module_dir variable when generating xorg-server.pc, and by
 5439     using join_paths() to assign module_dir unconditionally.
 5440     
 5441     v2: Keep the 'xorg/modules' default path, but use join_paths() unconditionally (Thierry Reding)
 5442     
 5443     Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
 5444     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 5445 
 5446 commit 9d628ee5facf6318368d5b8ca181e083adcffe8c
 5447 Author: Roman Gilg <subdiff@gmail.com>
 5448 Date:   Wed May 2 21:32:48 2018 +0200
 5449 
 5450     modesetting: set gbm as dependency in meson build
 5451     
 5452     Modifiers support needs gbm as a dependency. Without setting the dependency
 5453     included headers are not found reliably and the build might fail if the
 5454     headers are not placed in the default system include paths.
 5455     
 5456     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 5457     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5458 
 5459 commit 0445705a8bbf76a5532997823ea8110daff26c6d
 5460 Author: Adam Jackson <ajax@redhat.com>
 5461 Date:   Mon May 7 17:21:20 2018 -0400
 5462 
 5463     man: Fix automake seddery
 5464     
 5465     Because this is an automakefile, things inside @@ get expanded, which
 5466     means your sed ends up saying s|/var/log|/var/log| and your manual pages
 5467     still have @logdir@ in them. Fix this by hiding the @s inside a trivial
 5468     character range, which keeps the pattern preserved all the way into the
 5469     Makefile.
 5470     
 5471     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5472     Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 5473 
 5474 commit 9f21872ad8591c1f6f8ea1e466f212c3582d3c33
 5475 Author: Adam Jackson <ajax@redhat.com>
 5476 Date:   Mon May 7 17:21:19 2018 -0400
 5477 
 5478     glx: Be sure to set an error for ghost contexts
 5479     
 5480     Otherwise the caller is going to return garbage memory for the error
 5481     value.
 5482     
 5483     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5484 
 5485 commit b9f415cbad47412bfb218cf7375d0c2856a27d1b
 5486 Author: Adam Jackson <ajax@redhat.com>
 5487 Date:   Mon May 7 17:21:18 2018 -0400
 5488 
 5489     present: Fix swapping of PresentCompleteNotify events
 5490     
 5491     The code would fall through to the PresentIdleNotify case, and nothing
 5492     good would come of it.
 5493     
 5494     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5495     Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 5496 
 5497 commit cc66777d85f3509b0f9dfc9210d0a0415a2a388d
 5498 Author: Adam Jackson <ajax@redhat.com>
 5499 Date:   Mon May 7 17:21:17 2018 -0400
 5500 
 5501     xwayland: Don't create a "fake" crtc for Present
 5502     
 5503     We probably don't want a fake crtc to be visible to clients, and we
 5504     definitely don't want to generate events every time we create such a
 5505     fake (which would happen as a side effect from RRCrtcCreate hitting
 5506     RRTellChanged). As it happens we're not actually using that crtc for
 5507     anything because xwayland doesn't store any state on the crtc object,
 5508     so it suffices to use the real crtc for the screen.
 5509     
 5510     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5511     Tested-by: Roman Gilg <subdiff@gmail.com>
 5512     Reviewed-by: Roman Gilg <subdiff@gmail.com>
 5513 
 5514 commit b23a0e4ded62500f2c248f23962ff5ac718467e6
 5515 Author: Eric Anholt <eric@anholt.net>
 5516 Date:   Mon May 7 16:46:20 2018 -0700
 5517 
 5518     xwayland: Fix a 32-bit build warning.
 5519     
 5520     Signed-off-by: Eric Anholt <eric@anholt.net>
 5521     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5522 
 5523 commit ef95331603ff31d3643360c399b3865db5b0b97d
 5524 Author: Eric Anholt <eric@anholt.net>
 5525 Date:   Mon May 7 16:46:19 2018 -0700
 5526 
 5527     dri3: Switch fds_from_pixmap to stdint types.
 5528     
 5529     Again, this was causing 32-bit build warnings due to mixing CARD* and
 5530     stdint.
 5531     
 5532     Signed-off-by: Eric Anholt <eric@anholt.net>
 5533     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5534 
 5535 commit 4c754b01fafc4b042d9918c05a71157f6fa6392a
 5536 Author: Eric Anholt <eric@anholt.net>
 5537 Date:   Mon May 7 16:46:18 2018 -0700
 5538 
 5539     dri3: Switch get_modifiers to using stdint.
 5540     
 5541     We were mixing stdint and CARD* types, causing compiler warnings on
 5542     32-bit.  Just switch over to stdint, which is what we'd like the server
 5543     to be using long term, anyway.
 5544     
 5545     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5546 
 5547 commit 5e86484a183f051d7a8a67ea13c23a3d6e69e76b
 5548 Author: Eric Anholt <eric@anholt.net>
 5549 Date:   Mon May 7 16:46:17 2018 -0700
 5550 
 5551     dri3: Switch get_drawable_modifiers to using stdint.
 5552     
 5553     We were mixing stdint and CARD* types, causing compiler warnings on
 5554     32-bit.  Just switch over to stdint, which is what we'd like the server
 5555     to be using long term, anyway.
 5556     
 5557     Signed-off-by: Eric Anholt <eric@anholt.net>
 5558     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5559 
 5560 commit 4ec02b573ef2424965d7ce2d33d150ddb92ec544
 5561 Author: Eric Anholt <eric@anholt.net>
 5562 Date:   Mon May 7 16:46:16 2018 -0700
 5563 
 5564     randr: Fix a compiler warning on 32-bit.
 5565     
 5566     Signed-off-by: Eric Anholt <eric@anholt.net>
 5567     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5568 
 5569 commit e1ccd0fa0e1081edf8a2c69ce6e8e3f67a4aecba
 5570 Author: Eric Anholt <eric@anholt.net>
 5571 Date:   Mon May 7 16:46:15 2018 -0700
 5572 
 5573     dix: Fix a warning about GetTimeInMillis return value in XFont2.
 5574     
 5575     Signed-off-by: Eric Anholt <eric@anholt.net>
 5576     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5577 
 5578 commit cf838f5ca81e0c967902b74fb1971bc6fac5c601
 5579 Author: Roman Gilg <subdiff@gmail.com>
 5580 Date:   Fri May 4 03:07:31 2018 +0200
 5581 
 5582     xwayland: persistent window struct on present
 5583     
 5584     Instead of reusing xwl_window introduce a persistent window struct for every
 5585     window, that asks for Present flips.
 5586     
 5587     This struct saves all relevant data and is only freed on window destroy.
 5588     
 5589     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 5590     Tested-by: Olivier Fourdan <ofourdan@redhat.com>
 5591 
 5592 commit c9afd8cb5ec975b189ab7b678e1f997d6a2ba5ee
 5593 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 5594 Date:   Sun May 6 07:34:31 2018 +0200
 5595 
 5596     modesetting: Fix and improve ms_kernel_msc_to_crtc_msc()
 5597     
 5598     The old 32-Bit wraparound handling didn't actually work, due to some
 5599     integer casting bug, and the mapping was ill equipped to deal with input
 5600     from the new true 64-bit GetCrtcSequence/QueueCrtcSequence api's
 5601     introduced in Linux 4.15.
 5602     
 5603     For 32-Bit truncated input from pageflip events and old vblank events
 5604     and old drmWaitVblank ioctl, implement new wraparound handling, which
 5605     also allows to deal with wraparound in the other direction, e.g., if a
 5606     32-Bit truncated sequence value is passed in, whose true 64-Bit
 5607     in-kernel hw value is within 2^30 counts of the previous processed
 5608     value, but whose 32-bit truncated sequence value happens to lie just
 5609     above or below a 2^32 boundary, iow. one of the two values 'sequence'
 5610     vs. 'msc_prev' lies above a 2^32 border, the other one below it.
 5611     
 5612     The method is directly translated from Mesa's proven implementation of
 5613     the INTEL_swap_events extension, where a true underlying 64-Bit wide
 5614     swapbuffers count (SBC) needs to get reconstructed from a 32-Bit LSB
 5615     truncated SBC transported over the X11 protocol wire. Same conditions
 5616     apply, ie. successive true 64-Bit SBC values are close to each other,
 5617     but don't always get received in strictly monotonically increasing
 5618     order. See Mesa commit cc5ddd584d17abd422ae4d8e83805969485740d9 ("glx:
 5619     Handle out-of-sequence swap completion events correctly. (v2)") for
 5620     explanation.
 5621     
 5622     Additionally add a separate path for true 64-bit msc input originating
 5623     from Linux 4.15+ drmCrtcGetSequence/QueueSequence ioctl's and
 5624     corresponding 64-bit vblank events. True 64-bit msc's don't need
 5625     remapping and must be passed through.
 5626     
 5627     As a reliability bonus, they are also used here to update the tracking
 5628     values msc_prev and ms_high with perfect 64-Bit ground truth as baseline
 5629     for mapping msc from pageflip completion events, because pageflip events
 5630     are always 32-bit wide, even when the new kernel api's are used. Because
 5631     each pageflip(-event) is always preceeded close in time (and vblank
 5632     count) by a drmCrtcQueueSequence queued event or drmCrtcGetSequence
 5633     query as part of DRI2 or DRI3+Present swap scheduling, we can be certain
 5634     that each pageflip event will get its truncated 32-bit msc remapped
 5635     reliably to the true 64-bit msc of flip completion whenever the sequence
 5636     api is available, ie. on Linux 4.15 or later.
 5637     
 5638     Note: In principle at least the 32-bit mapping path could also be
 5639     backported to earlier server branches, as this seems to be broken for at
 5640     least server 1.16 to 1.19.
 5641     
 5642     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 5643     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5644     Cc: Keith Packard <keithp@keithp.com>
 5645     Cc: Michel Dänzer <michel.daenzer@amd.com>
 5646 
 5647 commit 73f0ed2d928afc692ed057eb3d7627328a6e5b12
 5648 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 5649 Date:   Fri May 4 14:14:10 2018 +0200
 5650 
 5651     modesetting: Remove ms_crtc_msc_to_kernel_msc().
 5652     
 5653     The function is ported from intel-ddx uxa backend around 2013, where its
 5654     stated purpose was to apply a vblank_offset to msc values to correct for
 5655     problems with those kernel provided msc values. Some (somewhat magic and
 5656     puzzling to myself) heuristic tried to guess if provided values were
 5657     unreasonable and tried to adapt the corrective vblank_offset to account
 5658     for that.
 5659     
 5660     Except: It wasn't applied to kernel provided msc values, but the values
 5661     delivered by clients via DRI2 or Present, so valid client targetmsc
 5662     values, e.g., requesting a vblank event > 1000 vblanks in the future,
 5663     triggered the offset correction in arbitrarily wrong ways, leading to
 5664     wrong msc values being returned and thereby vblank events queued to the
 5665     kernel for the wrong time. This causes glXSwapBuffersMscOML and
 5666     glXWaitForMscOML to swap / return immediately whenever a swap/wait in >
 5667     1000 vblanks is requested.
 5668     
 5669     The original code was also written to only deal with 32 bit mscs, but
 5670     server 1.20 modesetting ddx can now use new Linux 4.15+ kernel vblank
 5671     api to process true 64 bit msc's, which may confuse the heuristic even
 5672     more due to 32 bit integer truncation/wrapping.
 5673     
 5674     This code caused various problems in the intel-ddx in the past since
 5675     year 2013, and was removed there in 2015 by Chris Wilson in commit
 5676     42ebe2ef9646be5c4586868cf332b4cd79bb4618:
 5677     
 5678     "    uxa: Remove the filtering of bogus Present MSC values
 5679     
 5680         If the intention was to filter the return values from the kernel, the
 5681         filtering would have been applied to the kernel values and not to the
 5682         incoming values from Present. This filtering introduces crazy integer
 5683         promotion and truncation bugs all because Present feeds garbage into its
 5684         vblank requests.
 5685     
 5686     "
 5687     
 5688     Indeed, i found a Mesa bug yesterday which can cause Mesa's
 5689     PresentPixmap request to spuriously feed garbage targetMSC's into the
 5690     driver under some conditions. However, while other video drivers seem to
 5691     cope relatively well with that, modesetting ddx causes KDE-5's
 5692     plasmashell to lock up badly quite frequently, and my suspicion is that
 5693     the code removed in this commit is one major source of the extra
 5694     fragility.
 5695     
 5696     Also my own tests fail for any swap scheduled more than 1000 vblanks
 5697     into the future, which is not uncommon for some scientific applications.
 5698     
 5699     Iow. modesetting's swap scheduling seems to be more robust without this
 5700     function afaics.
 5701     
 5702     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 5703     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5704     Cc: Chris Wilson <chris@chris-wilson.co.uk>
 5705     Cc: Keith Packard <keithp@keithp.com>
 5706     Tested-by: Mike Lothian <mike@fireburn.co.uk>
 5707 
 5708 commit f5ded22e14e2e15390eff8e01ce32de496ae0e86
 5709 Author: Aaron Plattner <aplattner@nvidia.com>
 5710 Date:   Fri May 4 10:48:17 2018 -0700
 5711 
 5712     meson: Set XCONFIGFILE to 'xorg.conf' instead of '/etc/xorg.conf'
 5713     
 5714     The autoconf build hard-codes XCONFIGFILE to just 'xorg.conf':
 5715     
 5716      XF86CONFIGFILE="xorg.conf"
 5717      AC_DEFINE_DIR(XCONFIGFILE, XF86CONFIGFILE, [Name of configuration file])
 5718     
 5719     Later, the X server passes that into DoSubstitution() which expands the path:
 5720     
 5721      DoSubstitution(template="/etc/X11/%X", ..., XConfigFile="xorg.conf")
 5722     
 5723     This returns "/etc/X11/xorg.conf".
 5724     
 5725     The Meson build, on the other hand, sets XCONFIGFILE to
 5726     join_paths(get_option('sysconfdir'), 'xorg.conf'). If sysconfdir is /etc, this
 5727     results in '/etc/xorg.conf', resulting in DoSubstitution returning
 5728     '/etc/X11/etc/xorg.conf'.
 5729     
 5730     Fix this by just hard-coding XCONFIGFILE to 'xorg.conf'.
 5731     
 5732     Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
 5733     Reviewed-by: Thierry Reding <treding@nvidia.com>
 5734 
 5735 commit 1a3e4a2f6722048c5c7c4c1a9d6748e68a895a3e
 5736 Author: Aaron Plattner <aplattner@nvidia.com>
 5737 Date:   Fri May 4 15:09:22 2018 -0700
 5738 
 5739     meson: Define DEFAULT_LIBRARY_PATH as join_paths(get_option('prefix'), get_option('libdir'))
 5740     
 5741     'libdir' defaults to 'lib', so running X -showDefaultLibPath just prints 'lib'
 5742     instead of '/usr/lib' or '/usr/local/lib'. Use joint_paths() to get the correct
 5743     full path.
 5744     
 5745     Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
 5746     Reviewed-by: Thierry Reding <treding@nvidia.com>
 5747 
 5748 commit 1dcd784a677c58e77c368a676fd9dbd3159db94f
 5749 Author: Anuj Phogat <anuj.phogat@gmail.com>
 5750 Date:   Thu May 3 11:29:11 2018 -0700
 5751 
 5752     dri2: Sync i965_pci_ids.h from mesa
 5753     
 5754     Copied from Mesa with no modifications.
 5755     
 5756     Gives us Cofeelake platform names updates and sync on Kaby Lake,
 5757     Ice Lake PCI IDs.
 5758     
 5759     Acked-by: Kenneth Graunke <kenneth@whitecape.org>
 5760     Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
 5761 
 5762 commit 4191b59bd5458ea3a8b0d5272bdcd250fee1e129
 5763 Author: Adam Jackson <ajax@redhat.com>
 5764 Date:   Wed May 2 15:09:52 2018 -0400
 5765 
 5766     meson: Fix build with three-component version numbers
 5767     
 5768     Otherwise:
 5769     
 5770     include/meson.build:5:0: ERROR: Index 3 out of bounds of array of size 3.
 5771     
 5772     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5773 
 5774 commit 531e1648fc0da03816ecc57481479e6fc6a45ac3
 5775 Author: Adam Jackson <ajax@redhat.com>
 5776 Date:   Wed Apr 25 13:39:18 2018 -0400
 5777 
 5778     gitlab-ci: Add for gitlab.freedesktop.org
 5779     
 5780     Looks quite a bit like the travis path, doesn't it? Still, nice to not
 5781     rely on an external service if we don't have to.
 5782     
 5783     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5784 
 5785 commit 22285a6f1c5fa6ba22f4214c4ccc09e27d1925f6
 5786 Author: Roman Gilg <subdiff@gmail.com>
 5787 Date:   Fri Apr 20 17:10:06 2018 +0200
 5788 
 5789     present: fix msc offset calculation in window mode
 5790     
 5791     Instead of getting the current msc value from the window, which might be
 5792     different to old one directly take the last saved msc value saved in
 5793     the window_priv struct.
 5794     
 5795     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 5796     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5797 
 5798 commit d7297b00444b0e2cd936fbfb08206a575ab8c29d
 5799 Author: Chris Wilson <chris@chris-wilson.co.uk>
 5800 Date:   Mon Apr 30 15:19:53 2018 -0700
 5801 
 5802     randr: Account for panning and transforms when constraining the cursor
 5803     
 5804     commit 56c90e29f04727c903bd0f084d23bf44eb1a0a11 [1.10.99.901]
 5805     Author: Adam Jackson <ajax@redhat.com>
 5806     Date:   Mon Nov 15 14:29:14 2010 -0500
 5807     
 5808         randr: Add RRConstrainCursorHarder
 5809     
 5810     introduced a regression as it ignored the effect of panning and
 5811     transforms upon the crtc bounds. The result was that the cursor would be
 5812     constrained to the visible area even though the panning arena was much
 5813     bigger, or the cursor was constrained to a region that did not even
 5814     match the visible area when the output was transformed or reflected.
 5815     
 5816     This supercedes the hack introduced by
 5817     commit 1bf81af4a6be1113bcc3b940ab264d5c9e0f0c5d [1.12.99.904]
 5818     Author: Rui Matos <tiagomatos@gmail.com>
 5819     Date:   Mon Jul 30 14:32:12 2012 -0400
 5820     
 5821         xf86RandR12: Don't call ConstrainCursorHarder() if panning is enabled
 5822     which disabled the cursor constraints if a panning mode was active, but
 5823     did not fix the regression with arbitrary output transforms.
 5824     
 5825     Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
 5826     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=39949
 5827     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5828     Cc: Rui Matos <tiagomatos@gmail.com>
 5829 
 5830 commit a843c61456b2046fb1780415f17162b503243af7
 5831 Author: Roman Gilg <subdiff@gmail.com>
 5832 Date:   Fri Apr 20 17:07:42 2018 +0200
 5833 
 5834     xwayland: restrict present cleanup to presenting and top parent window
 5835     
 5836     Clean up only if the request points to the presenting window or its top
 5837     parent window.
 5838     
 5839     Since in this case all events are removed unconditionally, always stop
 5840     the timer.
 5841     
 5842     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5843     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 5844 
 5845 commit 975d3a509667579b81d88616b91491472059354d
 5846 Author: Adam Jackson <ajax@redhat.com>
 5847 Date:   Mon Apr 30 14:10:26 2018 -0400
 5848 
 5849     xwayland: Avoid using epoxy_has_egl()
 5850     
 5851     There's no real point - if we don't have EGL then the extension check is
 5852     also going to fail - and the entrypoint is new in 1.5.0, which we don't
 5853     need to require yet.
 5854     
 5855     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5856     Reviewed-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 5857 
 5858 commit d6f2272f44ce1a7a96ae04fdbde8708514c60771
 5859 Author: Adam Jackson <ajax@redhat.com>
 5860 Date:   Mon Apr 30 14:07:44 2018 -0400
 5861 
 5862     meson: Bump version number here too
 5863     
 5864     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5865 
 5866 commit 6cace4990abc2386b6ea68536b321994d264c295
 5867 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5868 Date:   Thu Apr 26 11:04:15 2018 -0400
 5869 
 5870     modesetting: Fix GBM objects leak when checking for flip
 5871     
 5872     GBM objects were never destroyed after looking for format and
 5873     modifier compatibility when deciding whether flipping or copying
 5874     a presented pixmap.
 5875     
 5876     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106106
 5877     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5878 
 5879 commit e00ada9fbbddf4570fe38c3ceeb922af7afcfd1a
 5880 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 5881 Date:   Mon Apr 30 09:06:09 2018 +0200
 5882 
 5883     glamor: Don't fail in glamor_get_formats if not dmabuf_capable.
 5884     
 5885     If dmabuf_capable is false, because the server "dmabuf_capable"
 5886     debug flag isn't set, treat it as successfull query with zero
 5887     returned formats, instead of failure.
 5888     
 5889     This allows the servers cache_formats_and_modifiers() function
 5890     to cache the fact that formats are not supported during the
 5891     current server generation, instead of pointless retesting at
 5892     every invocation.
 5893     
 5894     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 5895     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5896 
 5897 commit 55db3c9cfc1bc92a53b75b99e8fa49a32d7efe63
 5898 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 5899 Date:   Mon Apr 30 09:06:08 2018 +0200
 5900 
 5901     dri3: Robustly clamp to 1.0 if not all screens support 1.2
 5902     
 5903     Checking for dri3_screen_info_rec.version >= 2 is insufficient,
 5904     as some shipping drivers, e.g., intel-ddx, nouveau-ddx, set the
 5905     version to DRI3_SCREEN_INFO_VERSION, ie. to whatever version the
 5906     installed servers headers define. On server 1.20 that would
 5907     be version 2, but the drivers still don't support the v1.2
 5908     hooks. Make sure all hooks are defined before reporting v1.2.
 5909     
 5910     Also make clamping of reported version to minimum of client
 5911     or server robust against possible future clients with possible
 5912     majorVersion >= 2.0.
 5913     
 5914     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 5915     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5916     Cc: Daniel Stone <daniels@collabora.com>
 5917 
 5918 commit fbc5c5cd532962d2df96a04e5c8cc0d21b47b08a
 5919 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 5920 Date:   Mon Apr 30 09:06:07 2018 +0200
 5921 
 5922     dri3: Fix error handling in dri3_buffer_from_pixmap request.
 5923     
 5924     The old info->fd_from_pixmap() driver hook, which is
 5925     preferentially used in dri3_fd_from_pixmap(), can return
 5926     error codes other than -1, e.g., -EINVAL (-22) on nouveau-ddx.
 5927     
 5928     Not handling the error causes a broken/corrupted X-Connection
 5929     resulting from a failed request.
 5930     
 5931     This fixes failure of sddm-greeter to start up under nouveau-ddx
 5932     with DRI3 enabled and DRI3 protocol version properly clamped
 5933     to 1.0 by the server (see followup patch).
 5934     
 5935     Fixes: 75bba3aedcb0 ("dri3: Use single-FD screen call for single-FD request")
 5936     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 5937     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5938     Cc: Daniel Stone <daniels@collabora.com>
 5939 
 5940 commit 19d006ee3db4b4635ef9ef5c92562f3ffeddb305
 5941 Author: Adam Jackson <ajax@redhat.com>
 5942 Date:   Tue Apr 24 16:08:26 2018 -0400
 5943 
 5944     dri3: Clamp to 1.0 if not all screens support 1.2
 5945     
 5946     Signed-off-by: Adam Jackson <ajax@redhat.com>
 5947     Reviewed-by: Daniel Stone <daniels@collabora.com>
 5948 
 5949 commit 352a5ac87fd344936b759a5766eb74271e7d295d
 5950 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 5951 Date:   Tue Apr 24 10:17:26 2018 +0200
 5952 
 5953     dri3: Fix DRI3.2 support for drivers other than modesetting-ddx.
 5954     
 5955     Both xf86-video-intel and xf86-video-nouveau cause OpenGL clients to
 5956     fail when used with DRI3 on server 1.20 with Mesa 18.1.
 5957     
 5958     Reason is that the servers DRI3 version is now unconditionally reported
 5959     as DRI3 1.2 to 1.2 capable clients. This causes clients using Mesa 18.1
 5960     to use the new DRI 3.2 requests DRI3GetSupportedModifiers,
 5961     DRI3PixmapFromBuffers, etc. Drivers other than modesetting-ddx do not
 5962     support the needed hooks like info->pixmap_from_fds or
 5963     info->get_formats, info->get_modifiers. Unfortunately we can't simply
 5964     report the servers DRI3 version as 1.0 in this case, as the reported
 5965     version can not be specific to a X-Screen, and different screens may
 5966     have drivers with different capabilities.
 5967     
 5968     Luckily the server has fallbacks to ->pixmap_from_fd, ->fd_from_pixmap,
 5969     and simply reporting an empty set of supported modifiers for the
 5970     DRI3GetSupportedModifiers request if the ddx doesn't support DRI 3.2.
 5971     
 5972     Clients like Mesa 18.1's dri3 loader respond to the empty set of
 5973     reported modifiers by falling back to a dri driver selected buffer
 5974     format (image->createImageWithModifiers responds to a NULL modifier_list
 5975     by acting like ->createImage()). This works, but Mesa 18.1 will still
 5976     try to use the DRI3PixmapFromBuffers request to create the corresponding
 5977     pixmap, just passing in a modifier that corresponds to whatever tiling
 5978     the dri driver selected by default. To prevent this request - and
 5979     thereby the client - from failing with a BadImplementation error, remove
 5980     the check for modifier == DRM_MOD_FORMAT_INVALID in the pixmap_from_fd
 5981     fallback path of dri3_pixmap_from_fds() and trust that if we hit the
 5982     fallback path then the client will have passed a buffer with some driver
 5983     specific default tiling that can be handled by pixmap_from_fd.
 5984     
 5985     Another approach would be for Mesa's dri3 loader to keep track how a
 5986     buffer was created (with explicit modifiers or not), and then call
 5987     DRI3PixmapFromBuffers or DRI3PixmapFromBuffer, but then any future DRI3
 5988     client implementation would need to be fixed, so the server side is
 5989     probably the better place for this.
 5990     
 5991     Tested on Intel Ivybridge and NVidia Pascal.
 5992     
 5993     Fixes: 6e7c40f62db6 ("dri3: Add multi-planar/modifier buffer requests")
 5994     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 5995     Cc: Daniel Stone <daniels@collabora.com>
 5996     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 5997     Tested-by: Mike Lothian <mike@fireburn.co.uk>
 5998     Reviewed-by: Adam Jackson <ajax@redhat.com>
 5999 
 6000 commit c6ab21022ce876f9c1409db4bb1967134f9f6dbe
 6001 Author: Adam Jackson <ajax@redhat.com>
 6002 Date:   Tue Apr 24 17:03:07 2018 -0400
 6003 
 6004     xserver 1.20 RC5
 6005     
 6006     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6007 
 6008 commit c593d843f6305dd8bc5fa7762273d319a223abc4
 6009 Author: Daniel Stone <daniels@collabora.com>
 6010 Date:   Tue Apr 24 21:27:47 2018 +0100
 6011 
 6012     dri3: Don't call vfuncs on old DRI3 screens
 6013     
 6014     Only call the get_supported_modifiers vfunc if the DRI3 screen struct is
 6015     sufficiently new.
 6016     
 6017     Signed-off-by: Daniel Stone <daniels@collabora.com>
 6018     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6019 
 6020 commit 54ac09717cd8c49259f53a4a227d903ebe8e0a32
 6021 Author: Lyude Paul <lyude@redhat.com>
 6022 Date:   Fri Apr 20 14:38:05 2018 -0400
 6023 
 6024     xwayland: Add glamor egl_backend for EGLStreams
 6025     
 6026     This adds initial support for displaying Xwayland applications through
 6027     the use of EGLStreams and nvidia's custom wayland protocol by adding
 6028     another egl_backend driver. This also adds some additional egl_backend
 6029     hooks that are required to make things work properly.
 6030     
 6031     EGLStreams work a lot differently then the traditional way of handling
 6032     buffers with wayland. Unfortunately, there are also a LOT of various
 6033     pitfalls baked into it's design that need to be explained.
 6034     
 6035     This has a very large and unfortunate implication: direct rendering is,
 6036     for the time being at least, impossible to do through EGLStreams. The
 6037     main reason being that the EGLStream spec mandates that we lose the
 6038     entire color buffer contents with each eglSwapBuffers(), which goes
 6039     against X's requirement of not losing data with pixmaps.  no way to use
 6040     an allocated EGLSurface as the storage for glamor rendering like we do
 6041     with GBM, we have to rely on blitting each pixmap to it's respective
 6042     EGLSurface producer each frame. In order to pull this off, we add two
 6043     different additional egl_backend hooks that GBM opts out of
 6044     implementing:
 6045     
 6046     - egl_backend.allow_commits for holding off displaying any EGLStream
 6047       backed pixmaps until the point where it's stream is completely
 6048       initialized and ready for use
 6049     - egl_backend.post_damage for blitting the content of the EGLStream
 6050       surface producer before Xwayland actually damages and commits the
 6051       wl_surface to the screen.
 6052     
 6053     The other big pitfall here is that using nvidia's wayland-eglstreams
 6054     helper library is also not possible for the most part. All of it's API
 6055     for creating and destroying streams rely on being able to perform a
 6056     roundtrip in order to bring each stream to completion since the wayland
 6057     compositor must perform it's job of connecting a consumer to each
 6058     EGLstream. Because Xwayland has to potentially handle both responding to
 6059     the wayland compositor and it's own X clients, the situation of the
 6060     wayland compositor being one of our X clients must be considered. If we
 6061     perform a roundtrip with the Wayland compositor, it's possible that the
 6062     wayland compositor might currently be connected to us as an X client and
 6063     thus hang while both Xwayland and the wayland compositor await responses
 6064     from eachother. To avoid this, we work directly with the wayland
 6065     protocol and use wl_display_sync() events along with release() events to
 6066     set up and destroy EGLStreams asynchronously alongside handling X
 6067     clients.
 6068     
 6069     Additionally, since setting up EGLStreams is not an atomic operation we
 6070     have to take into consideration the fact that an EGLStream can
 6071     potentially be created in response to a window resize, then immediately
 6072     deleted due to another pending window resize in the same X client's
 6073     pending reqests before Xwayland hits the part of it's event loop where
 6074     we read from the wayland compositor. To make this even more painful, we
 6075     also have to take into consideration that since EGLStreams are not
 6076     atomic that it's possible we could delete wayland resources for an
 6077     EGLStream before the compositor even finishes using them and thus run
 6078     into errors. So, we use quite a bit of tracking logic to keep EGLStream
 6079     objects alive until we know the compositor isn't using them (even if
 6080     this means the stream outlives the pixmap it backed).
 6081     
 6082     While the default backend for glamor remains GBM, this patch exists for
 6083     users who have had to deal with the reprecussion of their GPU
 6084     manufacturers ignoring the advice of upstream and the standardization of
 6085     GBM across most major GPU manufacturers. It is not intended to be a
 6086     final solution to the GBM debate, but merely a baindaid so our users
 6087     don't have to suffer from the consequences of companies avoiding working
 6088     upstream. New drivers are strongly encouraged not to use this as a
 6089     backend, and use GBM like everyone else. We even spit this out as an
 6090     error from Xwayland when using the eglstream backend.
 6091     
 6092     Signed-off-by: Lyude Paul <lyude@redhat.com>
 6093     Acked-by: Daniel Stone <daniels@collabora.com>
 6094     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6095 
 6096 commit 994f781007079176e0247ee64af5696d34debcde
 6097 Author: Lyude Paul <lyude@redhat.com>
 6098 Date:   Fri Apr 20 14:38:04 2018 -0400
 6099 
 6100     xwayland: Add xwayland-config.h
 6101     
 6102     Just a small autogenerated header that will soon contain more then just
 6103     one macro.
 6104     
 6105     Signed-off-by: Lyude Paul <lyude@redhat.com>
 6106     Reviewed-by: Daniel Stone <daniels@collabora.com>
 6107     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6108 
 6109 commit 1545e2dbadcb147d7d52b546d053149de866a031
 6110 Author: Lyude Paul <lyude@redhat.com>
 6111 Date:   Fri Apr 20 14:38:03 2018 -0400
 6112 
 6113     xwayland: Decouple GBM from glamor
 6114     
 6115     This takes all of the gbm related code in wayland-glamor.c and moves it
 6116     into it's own EGL backend for Xwayland, xwayland-glamor-gbm.c.
 6117     Additionally, we add the egl_backend struct into xwl_screen in order to
 6118     provide hooks for alternative EGL backends such as nvidia's EGLStreams.
 6119     
 6120     Signed-off-by: Lyude Paul <lyude@redhat.com>
 6121     Reviewed-by: Lyude Paul <lyude@redhat.com>
 6122     Reviewed-by: Daniel Stone <daniels@collabora.com>
 6123     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6124 
 6125 commit d2d664df974ac5a55d5819f0379fcdac05d22fa3
 6126 Author: Adam Jackson <ajax@redhat.com>
 6127 Date:   Mon Apr 23 17:21:09 2018 -0400
 6128 
 6129     vfb: Fix man page in re depth
 6130     
 6131     32 is not a valid depth, and the default is now 24 not 8.
 6132     
 6133     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6134     Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 6135 
 6136 commit 79a7137557d33d4e92713ae8cabe838c44fea488
 6137 Author: Adam Jackson <ajax@redhat.com>
 6138 Date:   Mon Apr 23 16:19:15 2018 -0400
 6139 
 6140     glx: Require depth > 12 for GLX visuals
 6141     
 6142     fb is happy to do TrueColor to 8bpp drawables, but mesa is not. Depth 12
 6143     is the biggest pseudocolor anyone ever really did, and 15 is the least
 6144     truecolor.
 6145     
 6146     Without this Xvfb at depth 8 would "have" GLX, but no vendors
 6147     would actually back any of the screens. libGL will attempt to call
 6148     GLXQueryServerString to figure out the GLX version, and vnd will throw
 6149     an error because there's no vendor to dispatch that to, and then clients
 6150     crash.
 6151     
 6152     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6153 
 6154 commit 818885e6198cf2883155cb3d2e22c8c7bc4239fb
 6155 Author: Adam Jackson <ajax@redhat.com>
 6156 Date:   Mon Apr 23 16:19:14 2018 -0400
 6157 
 6158     vnd: Disable GLX if no vendors successfully initialized
 6159     
 6160     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6161 
 6162 commit fc25bceb515e5c18eecdebf5933c3e05cdac1a5a
 6163 Author: Adam Jackson <ajax@redhat.com>
 6164 Date:   Mon Apr 23 16:19:13 2018 -0400
 6165 
 6166     dix: Allow an extension to disable itself
 6167     
 6168     GLX registers an extension before we know if there are any screens that
 6169     can actually do it. It's inconvenient to shrink the extension list, so
 6170     instead allow the extension to simply zero out its base opcode to
 6171     indicate that it needed to panic and disable itself.
 6172     
 6173     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6174 
 6175 commit 73a1cb9c92c936c2c1ae3d69fed743e21916d687
 6176 Author: Adam Jackson <ajax@redhat.com>
 6177 Date:   Mon Apr 23 16:19:12 2018 -0400
 6178 
 6179     dix: Factor out extension availability check
 6180     
 6181     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6182 
 6183 commit 9d5af632fde0373babfa32e66a59cfbf26ed7e5d
 6184 Author: Adam Jackson <ajax@redhat.com>
 6185 Date:   Mon Apr 23 15:21:14 2018 -0400
 6186 
 6187     animcur: Fix crash when removing a master device
 6188     
 6189     Reproducer:
 6190     
 6191     $ Xvfb -ac -noreset :1 &
 6192     $ DISPLAY=:1 xinput create-master touch1
 6193     $ DISPLAY=:1 xinput remove-master "touch1 pointer"
 6194     
 6195     Bugzilla: https://bugs.freedesktop.org/105761
 6196     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6197     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 6198 
 6199 commit 8275903956d7876519fa55fb805669dc301bf243
 6200 Author: Thomas Klausner <wiz@NetBSD.org>
 6201 Date:   Mon Apr 23 14:56:17 2018 -0400
 6202 
 6203     sdksyms: Cope with __pid_t and __uint32_t
 6204     
 6205     Kludge sdksyms.c generator to not fail on GetClientPid.
 6206     It returns pid_t which on NetBSD is #define pid_t __pid_t
 6207     This slightly alters the GCC preprocessor output which this fragile
 6208     code could not deal with when using GCC 5+
 6209     
 6210     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6211 
 6212 commit e29d783278608544a208f211231a6a3ad2f8fa09
 6213 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 6214 Date:   Fri Apr 20 19:59:40 2018 +0200
 6215 
 6216     modesetting: Only use modifiers on kms drivers which do support them.
 6217     
 6218     Use the DRM_CAP_ADDFB2_MODIFIERS query to make sure the kms
 6219     driver supports modifiers in the addfb2 ioctl, and fall back
 6220     to addfb ioctl without modifiers if modifiers are unsupported.
 6221     
 6222     E.g., as of Linux 4.17, nouveau-kms so far does not suppport
 6223     modifiers and gets angry if drmModeAddFB2WithModifiers() is
 6224     called (-> failure to set a video mode -> blank screen), but
 6225     Mesa's nvc0+ gallium driver causes gbm_bo_get_modifier() to
 6226     return a valid modifier by translating the default tiling of
 6227     bo's created via gbm_bo_create() into a modifier other than
 6228     DRM_FORMAT_MOD_INVALID (see Mesa's nvc0_miptree_get_modifier()).
 6229     
 6230     Testing for != DRM_FORMAT_MOD_INVALID is apparently not
 6231     sufficient for safe use of drmModeAddFB2WithModifiers.
 6232     
 6233     Bonus: Handle potential failure of populate_format_modifiers().
 6234     
 6235     The required DRM_CAP is defined since libdrm v2.4.65, and we
 6236     require v2.4.89+ for the server, so we can use it unconditionally.
 6237     
 6238     Tested on intel-kms, radeon-kms, nouveau-kms. Fixes failure on
 6239     NVidia Pascal.
 6240     
 6241     Fixes: 2f807c2324b4 ("modesetting: Add support for multi-plane pixmaps when page-flipping")
 6242     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 6243     Cc: Daniel Stone <daniels@collabora.com>
 6244     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 6245     Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 6246 
 6247 commit fe4d1876b4f01c0b0e1916d548c398789f196164
 6248 Author: Lyude Paul <lyude@redhat.com>
 6249 Date:   Wed Apr 18 17:57:54 2018 -0400
 6250 
 6251     meson: Fix indenting in glx/meson.build
 6252     
 6253     No functional changes, just fixing a tabs vs. space error I noticed
 6254     
 6255     Signed-off-by: Lyude Paul <lyude@redhat.com>
 6256     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6257 
 6258 commit 4e28a6a223c4f9d0f5defe0313a94e22e0416787
 6259 Author: Lyude Paul <lyude@redhat.com>
 6260 Date:   Wed Apr 18 18:09:15 2018 -0400
 6261 
 6262     meson: Ensure we always build Xext/hashtable.c for glx
 6263     
 6264     Seems that while glxvnd relies on some of the hashtable functions in
 6265     Xext, we only build hashtable support for Xext if we're also building
 6266     the res extension. This leads to some errors if you try to build glx
 6267     without res enabled:
 6268     
 6269     glx/liblibglxvnd.a(vndcmds.c.o): In function `LookupVendorPrivDispatch':
 6270     /home/lyudess/Projects/xserver/glx/vndcmds.c:65: undefined reference to `ht_find'
 6271     /home/lyudess/Projects/xserver/glx/vndcmds.c:67: undefined reference to `ht_add'
 6272     glx/liblibglxvnd.a(vndcmds.c.o): In function `GlxDispatchInit':
 6273     /home/lyudess/Projects/xserver/glx/vndcmds.c:405: undefined reference to `ht_generic_compare'
 6274     /home/lyudess/Projects/xserver/glx/vndcmds.c:405: undefined reference to `ht_generic_hash'
 6275     /home/lyudess/Projects/xserver/glx/vndcmds.c:405: undefined reference to `ht_create'
 6276     glx/liblibglxvnd.a(vndcmds.c.o): In function `GlxDispatchReset':
 6277     /home/lyudess/Projects/xserver/glx/vndcmds.c:468: undefined reference to `ht_destroy'
 6278     collect2: error: ld returned 1 exit status
 6279     ninja: build stopped: subcommand failed.
 6280     
 6281     So, make sure that hashtable.c gets both for both glx and res
 6282     
 6283     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6284     Signed-off-by: Lyude Paul <lyude@redhat.com>
 6285 
 6286 commit 3b4671f9e9c85f23e7593652e1482b11dc3ad4af
 6287 Author: Olivier Fourdan <ofourdan@redhat.com>
 6288 Date:   Thu Apr 19 09:13:23 2018 +0200
 6289 
 6290     xwayland: Clean up all frame callbacks
 6291     
 6292     Regardless of the order we un-realize windows.
 6293     
 6294     Suggested-by: Roman Gilg <subdiff@gmail.com>
 6295     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 6296     Reviewed-by: Roman Gilg <subdiff@gmail.com>
 6297 
 6298 commit 8b8f9007cc56fdcee5479876e88e06b7f8b6de35
 6299 Author: Olivier Fourdan <ofourdan@redhat.com>
 6300 Date:   Wed Apr 18 16:02:02 2018 +0200
 6301 
 6302     xwayland: avoid using freed xwl_window on unrealize
 6303     
 6304     xwl_unrealize_window() would use freed xwl_window which can lead to
 6305     various memory corruption and crashes, as reported by valgrind:
 6306     
 6307      Invalid read of size 8
 6308         at 0x42C802: xwl_present_cleanup (xwayland-present.c:84)
 6309         by 0x42BA67: xwl_unrealize_window (xwayland.c:601)
 6310         by 0x541EE9: compUnrealizeWindow (compwindow.c:285)
 6311         by 0x57E1FA: UnrealizeTree (window.c:2816)
 6312         by 0x581189: UnmapWindow (window.c:2874)
 6313         by 0x54EB26: ProcUnmapWindow (dispatch.c:879)
 6314         by 0x554B7D: Dispatch (dispatch.c:479)
 6315         by 0x558BE5: dix_main (main.c:276)
 6316         by 0x7C4B1BA: (below main) (libc-start.c:308)
 6317       Address 0xf520f60 is 96 bytes inside a block of size 184 free'd
 6318         at 0x4C2EDAC: free (vg_replace_malloc.c:530)
 6319         by 0x42B9FB: xwl_unrealize_window (xwayland.c:624)
 6320         by 0x541EE9: compUnrealizeWindow (compwindow.c:285)
 6321         by 0x57E1FA: UnrealizeTree (window.c:2816)
 6322         by 0x581189: UnmapWindow (window.c:2874)
 6323         by 0x54EB26: ProcUnmapWindow (dispatch.c:879)
 6324         by 0x554B7D: Dispatch (dispatch.c:479)
 6325         by 0x558BE5: dix_main (main.c:276)
 6326         by 0x7C4B1BA: (below main) (libc-start.c:308)
 6327       Block was alloc'd at
 6328         at 0x4C2FB06: calloc (vg_replace_malloc.c:711)
 6329         by 0x42B307: xwl_realize_window (xwayland.c:488)
 6330         by 0x541E59: compRealizeWindow (compwindow.c:268)
 6331         by 0x57DA40: RealizeTree (window.c:2617)
 6332         by 0x580B28: MapWindow (window.c:2694)
 6333         by 0x54EA2A: ProcMapWindow (dispatch.c:845)
 6334         by 0x554B7D: Dispatch (dispatch.c:479)
 6335         by 0x558BE5: dix_main (main.c:276)
 6336         by 0x7C4B1BA: (below main) (libc-start.c:308)
 6337     
 6338     This is because UnrealizeTree() traverses the tree from top to bottom,
 6339     which invalidates the assumption that if the Window doesn't feature an
 6340     xwl_window on its own, it's the xwl_window of its first ancestor with
 6341     one.
 6342     
 6343     This reverts commit 82df2ce3
 6344     
 6345     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6346     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 6347 
 6348 commit 12a6b189fb17894d2c3851b70a396bbf41f444c6
 6349 Author: David Woodhouse <dwmw2@infradead.org>
 6350 Date:   Tue Apr 17 22:22:21 2018 +0100
 6351 
 6352     glamor: fix glamor_xv_query_image_attributes() for odd-width images
 6353     
 6354     Images which are one pixel wider than a multiple of 8 are being handled
 6355     incorrectly. Other drivers round up the width to a multiple of two
 6356     before they start calculating. Do the same.
 6357     
 6358     https://bugzilla.gnome.org/show_bug.cgi?id=795235
 6359     
 6360     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6361     Signed-off-by: David Woodhouse <dwmw2@infradead.org>
 6362 
 6363 commit ac7a4bf44c68c5f323375974b208d4530fb5b60f
 6364 Author: Chris Wilson <chris@chris-wilson.co.uk>
 6365 Date:   Sun Apr 15 15:40:03 2018 +0100
 6366 
 6367     os/WaitFor: Check timers on every iteration
 6368     
 6369     Currently we only check timer expiry if there are no client fd (or
 6370     other input) waiting to be serviced. This makes it very easy to starve
 6371     the timers with long request queues, and so miss critical timestamps.
 6372     
 6373     The timer subsystem is just another input waiting to be serviced, so
 6374     evaluate it on every loop like all the others, at the cost of calling
 6375     GetTimeInMillis() slightly more frequently. (A more invasive and likely
 6376     OS specific alternative would be to move the timer wheel to the local
 6377     equivalent of timerfd, and treat it as an input fd to the event loop
 6378     exactly equivalent to all the others, and so also serviced on every
 6379     pass. The trade-off being that the kernel timer wheel is likely more
 6380     efficiently integrated with epoll, but individual updates to each timer
 6381     would then require syscalls.)
 6382     
 6383     Reviewed-by: Peter Harris <pharris@opentext.com>
 6384     Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
 6385 
 6386 commit 78b6f940217c127f0f345b7710aa5994c6ded99c
 6387 Author: Adam Jackson <ajax@redhat.com>
 6388 Date:   Mon Apr 16 14:08:27 2018 -0400
 6389 
 6390     modesetting: Fix inverted check in dri2 WaitMSC
 6391     
 6392     ms_queue_vblank() returns false on failure.
 6393     
 6394     Reported-by: Chris Wilson <chris@chris-wilson.co.uk>
 6395     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6396     Reviewed-by: Frank Binns <frank.binns@imgtec.com>
 6397     Tested-by: Mike Lothian <mike@fireburn.co.uk>
 6398 
 6399 commit 4e92c51ce4d6ab50c1507a23a01c6be0d1954d79
 6400 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 6401 Date:   Mon Apr 16 08:14:47 2018 +0200
 6402 
 6403     dri3: Fix dri3_buffers_from_pixmap request.
 6404     
 6405     Sending pixmap depth and bpp was omitted, so the Mesa
 6406     X11 + EGL + DRI3 side of things always failed to
 6407     dri3_create_image_khr_pixmap_from_buffers(), which led
 6408     to failure of X11 + EGL compositing under DRI3 under,
 6409     e.g., KDE Plasma 5.
 6410     
 6411     Fixes: 6e7c40f62db6 ("dri3: Add multi-planar/modifier buffer requests")
 6412     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 6413     Cc: Daniel Stone <daniels@collabora.com>
 6414     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 6415     Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 6416     Tested-by: Mike Lothian <mike@fireburn.co.uk>
 6417 
 6418 commit a98a95b798a0062783ae6fd2135ad488af5efcfd
 6419 Author: Matt Turner <mattst88@gmail.com>
 6420 Date:   Sun Apr 15 23:37:45 2018 -0700
 6421 
 6422     modesetting: Move GBM code inside #ifdef GLAMOR_HAS_GBM
 6423     
 6424     Fixes a compilation error without Glamor.
 6425     
 6426     Bugzilla: https://bugs.gentoo.org/653288
 6427     Signed-off-by: Matt Turner <mattst88@gmail.com>
 6428     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 6429 
 6430 commit c3ae963a7b19e05b8296aae8b6354587756d48fa
 6431 Author: Olivier Fourdan <ofourdan@redhat.com>
 6432 Date:   Mon Apr 16 09:39:09 2018 +0200
 6433 
 6434     xwayland: Fix build without glamor
 6435     
 6436     Present support in Xwayland relies on glamor, make sure Xwayland can
 6437     be built without glamor by moving references to Present code inside
 6438     the conditional GLAMOR_HAS_GBM.
 6439     
 6440     Reported-by: Matt Turner <mattst88@gmail.com>
 6441     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 6442     Reviewed-by: Matt Turner <mattst88@gmail.com>
 6443     Reviewed-by: Roman Gilg <subdiff@gmail.com>
 6444 
 6445 commit bf147f67b2b7170fcc5cca07192f6b195dce85e5
 6446 Author: Adam Jackson <ajax@redhat.com>
 6447 Date:   Thu Apr 12 17:24:08 2018 -0400
 6448 
 6449     xwayland: Don't crash on WarpPointer(dest_w = None)
 6450     
 6451     Turns out that's legal, and xts exercises it, and we crash:
 6452     
 6453         Thread 1 "Xwayland" received signal SIGSEGV, Segmentation fault.
 6454         dixGetPrivate (key=0x813660 <xwl_window_private_key>, privates=0x20) at ../../include/privates.h:122
 6455         122     return (char *) (*privates) + key->offset;
 6456         (gdb) bt
 6457         #0  dixGetPrivate (key=0x813660 <xwl_window_private_key>, privates=0x20) at ../../include/privates.h:122
 6458         #1  dixLookupPrivate (key=0x813660 <xwl_window_private_key>, privates=0x20) at ../../include/privates.h:166
 6459         #2  xwl_window_of_top (window=0x0) at xwayland.c:128
 6460         #3  xwl_cursor_warped_to (device=<optimized out>, screen=0x268b6e0, client=<optimized out>, window=0x0, sprite=0x300bb30,
 6461             x=2400, y=1350) at xwayland.c:292
 6462         #4  0x00000000005622ec in ProcWarpPointer (client=0x32755d0) at events.c:3618
 6463     
 6464     In this case, x/y are the screen-space coordinates where the pointer
 6465     ends up, and we need to look up the (X) window there.
 6466     
 6467     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6468     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 6469 
 6470 commit d7269b49c3408f93a6cb8e28ddc3dda88224620a
 6471 Author: Emil Velikov <emil.velikov@collabora.com>
 6472 Date:   Wed Apr 11 18:51:16 2018 +0100
 6473 
 6474     configure.ac: make use of wayland-scanner.pc
 6475     
 6476     Replace the current (incorrect) assumption that wayland-scanner is
 6477     located in the wayland-client prefix. Make use of the wayland_scanner
 6478     variable in wayland-scanner.pc
 6479     
 6480     It was introduced back in 2013 and we already require newer wayland bits
 6481     
 6482     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6483     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 6484 
 6485 commit 0031bbad8400d35699664d18c0d8fc2e9e82d8a7
 6486 Author: Adam Jackson <ajax@redhat.com>
 6487 Date:   Wed Apr 11 15:39:33 2018 -0400
 6488 
 6489     sdksyms: Skip empty symbols
 6490     
 6491     Apparently on NetBSD we can hit failures like this:
 6492     
 6493     sdksyms.c:1773:15: error: expected expression before ',' token
 6494          (void *) &,                                                  /* ../../dri3/dri3.h:110 */
 6495     
 6496     I've been unable to reproduce that locally (even in a NetBSD vm), but
 6497     an obvious workaround might be to just notice empty symbol names and
 6498     ignore them rather than emit invalid C code.
 6499     
 6500     Tested-by: Thomas Klausner <wiz@netbsd.org>
 6501     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6502 
 6503 commit d61e516c847b9ff7e89e6be269050032070c1ad3
 6504 Author: Adam Jackson <ajax@redhat.com>
 6505 Date:   Tue Apr 10 15:45:02 2018 -0400
 6506 
 6507     xserver 1.20 RC4
 6508     
 6509     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6510 
 6511 commit a42992a4cca49cedd3930f5694c7a16e4f614b36
 6512 Author: Emil Velikov <emil.velikov@collabora.com>
 6513 Date:   Mon Apr 2 16:41:24 2018 +0100
 6514 
 6515     dri3: rework format/modifier caching
 6516     
 6517     Cut down the unnecessary malloc/memcpy/free by utilising the explicit
 6518     copy provided by the client.
 6519     
 6520     But above all: do so, after ensuring we get valid data from the
 6521     implementation.
 6522     
 6523     Fixes: cef12efc15c ("glamor: Implement GetSupportedModifiers")
 6524     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 6525     Cc: Daniel Stone <daniels@collabora.com>
 6526     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6527     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 6528 
 6529 commit 71a069fd7fbe815d386fc1b3c44cda732cff7af0
 6530 Author: Emil Velikov <emil.velikov@collabora.com>
 6531 Date:   Mon Apr 2 16:41:23 2018 +0100
 6532 
 6533     glamor: zero num_formats from the start
 6534     
 6535     The caller may ignore the return value (will be addressed with later
 6536     commit) so simply zero the count from the get-go. We're pretty much do
 6537     so, in all cases but one :-\
 6538     
 6539     Fixes: cef12efc15c ("glamor: Implement GetSupportedModifiers")
 6540     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 6541     Cc: Daniel Stone <daniels@collabora.com>
 6542     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6543     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 6544 
 6545 commit ac48724639e0a6a9e421b3b4e545d8506fd6bf5d
 6546 Author: Emil Velikov <emil.velikov@collabora.com>
 6547 Date:   Mon Apr 2 16:41:22 2018 +0100
 6548 
 6549     xwayland: zero num_formats from the start
 6550     
 6551     The caller may ignore the return value (will be addressed with later
 6552     commit) so simply zero the count from the get-go. We're pretty much do
 6553     so, in all cases but one :-\
 6554     
 6555     Fixes: cef12efc15c ("glamor: Implement GetSupportedModifiers")
 6556     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 6557     Cc: Daniel Stone <daniels@collabora.com>
 6558     
 6559     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6560     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 6561 
 6562 commit e2f45002fc3c53c6196935447b8fe77d0850175b
 6563 Author: Emil Velikov <emil.velikov@collabora.com>
 6564 Date:   Mon Apr 2 16:41:20 2018 +0100
 6565 
 6566     dri3: check for ::get_drawable_modifiers failure
 6567     
 6568     Currently if the function fails, we'll fall into two false assumptions:
 6569      - the the count is zero
 6570      - that the storage pointer is safe for free()
 6571     
 6572     I've just fixed the former (in glamor + xwayland) and have no
 6573     plans on adding yet another workaround for the latter.
 6574     
 6575     Simply zero both variables. Regardless if the implementation is missing
 6576     the callback or it foobars with output variables (normally a bad idea).
 6577     
 6578     Bonus points - this fixes a bug where we feed garbage to free() further
 6579     down ;-)
 6580     
 6581     Fixes: cef12efc15c ("glamor: Implement GetSupportedModifiers")
 6582     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 6583     Cc: Daniel Stone <daniels@collabora.com>
 6584     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6585     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 6586 
 6587 commit 150e4b12ad160b093899107ed586aa0cb258879e
 6588 Author: Emil Velikov <emil.velikov@collabora.com>
 6589 Date:   Mon Apr 2 16:41:19 2018 +0100
 6590 
 6591     glamor: zero num_modifiers from the start
 6592     
 6593     The caller may ignore the return value (will be addressed with later
 6594     commit) so simply zero the count from the get-go. We're pretty much do
 6595     so, in all cases but one :-\
 6596     
 6597     Fixes: cef12efc15c ("glamor: Implement GetSupportedModifiers")
 6598     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 6599     Cc: Daniel Stone <daniels@collabora.com>
 6600     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6601     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 6602 
 6603 commit b36a14c0b0e7e38406622eb5ff0666a8b8bc50f4
 6604 Author: Emil Velikov <emil.velikov@collabora.com>
 6605 Date:   Mon Apr 2 16:41:18 2018 +0100
 6606 
 6607     xwayland: zero num_modifiers from the start
 6608     
 6609     The caller may ignore the return value (will be addressed with later
 6610     commit) so simply zero the count from the get-go. We're pretty much do
 6611     so, in all cases but one :-\
 6612     
 6613     Fixes: cef12efc15c ("glamor: Implement GetSupportedModifiers")
 6614     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 6615     Cc: Daniel Stone <daniels@collabora.com>
 6616     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6617     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 6618 
 6619 commit a83ceec868a6d544bc7775a753b67aa40d0d0efc
 6620 Author: Emil Velikov <emil.velikov@collabora.com>
 6621 Date:   Mon Apr 2 16:41:15 2018 +0100
 6622 
 6623     dri3: simplify dri3_open() implementation
 6624     
 6625     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6626     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 6627 
 6628 commit 9a159f37e00ed47ec8cbff7c57d8787b8f5685f5
 6629 Author: Emil Velikov <emil.velikov@collabora.com>
 6630 Date:   Mon Apr 2 16:41:14 2018 +0100
 6631 
 6632     dri3: annotate fds/strides/offsets arrays as const
 6633     
 6634     It makes it perfectly clear that we should not be modifying them.
 6635     Should help highlight issues like the one fixed with previous commit.
 6636     
 6637     Fixes: cef12efc15c ("glamor: Implement GetSupportedModifiers")
 6638     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 6639     Cc: Daniel Stone <daniels@collabora.com>
 6640     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6641     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 6642 
 6643 commit 877fa0c66469628748dbd01506f15ddc4f11b849
 6644 Author: Emil Velikov <emil.velikov@collabora.com>
 6645 Date:   Mon Apr 2 16:41:13 2018 +0100
 6646 
 6647     xwayland: don't close() fds we don't own
 6648     
 6649     The glamor_pixmap_from_fds error path erroneously closes the fds.
 6650     We don't own them, plus the caller closes them after the function in
 6651     called.
 6652     
 6653     Fixes: cef12efc15c ("glamor: Implement GetSupportedModifiers")
 6654     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 6655     Cc: Daniel Stone <daniels@collabora.com>
 6656     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6657     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 6658 
 6659 commit 66b632bb068672f507212b00bd313b5040bf1a39
 6660 Author: Emil Velikov <emil.velikov@collabora.com>
 6661 Date:   Mon Apr 2 16:41:12 2018 +0100
 6662 
 6663     dri3: annotate the dri3_screen_info data as const
 6664     
 6665     dri3_screen_info is the user provide dispatch. Something that we do
 6666     not and should not change.
 6667     
 6668     When using the _ptr typecast + const the compiler barfs at us
 6669     (rightfully so), so use the _rec one.
 6670     
 6671     [Silence a new const mismatch warning too - ajax]
 6672     
 6673     Fixes: 56313829886 ("dri3: Add DRI3 extension")
 6674     Cc: Keith Packard <keithp@keithp.com>
 6675     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6676     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 6677 
 6678 commit c67f2eac56518163981af59f5accb7c79bc00f6a
 6679 Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
 6680 Date:   Mon Apr 9 14:35:30 2018 +0200
 6681 
 6682     dix: always send focus event on grab change
 6683     
 6684     Focus events are useless when 'from' and 'to' are the same.  But when
 6685     this is the result of a (Un)GrabKeyboard request, we should always send
 6686     them, including when the window manager had previously used XSetInputFocus
 6687     to specify the focus on a window which happens to be now taking a grab.
 6688     
 6689     This is notably needed for window manager using XI to always get keyboard
 6690     events even during grabs, so they can determine exactly when grabbing is
 6691     active.
 6692     
 6693     Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
 6694     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 6695 
 6696 commit 14be894b3f7976c133fc186e0e3c475606bab241
 6697 Author: Michal Srb <msrb@suse.com>
 6698 Date:   Tue Aug 1 10:29:03 2017 +0200
 6699 
 6700     Xext: Fix memory leaks in hashtable.
 6701     
 6702     Do not forget to delete key and value of every item and the hashtable itself.
 6703 
 6704 commit 1326ee0bc5eb858c3c00847b3ba65134e4ca2e2d
 6705 Author: Michal Srb <msrb@suse.com>
 6706 Date:   Tue Feb 13 10:33:30 2018 +0100
 6707 
 6708     glx: Do not call into Composite if it is disabled.
 6709     
 6710     Otherwise X server crashes if GLX is enabled and Composite disabled. For
 6711     example the compIsAlternateVisual function will try to lookup CompScreenPtr
 6712     using the CompScreenPrivateKey, but that was never initialized if Composite is
 6713     disabled.
 6714     
 6715     Fixes: f84e59a4f4. ("glx: Duplicate relevant fbconfigs for compositing visuals")
 6716     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104993
 6717     Signed-off-by: Michal Srb <msrb@suse.com>
 6718 
 6719 commit b9764b8489cabd15b50c360cfbd799fdab0883fd
 6720 Author: Jon Turney <jon.turney@dronecode.org.uk>
 6721 Date:   Tue Apr 3 16:54:00 2018 +0100
 6722 
 6723     hw/xwin/glx: Allocate fbconfigs correctly
 6724     
 6725     4b0a3cba fixed leaking of GLX fbconfigs, so now xwin needs to allocate them
 6726     correctly (individually, rather than all at once), so they can be freed
 6727     successfully.
 6728     
 6729     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 6730     Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
 6731 
 6732 commit e0a137ce5d653063604fa8d16c8498b8ac3ab3a7
 6733 Author: Kyle Brenneman <kbrenneman@nvidia.com>
 6734 Date:   Fri Apr 6 12:42:33 2018 -0600
 6735 
 6736     GLX: Fix a use after free error with the GLVND vendor handle.
 6737     
 6738     The GLVND layer will destroy all of the vendor handles at the end of each
 6739     server generation, but the GLX module then tries to re-use the same (now-freed)
 6740     handle in xorgGlxServerInit at the start of the next generation.
 6741     
 6742     In xorgGlxCloseExtension, explicitly destroy the vendor handle and set it to
 6743     NULL so that the next call to xorgGlxServerInit will recreate it.
 6744     
 6745     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6746 
 6747 commit 31c1489eeb8c5391cd978303989de167819f0041
 6748 Author: Peter Hutterer <peter.hutterer@who-t.net>
 6749 Date:   Fri Apr 6 12:28:56 2018 +1000
 6750 
 6751     xfree86: drop KDSKBMUTE handling
 6752     
 6753     This was never merged upstream. It was a Fedora kernel patch but dropped from
 6754     Fedora in 2013 with kernel 3.12.
 6755     
 6756     The reason for the KDSKBMUTE proposal has been fixed in systemd in Feb 2013,
 6757     systemd 198.
 6758     https://lists.freedesktop.org/archives/systemd-devel/2013-February/008795.html
 6759     
 6760     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6761     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 6762 
 6763 commit 74aef564a7faea4410e92fa606216ab877b0d452
 6764 Author: Adam Jackson <ajax@redhat.com>
 6765 Date:   Thu Apr 5 13:24:13 2018 -0400
 6766 
 6767     xwayland: Silence a build warning if we can
 6768     
 6769     [735/786] Generating 'hw/xwayland/Xwayland@exe/relative-pointer-unstable-v1-protocol.c'.
 6770     Using "code" is deprecated - use private-code or public-code.
 6771     See the help page for details.
 6772     
 6773     Use private-code if wayland-scanner is new enough.
 6774     
 6775     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6776 
 6777 commit 6f0903ddc905f44272b85942323a467d82fef644
 6778 Author: Adam Jackson <ajax@redhat.com>
 6779 Date:   Thu Apr 5 13:09:38 2018 -0400
 6780 
 6781     dix: Hush an almost certainly bogus warning
 6782     
 6783     ../dix/getevents.c: In function ‘transformAbsolute’:
 6784     ../dix/getevents.c:1195:28: warning: ‘oy’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 6785          struct pixman_f_vector p = {.v = {*x, *y, 1} };
 6786                                 ^
 6787     ../dix/getevents.c:1234:22: note: ‘oy’ was declared here
 6788          double x, y, ox, oy;
 6789                           ^~
 6790     
 6791     This one is truly special. Even though both ox and oy are set and read
 6792     along the same paths, only oy is marked for this warning! Initializing
 6793     just oy = 0.0 fixes it entirely, but let's not make a weird thing
 6794     weirder.
 6795     
 6796     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6797     Acked-by: Keith Packard <keithp@keithp.com>
 6798 
 6799 commit 57e872301f5e836be2efb8f952f9c9711650b447
 6800 Author: Adam Jackson <ajax@redhat.com>
 6801 Date:   Thu Apr 5 13:07:09 2018 -0400
 6802 
 6803     mi: Hush an almost certainly bogus warning
 6804     
 6805     In file included from ../mi/miexpose.c:83:
 6806     ../mi/miexpose.c: In function ‘miHandleExposures’:
 6807     ../include/regionstr.h:174:22: warning: ‘expBox.y2’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 6808          (_pReg)->extents = *(_pBox);
 6809          ~~~~~~~~~~~~~~~~~^~~~~~~~~~
 6810     ../mi/miexpose.c:139:12: note: ‘expBox.y2’ was declared here
 6811          BoxRec expBox;
 6812                 ^~~~~~
 6813     
 6814     etc. It's initialized if (extents), and then only read if (extents),
 6815     but gcc doesn't seem to figure that out. Whatever, bzero it to be
 6816     explicit.
 6817     
 6818     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6819     Acked-by: Keith Packard <keithp@keithp.com>
 6820 
 6821 commit 83913de25d35709b3ab7b0ab124b73924145d2dd
 6822 Author: Adam Jackson <ajax@redhat.com>
 6823 Date:   Thu Apr 5 12:59:11 2018 -0400
 6824 
 6825     xkb: Silence some compiler warnings
 6826     
 6827     Of the form:
 6828     
 6829     ../xkb/XKBGAlloc.c: In function ‘SrvXkbAddGeomKeyAlias’:
 6830     ../xkb/XKBGAlloc.c:591:13: warning: ‘strncpy’ specified bound 4 equals destination size [-Wstringop-truncation]
 6831                  strncpy(alias->real, realStr, XkbKeyNameLength);
 6832                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 6833     
 6834     This is intentional; the code that reads from these fields never reads
 6835     more than 4 bytes anyway. Rephrase things in terms of memcpy so that's
 6836     clear. Obviously this is awful but in XKB awful is par.
 6837     
 6838     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6839     Acked-by: Keith Packard <keithp@keithp.com>
 6840 
 6841 commit d13cd3862e9ccd35c91a06680d02f2fc8fd03420
 6842 Author: Adam Jackson <ajax@redhat.com>
 6843 Date:   Thu Apr 5 12:48:26 2018 -0400
 6844 
 6845     dmx: Silence a string truncation warning.
 6846     
 6847     ../hw/dmx/config/dmxparse.c: In function ‘dmxConfigCreateOption’:
 6848     ../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]
 6849                  strncpy(option->string + offset, p->string, len);
 6850                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 6851     ../hw/dmx/config/dmxparse.c:383:23: note: length computed here
 6852                  int len = strlen(p->string);
 6853                            ^~~~~~~~~~~~~~~~~
 6854     
 6855     The thing it's warning about is intentional, the surrounding code does
 6856     its own nul-termination. Make that obvious by using memcpy instead.
 6857     
 6858     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6859     Acked-by: Keith Packard <keithp@keithp.com>
 6860 
 6861 commit 176f26e96ab9958c84c98c88f31729d0240c420e
 6862 Author: Adam Jackson <ajax@redhat.com>
 6863 Date:   Thu Apr 5 12:45:51 2018 -0400
 6864 
 6865     dmx: Clean up some argument parsing code
 6866     
 6867     This threw:
 6868     
 6869     ../hw/dmx/input/dmxarg.c: In function ‘dmxArgParse’:
 6870     ../hw/dmx/input/dmxarg.c:128:5: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
 6871          strncpy(tmp, string, len);
 6872          ^~~~~~~~~~~~~~~~~~~~~~~~~
 6873     ../hw/dmx/input/dmxarg.c:126:11: note: length computed here
 6874          len = strlen(string) + 2;
 6875                ^~~~~~~~~~~~~~
 6876     
 6877     This code predates xstrtokenize, but that's no excuse.
 6878     
 6879     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6880     Acked-by: Keith Packard <keithp@keithp.com>
 6881 
 6882 commit be99072a1a20af44d2457b8c86bd9041f61efa79
 6883 Author: Adam Jackson <ajax@redhat.com>
 6884 Date:   Thu Apr 5 12:35:59 2018 -0400
 6885 
 6886     dmx: Fix a read-from-uninitialized warning
 6887     
 6888     ../hw/dmx/dmxpixmap.c: In function ‘dmxBitmapToRegion’:
 6889     ../include/regionstr.h:174:22: warning: ‘Box.x1’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 6890          (_pReg)->extents = *(_pBox);
 6891          ~~~~~~~~~~~~~~~~~^~~~~~~~~~
 6892     ../hw/dmx/dmxpixmap.c:208:12: note: ‘Box.x1’ was declared here
 6893          BoxRec Box;
 6894                 ^~~
 6895     
 6896     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6897     Acked-by: Keith Packard <keithp@keithp.com>
 6898 
 6899 commit c3b190f9da3a8cd6f98c127220683dd20aed0f9b
 6900 Author: Adam Jackson <ajax@redhat.com>
 6901 Date:   Thu Apr 5 12:31:04 2018 -0400
 6902 
 6903     dmx: Fix some snprintf warnings.
 6904     
 6905     snprintf doesn't terminate the string if it truncates, so things like
 6906     this are lurking crashers:
 6907     
 6908     ../hw/dmx/dmxprop.c: In function ‘dmxPropertyIdentifier.part.0’:
 6909     ../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=]
 6910          snprintf(buf, sizeof(buf), "%s:%s:%s", DMX_IDENT, hostname, display);
 6911                                         ^~                 ~~~~~~~~
 6912     ../hw/dmx/dmxprop.c:94:5: note: ‘snprintf’ output 7 or more bytes (assuming 262) into a destination of size 128
 6913          snprintf(buf, sizeof(buf), "%s:%s:%s", DMX_IDENT, hostname, display);
 6914          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 6915     ../hw/dmx/dmxprop.c: In function ‘dmxPropertyWindow’:
 6916     ../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=]
 6917          snprintf(buf, sizeof(buf), "%s,%d", id, dmxScreen->index);
 6918                                         ^~
 6919     ../hw/dmx/dmxprop.c:372:5: note: ‘snprintf’ output between 3 and 140 bytes into a destination of size 128
 6920          snprintf(buf, sizeof(buf), "%s,%d", id, dmxScreen->index);
 6921          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 6922     
 6923     We could be more precise about termination, but meh.
 6924     
 6925     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6926     Acked-by: Keith Packard <keithp@keithp.com>
 6927 
 6928 commit 4c1453393feaebd688571ed1ba16c21703119ced
 6929 Author: Adam Jackson <ajax@redhat.com>
 6930 Date:   Thu Apr 5 12:21:53 2018 -0400
 6931 
 6932     gtf: Warning fix
 6933     
 6934     ../hw/xfree86/utils/gtf/gtf.c: In function ‘print_fb_mode’:
 6935     ../hw/xfree86/utils/gtf/gtf.c:241:50: warning: cast from function call of type ‘double’ to non-matching type ‘int’ [-Wbad-function-cast]
 6936          printf("    timings %d %d %d %d %d %d %d\n", (int) rint(1000000.0 / m->pclk),       /* pixclock in picoseconds */
 6937     
 6938     That's pretty nitpicky of you, gcc, but at least it's easy to fix.
 6939     
 6940     Signed-off-by: Adam Jackson <ajax@redhat.com>
 6941     Acked-by: Keith Packard <keithp@keithp.com>
 6942 
 6943 commit 99f9b077c62e14ba955b9c1f7afda47f7799d317
 6944 Author: Daniel Stone <daniels@collabora.com>
 6945 Date:   Thu Apr 5 16:47:39 2018 +0100
 6946 
 6947     modesetting: Actually get framebuffer ID
 6948     
 6949     We would fail to get the FB ID if it wasn't already imported, since we
 6950     were checking to see if the pointer was NULL (it never was) rather than
 6951     if the content of the pointer was 0.
 6952     
 6953     Signed-off-by: Daniel Stone <daniels@collabora.com>
 6954     Reported-by: Olivier Fourdan <ofourdan@redhat.com>
 6955     Tested-by: Olivier Fourdan <ofourdan@redhat.com>
 6956     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 6957 
 6958 commit 8ff1cdb2bff72a37e75004f562737dd0af6daf14
 6959 Author: Daniel Stone <daniels@collabora.com>
 6960 Date:   Thu Apr 5 15:00:38 2018 +0100
 6961 
 6962     dri3: Set stride and size for old clients
 6963     
 6964     For old clients using the fd_from_pixmap entrypoint, make sure we set
 6965     stride and size correctly.
 6966     
 6967     Noticed by inspection.
 6968     
 6969     Signed-off-by: Daniel Stone <daniels@collabora.com>
 6970 
 6971 commit 78574a66b5b286e26839877640592980de089d64
 6972 Author: Daniel Stone <daniels@collabora.com>
 6973 Date:   Thu Apr 5 14:58:40 2018 +0100
 6974 
 6975     modesetting: Don't reuse iterator in nested loop
 6976     
 6977     drmmode_crtc_set_mode has a loop nested inside another loop, where both
 6978     of them were using 'i' as the loop iterator. Rename it to avoid an
 6979     infinite loop.
 6980     
 6981     Signed-off-by: Daniel Stone <daniels@collabora.com>
 6982     Reported-by: Michel Dänzer <michel.daenzer@amd.com>
 6983     Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer@amd.com>
 6984     Reviewed-by: Adam Jackson <ajax@redhat.com>
 6985 
 6986 commit ce2a4313dd31084f7766af59b8477cabe029bf44
 6987 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 6988 Date:   Wed Apr 4 03:49:02 2018 +0200
 6989 
 6990     modesetting: Fix page flipping harder under DRI 3.2.
 6991     
 6992     Non-atomic kms drivers like radeon-kms (or nouveau-kms with
 6993     default setting of "atomic ioctl disabled") don't export
 6994     any formats, so num_formats == 0.
 6995     
 6996     Some atomic drivers (nouveau-kms with boot param nouveau.atomic=1,
 6997     or intel-kms on, e.g., Linux 4.13) expose num_formats == 0, or
 6998     don't expose any modifiers, so num_modifiers == 0.
 6999     
 7000     Let the drmmode_is_format_supported() check pass in these cases
 7001     to allow page flipping, as it works just fine.
 7002     
 7003     Tested on NV-96 for nouveau, HD-5770 for radeon, Intel Ivybridge
 7004     with Linux 4.13 and drm-next to fix page flipping.
 7005     
 7006     Fixes: 9d147305b404 ("modesetting: Check if buffer format is supported when flipping")
 7007     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 7008     Reviewed-by: Daniel Stone <daniels@collabora.com>
 7009 
 7010 commit 44e7098367b87c79470d6760753e42014be7ca01
 7011 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 7012 Date:   Wed Apr 4 00:01:15 2018 -0400
 7013 
 7014     modesetting: Have consistent state when using atomic modesetting
 7015     
 7016     We need to make sure that the atomic commit are consistent
 7017     or else the kernel will reject it. For example, when moving
 7018     a CRTC from one output to another one, the first output CRTC_ID
 7019     property needs to be reset. Also if the second output was using
 7020     another CRTC beforehands, it needs to be disabled to avoid an
 7021     inconsistent state.
 7022     
 7023     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 7024     Tested-by: Daniel Stone <daniels@collabora.com>
 7025     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7026 
 7027 commit bc4d278132956ec3c43695f1bd34083ef5fe7f22
 7028 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 7029 Date:   Wed Apr 4 00:01:14 2018 -0400
 7030 
 7031     modesetting: Use atomic modesetting to set DPMS mode
 7032     
 7033     CRTCs and outputs needs to be enabled/disabled when the current
 7034     DPMS mode is changed. We also try to do it in an atomic commit
 7035     when possible.
 7036     
 7037     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 7038     Tested-by: Daniel Stone <daniels@collabora.com>
 7039     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7040 
 7041 commit 23c67987a337beb91292f8e318d566941453baa3
 7042 Author: Daniel Stone <daniels@collabora.com>
 7043 Date:   Wed Apr 4 16:16:38 2018 +0100
 7044 
 7045     glamor: Add fd_from_pixmap hook
 7046     
 7047     Add a fd_from_pixmap (singular) hook to go with fds_from_pixmap, which
 7048     will ensure that the pixmap is allocated without modifiers and is thus
 7049     exportable to non-modifier-aware clients.
 7050     
 7051     This makes it possible to run a compositing manager on an old GLX/EGL
 7052     stack on top of an X server which allocates internal buffer storage
 7053     using exotic modifiers from modifier-aware GBM/EGL/KMS.
 7054     
 7055     Signed-off-by: Daniel Stone <daniels@collabora.com>
 7056     Reported-by: Adam Jackson <ajax@redhat.com>
 7057     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7058 
 7059 commit 9c407f0a1b40128fc65b19b6a499f1d4dae6f702
 7060 Author: Daniel Stone <daniels@collabora.com>
 7061 Date:   Wed Apr 4 16:16:37 2018 +0100
 7062 
 7063     glamor: Fall back to non-modifier allocations
 7064     
 7065     If we try to allocate with particular modifiers but it fails, try to
 7066     fall back to non-modifier allocations.
 7067     
 7068     Signed-off-by: Daniel Stone <daniels@collabora.com>
 7069     Reported-by: Adam Jackson <ajax@redhat.com>
 7070     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7071 
 7072 commit 86b2d8740a330deafe8a9bbf0402705a43efbb42
 7073 Author: Daniel Stone <daniels@collabora.com>
 7074 Date:   Wed Apr 4 16:16:36 2018 +0100
 7075 
 7076     glamor: Reallocate pixmap storage without modifiers if necessary
 7077     
 7078     If we need a pixmap's storage to be exported to a context in which we
 7079     aren't aware of modifiers, reallocate the buffer again without
 7080     modifiers.
 7081     
 7082     This makes it possible to run a compositing manager on an old GLX/EGL
 7083     stack on top of an X server which allocates internal buffer storage
 7084     using exotic modifiers from modifier-aware GBM/EGL/KMS.
 7085     
 7086     Signed-off-by: Daniel Stone <daniels@collabora.com>
 7087     Reported-by: Adam Jackson <ajax@redhat.com>
 7088     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7089 
 7090 commit aab5c46ccbe769830cae383330fd62c074a0d2f7
 7091 Author: Daniel Stone <daniels@collabora.com>
 7092 Date:   Wed Apr 4 16:16:35 2018 +0100
 7093 
 7094     glamor: Push make_exportable into callers
 7095     
 7096     Rather than calling make_exportable from the get_bo entrypoint, make
 7097     sure that someone has already explicitly requested the pixmap be
 7098     exportable.
 7099     
 7100     This is technically an ABI break in that it changes observable
 7101     behaviour, but no driver other than modesetting has ever used get_bo.
 7102     
 7103     Signed-off-by: Daniel Stone <daniels@collabora.com>
 7104     Reported-by: Adam Jackson <ajax@redhat.com>
 7105     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7106 
 7107 commit 1b9fa3b64ca420eb54b5e5f28074c326e1fbe825
 7108 Author: Daniel Stone <daniels@collabora.com>
 7109 Date:   Wed Apr 4 16:16:34 2018 +0100
 7110 
 7111     glamor: Track if BO allocation used modifiers
 7112     
 7113     Keep track of whether or not we fed modifiers into GBM when we allocated
 7114     a BO. We'll use this later inside Glamor, to reallocate buffer storage
 7115     if we allocate buffer storage using modifiers, and a non-modifier-aware
 7116     client requests an export of that pixmap.
 7117     
 7118     This makes it possible to run a compositing manager on an old GLX/EGL
 7119     stack on top of an X server which allocates internal buffer storage
 7120     using exotic modifiers from modifier-aware GBM/EGL/KMS.
 7121     
 7122     Signed-off-by: Daniel Stone <daniels@collabora.com>
 7123     Reported-by: Adam Jackson <ajax@redhat.com>
 7124     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7125 
 7126 commit 0e9504e10c4363e24a83f1a82e6a4b9f5fd8f846
 7127 Author: Daniel Stone <daniels@collabora.com>
 7128 Date:   Wed Apr 4 16:16:33 2018 +0100
 7129 
 7130     drmmode: Track if BO allocation used modifiers
 7131     
 7132     Keep track of whether or not we fed modifiers into GBM when we allocated
 7133     a BO. We'll use this later inside Glamor, to reallocate buffer storage
 7134     if we allocate buffer storage using modifiers, and a non-modifier-aware
 7135     client requests an export of that pixmap.
 7136     
 7137     This makes it possible to run a compositing manager on an old GLX/EGL
 7138     stack on top of an X server which allocates internal buffer storage
 7139     using exotic modifiers from modifier-aware GBM/EGL/KMS.
 7140     
 7141     Signed-off-by: Daniel Stone <daniels@collabora.com>
 7142     Reported-by: Adam Jackson <ajax@redhat.com>
 7143     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7144 
 7145 commit 75bba3aedcb04132a4fe2806680cd38a8f2bd206
 7146 Author: Daniel Stone <daniels@collabora.com>
 7147 Date:   Wed Apr 4 16:16:32 2018 +0100
 7148 
 7149     dri3: Use single-FD screen call for single-FD request
 7150     
 7151     When importing client buffers into Pixmaps, we can use the fds_to_pixmap
 7152     hook for both single-FD and multi-FD client requests without any harm.
 7153     
 7154     For the other direction of exporting Pixmap buffers to client FDs,
 7155     create a new helper which calls the old pixmap_to_fd hook if available.
 7156     This allows the implementation to ensure that the Pixmap storage is
 7157     accessible to clients not aware of multiple planes or modifiers, e.g. by
 7158     reallocating and copying.
 7159     
 7160     This makes it possible to run a compositing manager on an old GLX/EGL
 7161     stack on top of an X server which allocates internal buffer storage
 7162     using exotic modifiers from modifier-aware GBM/EGL/KMS.
 7163     
 7164     Signed-off-by: Daniel Stone <daniels@collabora.com>
 7165     Reported-by: Adam Jackson <ajax@redhat.com>
 7166     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7167 
 7168 commit 574069c2912893a9b9fd3d701eb3ad4784e31553
 7169 Author: Aaron Plattner <aplattner@nvidia.com>
 7170 Date:   Mon Apr 2 15:04:08 2018 -0700
 7171 
 7172     xfree86: Restore newline before "X Protocol Version" string
 7173     
 7174     The newline before the protocl version got lost in commit
 7175     6cbefc3e0a33b380c147c533914437c7798d9b93. Prior to that commit, the
 7176     release date printed a newline at the end:
 7177     
 7178      X.Org X Server 1.19.6
 7179      Release Date: 2017-12-20
 7180      X Protocol Version 11, Revision 0
 7181      Build Operating System: Linux 4.14.12-1-ARCH x86_64
 7182     
 7183     Now, that string gets run together with the version:
 7184     
 7185      X.Org X Server 1.19.99.903 (1.20.0 RC 3)X Protocol Version 11, Revision 0
 7186      Build Operating System: Linux
 7187     
 7188     Since the version string printing has a variety of #ifdefs in it, just
 7189     add the newline to the begining of the protocol version string.
 7190     
 7191     Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
 7192     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 7193     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 7194 
 7195 commit df6cbf7a2b3b45be6910afb34459d30ca7783c16
 7196 Author: Adam Jackson <ajax@redhat.com>
 7197 Date:   Mon Apr 2 15:44:50 2018 -0400
 7198 
 7199     xserver 1.20 RC3
 7200     
 7201     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7202 
 7203 commit f580116f3c89b3c086655cbd441f84e50115ea78
 7204 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 7205 Date:   Thu Mar 29 01:07:26 2018 -0400
 7206 
 7207     modesetting: Fix reported size when using atomic modesetting
 7208     
 7209     The framebuffer can include multiple CRTCs in multi-monitors
 7210     setup. So we shouldn't use the buffer size but the CRTC size
 7211     instead. Rotated displays are shadowed, so we don't need to
 7212     worry about it there.
 7213     
 7214     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 7215     Tested-by: Olivier Fourdan <ofourdan@redhat.com>
 7216     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 7217     Reviewed-by: Daniel Stone <daniels@collabora.com>
 7218 
 7219 commit ce7d5087cfe1d2df756d93b7f567b3c0b0a7f6a8
 7220 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 7221 Date:   Thu Mar 29 01:07:25 2018 -0400
 7222 
 7223     modesetting: Ignore alpha channel when importing BOs for modesetting
 7224     
 7225     Fixes a regression caused by modifiers support. For some hw to
 7226     continue working even if not supporting ARGB8888 and ARGB2101010
 7227     formats, we assume that all imported BOs are opaque.
 7228     
 7229     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 7230     Tested-by: Olivier Fourdan <ofourdan@redhat.com>
 7231     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 7232     Reviewed-by: Daniel Stone <daniels@collabora.com>
 7233 
 7234 commit 85b3fc18606e56d01734defb0e9fa04182f9fc1c
 7235 Author: Olivier Fourdan <ofourdan@redhat.com>
 7236 Date:   Thu Mar 29 09:42:08 2018 +0200
 7237 
 7238     modesetting: Use actual crtc position for pageflip
 7239     
 7240     Otherwise the same content is shown on all outputs.
 7241     
 7242     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 7243     Reviewed-by: Daniel Stone <daniels@collabora.comM>
 7244 
 7245 commit a10f1c9e08b982029186028b144d9243a2ebdde3
 7246 Author: Emil Velikov <emil.velikov@collabora.com>
 7247 Date:   Mon Apr 2 18:51:21 2018 +0100
 7248 
 7249     docs: remove resource management references
 7250     
 7251     The code referenced was removed back in 2009.
 7252     
 7253     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7254     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 7255 
 7256 commit 32c07e6b83fdb5b0ed99fc6b1eaa18064f6c3527
 7257 Author: Emil Velikov <emil.velikov@collabora.com>
 7258 Date:   Mon Apr 2 18:51:20 2018 +0100
 7259 
 7260     docs: purge some ISA references
 7261     
 7262     The respective ISA functions were dropped back in 2008
 7263     
 7264     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7265     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 7266 
 7267 commit 80d4098411ad96b662e830db06e59a7ab7f5c9d3
 7268 Author: Thierry Reding <treding@nvidia.com>
 7269 Date:   Thu Mar 29 13:07:56 2018 +0200
 7270 
 7271     meson: Add pixman-1 to required modules in xorg-server.pc
 7272     
 7273     pixman headers will be included for builds of external modules against
 7274     the xorg-server SDK. Make sure pixman is listed as a required module so
 7275     that the correct CFLAGS will be added.
 7276     
 7277     Note that the xorg-server.pc generated by the autotools-based build has
 7278     many more modules listed, but this seems to be enough to build at least
 7279     some of the external drivers against an X server built with Meson (I've
 7280     tested with xf86-input-libinput, xf86-video-nouveau and xf86-video-ati).
 7281     
 7282     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7283     Signed-off-by: Thierry Reding <treding@nvidia.com>
 7284 
 7285 commit 88c7b8bf4bae080ecb879fe7e3f8be2bede6f0a6
 7286 Author: Thierry Reding <treding@nvidia.com>
 7287 Date:   Thu Mar 29 13:07:55 2018 +0200
 7288 
 7289     meson: Distribute more SDK headers
 7290     
 7291     Install missing headers to the SDK directory to allow external modules
 7292     to properly build against the SDK. After this commit, the list of files
 7293     installed in the SDK include directory is the same as the list of files
 7294     installed by the autotools-based build.
 7295     
 7296     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7297     Signed-off-by: Thierry Reding <treding@nvidia.com>
 7298 
 7299 commit f3b0a2aee21f12f3332bf598d3ba0fcbd2832f95
 7300 Author: Thierry Reding <treding@nvidia.com>
 7301 Date:   Thu Mar 29 13:07:54 2018 +0200
 7302 
 7303     meson: Remove usage of pkg-config --variable=includedir
 7304     
 7305     Querying a pkg-config variable using the --variable option produces the
 7306     value of the given variable as stored in the pkg-config file and should
 7307     not be used to add directories to the include search path.
 7308     
 7309     The reason for this is that it breaks cross-compilation, because header
 7310     files are installed relative to the host sysroot. pkg-config supports a
 7311     PKG_CONFIG_SYSROOT_DIR environment variable that points to this sysroot
 7312     and will prepend that to the path of directories in -I or -L options in
 7313     pkg-config's Cflags, Libs or Libs.private keywords. However, because no
 7314     context can be inferred from variable names, as opposed to the keywords
 7315     with fixed meaning, the sysroot path will not be prepended to them. The
 7316     build system is responsible for doing so if necessary since it is aware
 7317     of the context in which the variable is used.
 7318     
 7319     Adding the include directory returned by pkg-config to the include path
 7320     leaks build system information into the cross-build and break with very
 7321     confusing errors such as this:
 7322     
 7323             In file included from include/misc.h:82:0,
 7324                              from dix/atom.c:55:
 7325             /usr/include/pthread.h:682:6: warning: '__regparm__' attribute directive ignored [-Wattributes]
 7326                   __cleanup_fct_attribute;
 7327                   ^~~~~~~~~~~~~~~~~~~~~~~
 7328     
 7329     or this:
 7330     
 7331             In file included from include/misc.h:139:0,
 7332                              from dix/atom.c:55:
 7333             /usr/include/stdlib.h:133:8: error: '_Float128' is not supported on this target
 7334              extern _Float128 strtof128 (const char *__restrict __nptr,
 7335                     ^~~~~~~~~
 7336     
 7337     Fix this by replacing the include directory with the appropriate xproto
 7338     dependency required to add the correct include directory to the compile
 7339     command for subdirectories that are missing the dependency. As detailed
 7340     above, this gives pkg-config the opportunity to prepend the sysroot for
 7341     all paths in -I compiler options.
 7342     
 7343     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7344     Signed-off-by: Thierry Reding <treding@nvidia.com>
 7345 
 7346 commit 1c002bc43472063cf8599abb0d6d7367e30456e2
 7347 Author: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
 7348 Date:   Fri Mar 30 22:32:13 2018 +0200
 7349 
 7350     modesetting/drmmode: add NULL pointer check in drmmode_output_dpms
 7351     
 7352     drmmode_output_dpms is called especially with !output->crtc found in
 7353     xf86DisableUnusedFunctions so we have to guard for it, else the server
 7354     segfaults:
 7355     
 7356     0  0x00007fdc1706054b in drmmode_output_dpms (output=0x55e15243c210, mode=3) at
 7357     drmmode_display.c:2243
 7358     1  0x000055e1500b6873 in xf86DisableUnusedFunctions (pScrn=0x55e152133f00) at
 7359     xf86Crtc.c:3021
 7360     2  0x000055e1500be940 in xf86RandR12CrtcSet (pScreen=<optimized out>,
 7361     randr_crtc=0x55e1524b2b90, randr_mode=0x0, x=0, y=0, rotation=<optimized out>,
 7362     num_randr_outputs=0, randr_outputs=0x0) at xf86RandR12.c:1244
 7363     3  0x000055e1500fa1c2 in RRCrtcSet (crtc=<optimized out>, mode=0x0, x=0, y=0,
 7364     rotation=rotation@entry=1, numOutputs=numOutputs@entry=0, outputs=0x0) at
 7365     rrcrtc.c:763
 7366     4  0x000055e1500fba9e in ProcRRSetCrtcConfig (client=0x55e152bfae50) at
 7367     rrcrtc.c:1390
 7368     5  0x000055e150044008 in Dispatch () at dispatch.c:478
 7369     6  0x000055e150047ff8 in dix_main (argc=13, argv=0x7ffc68561038,
 7370     envp=<optimized out>) at main.c:276
 7371     7  0x00007fdc1a0c6a87 in __libc_start_main () at /lib64/libc.so.6
 7372     8  0x000055e150031d0a in _start () at ../sysdeps/x86_64/start.S:120
 7373     
 7374     Fixes: ba0c75177 ("modesetting: Fix up some XXX from removing GLAMOR_HAS_DRM_*")
 7375     Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
 7376     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7377 
 7378 commit 258081759fa70202a2e6134eeee4fe25ca54bedb
 7379 Author: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
 7380 Date:   Fri Mar 30 22:31:46 2018 +0200
 7381 
 7382     glamor: sanitze handling of "Debug" Option for "dmabuf_capable"
 7383     
 7384     With the appearance of the this new Option the X Server would crash if the
 7385     option is not set.
 7386     
 7387     Default dmabuf_capable to off/FALSE for now - a user without knowledge about
 7388     this option does not want to enable it until its save.
 7389     
 7390     Fixes: d11d5bb80 ("glamor: Hide new DRI behind Option "Debug" "dmabuf_capable")
 7391     Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
 7392     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7393 
 7394 commit debf75bd0b0ddfec82dad9580efa7d19479b55df
 7395 Author: Adam Jackson <ajax@redhat.com>
 7396 Date:   Wed Mar 28 15:47:33 2018 -0400
 7397 
 7398     xserver 1.20 RC2
 7399     
 7400     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7401 
 7402 commit 726839459cb887a60361cb4779f9871c03f372b1
 7403 Author: Adam Jackson <ajax@redhat.com>
 7404 Date:   Wed Mar 28 16:11:18 2018 -0400
 7405 
 7406     autotools: Derive xkb configuration from xkbcomp.pc
 7407     
 7408     ... if available, falling back to the current heuristics otherwise. This
 7409     _finally_ gets me to being able to run util/modular/release.sh without
 7410     overriding $prefix.
 7411     
 7412     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7413 
 7414 commit d11d5bb80d21f2aaa54ddf2f26a50aa6ef31d2fa
 7415 Author: Adam Jackson <ajax@redhat.com>
 7416 Date:   Wed Mar 28 12:46:01 2018 -0400
 7417 
 7418     glamor: Hide new DRI behind Option "Debug" "dmabuf_capable"
 7419     
 7420     ... for xfree86, at least for now. Things appear to work for Xwayland
 7421     but not yet for modesetting. Hopefully we can fix that before 1.20 but
 7422     in the meantime this makes testing both paths easier than a rebuild.
 7423     
 7424     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7425 
 7426 commit df13ea7da9174d2e1c732985d9b7a9a35a6916bc
 7427 Author: Adam Jackson <ajax@redhat.com>
 7428 Date:   Wed Mar 28 12:46:00 2018 -0400
 7429 
 7430     xfree86: Add Option "Debug" to ServerFlags
 7431     
 7432     This provides a generic way to control obscure runtime behavior knobs
 7433     without making interface promises.
 7434     
 7435     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7436 
 7437 commit c95361465ee98dd97a99778d8a31be88fe9e4c4f
 7438 Author: Antoine Martin <antoine@nagafix.co.uk>
 7439 Date:   Wed Mar 28 15:16:02 2018 -0400
 7440 
 7441     os: Fix -logfile when used with -displayfd
 7442     
 7443     Trivial way to reproduce the bug:
 7444     
 7445     $ Xorg -logfile /tmp/mylog -config /etc/xpra/xorg.conf -displayfd 2
 7446     
 7447     The server then moans:
 7448     
 7449     Failed to rename log file "/tmp/mylog" to "/tmp/mylog": No such file or directory
 7450     
 7451     And the log file is created but immediately renamed to "/tmp/mylog.old".
 7452     This is caused by the changes to the log file handling introduced by
 7453     this commit:
 7454     
 7455     https://cgit.freedesktop.org/xorg/xserver/commit/?id=edcb6426f20c3be5dd5f50b76a686754aef2f64e
 7456     
 7457     To fix this, only rename the logfile if the log filename contains the
 7458     magic substitution string "%s".
 7459     
 7460     Signed-off-by: Antoine Martin <antoine@nagafix.co.uk>
 7461     Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 7462 
 7463 commit b355e55f500c18d55d0ac241e5f7e826ed62f555
 7464 Author: Olivier Fourdan <ofourdan@redhat.com>
 7465 Date:   Wed Mar 28 12:17:48 2018 +0200
 7466 
 7467     automake: Fix 'make dist'
 7468     
 7469     Automake would skip a few meson files that would prevent to build with
 7470     meson a dist file previously generated by automake.
 7471     
 7472     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
 7473     Reviewed-by: Thierry Reding <treding@nvidia.com>
 7474 
 7475 commit 16639ab77d14cecb7d03fd2d5c796c2fb1714c18
 7476 Author: Kyle Brenneman <kbrenneman@nvidia.com>
 7477 Date:   Fri Mar 2 17:58:07 2018 -0700
 7478 
 7479     Don't delete GLX's extensionInitCallback list during a reset.
 7480     
 7481     When a callback list is initialized using CreateCallbackList via AddCallback,
 7482     the list gets added to the listsToCleanup array, and as a result the list gets
 7483     deleted at the end of the server generation.
 7484     
 7485     But, vendor libraries add themselves to that callback list only once, not once
 7486     per generation, so if you delete the list, then no vendor will register itself
 7487     on the next generation, and GLX breaks.
 7488     
 7489     Instead, use a static CallbackListRec for the extensionInitCallback list. That
 7490     way, it doesn't get added to listsToCleanup, and doesn't get deleted during a
 7491     reset.
 7492     
 7493     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7494 
 7495 commit 7004a7c3c983b4453756b92341bf22790b1eb98d
 7496 Author: Daniel Stone <daniels@collabora.com>
 7497 Date:   Fri Mar 23 13:50:23 2018 +0000
 7498 
 7499     modesetting/drmmode: Remove unused flink call
 7500     
 7501     We don't use flink in the GetFB import path anymore, as we do an
 7502     FD-based import instead.
 7503     
 7504     Signed-off-by: Daniel Stone <daniels@collabora.com>
 7505     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 7506 
 7507 commit be087778a0eae3093ffdbba3ff7c9f3863d8e1d4
 7508 Author: Roman Gilg <subdiff@gmail.com>
 7509 Date:   Tue Mar 13 16:00:57 2018 +0100
 7510 
 7511     xwayland: Activate Present flips in rootless mode with Glamor
 7512     
 7513     Link the newly introduced support for Present flips. For now flips can only
 7514     be used in rootless mode together with Glamor.
 7515     
 7516     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 7517     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7518 
 7519 commit 07750ff3c084c6549a5612d1f935a9a3ab3df67c
 7520 Author: Roman Gilg <subdiff@gmail.com>
 7521 Date:   Tue Mar 13 16:00:55 2018 +0100
 7522 
 7523     xwayland: Implement queuing present vblanks
 7524     
 7525     Queue present events to msc values. Fake msc events with a refresh rate of
 7526     about 60fps when flips are not possible. When flips are executed rely on
 7527     frame callbacks with a slow updating timer as fallback.
 7528     
 7529     This is important for applications, that want to limit their framerate.
 7530     
 7531     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 7532     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7533 
 7534 commit 86df366973de1c10da5fbdc57d1ff12b681c321f
 7535 Author: Roman Gilg <subdiff@gmail.com>
 7536 Date:   Tue Mar 13 16:00:54 2018 +0100
 7537 
 7538     xwayland: Add fallback timer for msc counting
 7539     
 7540     When the compositor is not sending frame callbacks while we still wait
 7541     on buffer release events fake a continuous msc counter with a timer.
 7542     
 7543     Having this timer is a prerequisite for queuing events.
 7544     
 7545     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 7546     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7547 
 7548 commit 0fb2cca193e60b731c8e75a2a7e795477fb5fd8f
 7549 Author: Roman Gilg <subdiff@gmail.com>
 7550 Date:   Tue Mar 13 16:00:53 2018 +0100
 7551 
 7552     xwayland: Preliminary support for Present's new window flip mode
 7553     
 7554     Introduce support for Present's window flip mode. The support is not yet
 7555     complete, but works reasonable well for the most important use case, that
 7556     is fullscreen applications.
 7557     
 7558     We take a Present flip and if the xwl_window->window has the same dimensions
 7559     as the presenting window, the flip is represented by a wl_buffer and attached
 7560     to the main wl_surface of the xwl_window.
 7561     
 7562     After commit we are listening for the sync callback in order to tell Present,
 7563     that the pixmap flip is not longer pending, for the frame callback in order
 7564     to update the msc counter and for the buffer release callback in order to tell
 7565     Present that the pixmap is idle again.
 7566     
 7567     The following functionality is missing from this patch:
 7568     * (slowed down) flips in case the compositor is not sending frame callbacks,
 7569     * queuing events to MSC times,
 7570     * per window flips for child windows with smaller size than the xwl_window.
 7571     
 7572     To make use of this functionality Xwayland must run rootless and with
 7573     Glamor/GBM.
 7574     
 7575     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 7576     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7577 
 7578 commit 8fba2a03f1410f3bc7504e218ac1e5c964279ea2
 7579 Author: Roman Gilg <subdiff@gmail.com>
 7580 Date:   Tue Mar 13 16:00:52 2018 +0100
 7581 
 7582     xwayland: Add arguments to glamor_pixmap_get_wl_buffer
 7583     
 7584     Add arguments to give the caller more information and control
 7585     over the creation of a wl_buffer with GBM, in particular let
 7586     the caller determine the size of the buffer.
 7587     
 7588     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 7589     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7590 
 7591 commit 902429f077325b98e30ede2710bd7a88440d2937
 7592 Author: Roman Gilg <subdiff@gmail.com>
 7593 Date:   Tue Mar 13 16:00:51 2018 +0100
 7594 
 7595     present: Add exported init function of window flip mode
 7596     
 7597     Allow drivers now to initialize window flip mode.
 7598     
 7599     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 7600     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7601 
 7602 commit a337949f99bc473ea0ae0af64736eae3d5b39399
 7603 Author: Roman Gilg <subdiff@gmail.com>
 7604 Date:   Tue Mar 13 16:00:50 2018 +0100
 7605 
 7606     present: Add cleanups for window flip mode
 7607     
 7608     Make sure that vblanks and windows get cleaned up correctly
 7609     in window flip mode.
 7610     
 7611     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 7612     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7613 
 7614 commit 66a5c0bccb222ad8b9b57b10490c3041e1b3f05e
 7615 Author: Roman Gilg <subdiff@gmail.com>
 7616 Date:   Tue Mar 13 16:00:49 2018 +0100
 7617 
 7618     present: In window flip mode report damage on flip to driver
 7619     
 7620     Calculate damage before trying to flip and report it to the driver.
 7621     This allows drivers to optimize their rendering.
 7622     
 7623     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 7624     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7625 
 7626 commit 029608dd80204ac96423ef79ec46c1a18bbdd5ff
 7627 Author: Roman Gilg <subdiff@gmail.com>
 7628 Date:   Tue Mar 13 16:00:48 2018 +0100
 7629 
 7630     present: Add window flip mode
 7631     
 7632     In contrast to screen flip mode this mode:
 7633     * supports flips per windows (these windows currently need to have the same
 7634       size as their parent windows with the same pixmap),
 7635     * sends pixmap idle signals to the client only after the driver has given
 7636       an additional event notify.
 7637     
 7638     This patch only introduces the new mode as a stub. It additionally needs a
 7639     driver hook, such that it can get initialized and appropriate cleanup
 7640     functions.
 7641     
 7642     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 7643     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7644 
 7645 commit 8d370fcdcaed210d9f4afc1650aa8b161c7fbb44
 7646 Author: Roman Gilg <subdiff@gmail.com>
 7647 Date:   Tue Mar 13 16:00:47 2018 +0100
 7648 
 7649     present: Add driver facing window flip mode hooks
 7650     
 7651     To enable special functionality of window flips introduce for window flips
 7652     a separate set of driver facing function hooks.
 7653     
 7654     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 7655     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7656 
 7657 commit 7b071b4e440313254398f06eb59b1596a6d3e8fe
 7658 Author: Roman Gilg <subdiff@gmail.com>
 7659 Date:   Tue Mar 13 16:00:46 2018 +0100
 7660 
 7661     present: Adapt flip mode API hooks for window flip mode
 7662     
 7663     Flipping pixmaps per window needs additional arguments in the
 7664     flip mode API. Add these as preperation for window flip mode.
 7665     
 7666     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 7667     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7668 
 7669 commit 92b91b8cf34a38de39281044d8441b6cabe87a85
 7670 Author: Roman Gilg <subdiff@gmail.com>
 7671 Date:   Tue Mar 13 16:00:45 2018 +0100
 7672 
 7673     present: Add flip_idler vblank property
 7674     
 7675     Introduce vblank property for flip modes, that demand explicite
 7676     allowance by the driver for vblanks to become idle.
 7677     
 7678     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 7679     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7680 
 7681 commit 84e47f3fe68f05f7b0b762e96acd4c95fa8000ca
 7682 Author: Roman Gilg <subdiff@gmail.com>
 7683 Date:   Tue Mar 13 16:00:44 2018 +0100
 7684 
 7685     present: Add present_window_priv properties for window flip mode
 7686     
 7687     For window flip mode data about flips needs to be stored per window.
 7688     Add properties to 'present_window_priv' and initialize them on creation.
 7689     
 7690     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 7691     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7692 
 7693 commit 3aaaac0be573fb09a206966075d81ebe0510ca23
 7694 Author: Roman Gilg <subdiff@gmail.com>
 7695 Date:   Tue Mar 13 16:00:43 2018 +0100
 7696 
 7697     present: Refactor present_screen_init
 7698     
 7699     To initialize easily different flip modes, refactor
 7700     'present_screen_init'.
 7701     
 7702     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 7703     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7704 
 7705 commit 6d813bbd5ea0fc38a8114c08368a7954eeb2ef37
 7706 Author: Roman Gilg <subdiff@gmail.com>
 7707 Date:   Tue Mar 13 16:00:42 2018 +0100
 7708 
 7709     present: Add more hooks to internal flip mode API
 7710     
 7711     Add hooks to query caps, get crtcs, abort vblanks and destroy
 7712     a flip.
 7713     
 7714     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 7715     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7716 
 7717 commit 6a338b5959ca5a9e5260d71b6a739a5c672d77e7
 7718 Author: Roman Gilg <subdiff@gmail.com>
 7719 Date:   Tue Mar 13 16:00:41 2018 +0100
 7720 
 7721     present: Move timings adjustment in common part of flip mode API
 7722     
 7723     To reduce future code duplication refactor timings adjustment out
 7724     as a separate function.
 7725     
 7726     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 7727     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7728 
 7729 commit 84112a1d0b221c00d7d3c23fd5b97687e6e3749a
 7730 Author: Roman Gilg <subdiff@gmail.com>
 7731 Date:   Tue Mar 13 16:00:40 2018 +0100
 7732 
 7733     present: Add flip mode API hook for present_can_window_flip
 7734     
 7735     Flip modes can now have different implementations of
 7736     present_can_window_flip.
 7737     
 7738     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 7739     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7740 
 7741 commit 1db7cf0429eabf33f8e2b55a15db4d1f87e1fb95
 7742 Author: Roman Gilg <subdiff@gmail.com>
 7743 Date:   Tue Mar 13 16:00:39 2018 +0100
 7744 
 7745     present: Add flip mode API hook for present_pixmap
 7746     
 7747     Make present_pixmap a common function callable by any
 7748     flip mode.
 7749     
 7750     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 7751     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7752 
 7753 commit 679ffbf5f39822ea508e50f1b7c92a2a9e79f7bb
 7754 Author: Roman Gilg <subdiff@gmail.com>
 7755 Date:   Tue Mar 13 16:00:38 2018 +0100
 7756 
 7757     present: Refactor execute in separate file
 7758     
 7759     To be shared by multiple flip modes, refactor execute functionality,
 7760     such that logical chunks can go in new separate file.
 7761     
 7762     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 7763     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7764 
 7765 commit 1e7d8902bfe7cfb79c41b14fc6b50bcbe4f7c800
 7766 Author: Roman Gilg <subdiff@gmail.com>
 7767 Date:   Tue Mar 13 16:00:37 2018 +0100
 7768 
 7769     present: Add flip mode API hooks for several functions
 7770     
 7771     Add 'queue_vblank', 'flush' and 're_execute' hooks, that
 7772     are supposed to be shared with other flip modes.
 7773     
 7774     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 7775     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7776 
 7777 commit 5365ece70a75a05df3d6351767d19c3edcf0305d
 7778 Author: Roman Gilg <subdiff@gmail.com>
 7779 Date:   Tue Mar 13 16:00:36 2018 +0100
 7780 
 7781     present: Move vblank functionality in seperate file
 7782     
 7783     With the new internal flip mode API move vblank creation
 7784     and so on into a seperate file, such that it can be shared
 7785     between flip modes.
 7786     
 7787     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 7788     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7789 
 7790 commit c5c50c6db1e71e976596750277b1a618704c04aa
 7791 Author: Roman Gilg <subdiff@gmail.com>
 7792 Date:   Tue Mar 13 16:00:35 2018 +0100
 7793 
 7794     present: Preliminary internal flip mode API
 7795     
 7796     Add some basic function hooks to our future present-internal flip mode API,
 7797     that will allow us to share functionality in between modes and move more code
 7798     in separate files.
 7799     
 7800     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 7801     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7802 
 7803 commit dda7efec36b495e100e670e057d7ef5022ef3976
 7804 Author: Roman Gilg <subdiff@gmail.com>
 7805 Date:   Tue Mar 13 16:00:34 2018 +0100
 7806 
 7807     present: Move screen flip functionality in separate file
 7808     
 7809     As a preperation for future flip mode alternatives move most of the
 7810     functionality from 'present.c' into a separate file.
 7811     
 7812     Leave some functions needed by future other flip modes in 'present.c'.
 7813     
 7814     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 7815     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7816 
 7817 commit 4303deae78c4e2a60856be87bf87cd1643c268f5
 7818 Author: Thierry Reding <treding@nvidia.com>
 7819 Date:   Wed Mar 28 14:04:38 2018 +0200
 7820 
 7821     meson: Properly extract ABI versions for xorg-server.pc
 7822     
 7823     The newline in the middle of the awk expression confuses Meson and
 7824     causes it to pass only the string before the newline to awk, which will
 7825     subsequently fail because it encounters an unterminated string.
 7826     
 7827     One fix would be to escape the newlines ('\\n'), but that causes the
 7828     newline to end up in the pkg-config file and separate the ABI version
 7829     lines by blank lines.
 7830     
 7831     Instead, simply drop the newlines to make the generated pkg-config file
 7832     look more like the one generated as part of the autotools-based build.
 7833     
 7834     Signed-off-by: Thierry Reding <treding@nvidia.com>
 7835     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7836 
 7837 commit 465b38cadd573ce50eca959f4b56bf4a6a638d91
 7838 Author: Thierry Reding <treding@nvidia.com>
 7839 Date:   Wed Mar 28 14:04:37 2018 +0200
 7840 
 7841     meson: Fix generation of xorg-server.pc
 7842     
 7843     Meson stores relative paths for includedir, libdir and friends. These
 7844     have to be concatenated with the ${prefix} or ${exec_prefix} variables
 7845     to create a working pkg-config file.
 7846     
 7847     While at it, set a default value for the module_dir option so that it
 7848     points to the same location as used in the autotools-based build.
 7849     
 7850     Signed-off-by: Thierry Reding <treding@nvidia.com>
 7851     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7852 
 7853 commit d905e3330fd4f9b15a0277b22d608705787cb8bc
 7854 Author: Thierry Reding <treding@nvidia.com>
 7855 Date:   Wed Mar 28 14:04:36 2018 +0200
 7856 
 7857     meson: Fill in missing data for xorg-server.h
 7858     
 7859     Provide more values for the definitions in xorg-server.h for Meson
 7860     builds. The only missing defines left after this are _BSD_SOURCE,
 7861     _POSIX_SOURCE and _XOPEN_SOURCE, but Meson seems to already define
 7862     these via the command-line if necessary.
 7863     
 7864     Signed-off-by: Thierry Reding <treding@nvidia.com>
 7865     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7866 
 7867 commit 0babe78ed5afec8a06a517346f39b5ebd003773c
 7868 Author: Thierry Reding <treding@nvidia.com>
 7869 Date:   Wed Mar 28 14:04:35 2018 +0200
 7870 
 7871     meson: Generate xorg-server.h
 7872     
 7873     Some drivers (such as xf86-input-libinput) require the xorg-server.h to
 7874     build. Generate it and install it so that it can be used by users.
 7875     
 7876     Signed-off-by: Thierry Reding <treding@nvidia.com>
 7877     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7878 
 7879 commit b04ff31b9d471822fe96ed63eda93fc4cd8c22d0
 7880 Author: Thierry Reding <treding@nvidia.com>
 7881 Date:   Wed Mar 28 14:04:34 2018 +0200
 7882 
 7883     dix: Remove unused definitions from dix-config.h.in
 7884     
 7885     There is no code around that will ever define values for the
 7886     WORKING_UNALIGNED_INT or XORG_RELEASE symbols, so they will always end
 7887     up commented out and are therefore completely useless.
 7888     
 7889     Signed-off-by: Thierry Reding <treding@nvidia.com>
 7890     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7891 
 7892 commit c62a8b60b9a07092ebebf9aeb67a0c39c583aabe
 7893 Author: Thierry Reding <treding@nvidia.com>
 7894 Date:   Wed Mar 28 14:04:33 2018 +0200
 7895 
 7896     xorg: Remove unused definitions from xorg-server.h.in
 7897     
 7898     There is no code around that will ever define values for the XLOADABLE,
 7899     WORKING_UNALIGNED_INT or XORG_RELEASE symbols, so they will always end
 7900     up commented out and are therefore completely useless.
 7901     
 7902     Signed-off-by: Thierry Reding <treding@nvidia.com>
 7903     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7904 
 7905 commit 66402fcd8280b393d3992121c0bcff9c646c97ed
 7906 Author: Thierry Reding <treding@nvidia.com>
 7907 Date:   Wed Mar 28 14:04:32 2018 +0200
 7908 
 7909     meson: Fix build if Xdmcp is missing
 7910     
 7911     Xdmcp is an optional dependency, so make sure the build succeeds if it
 7912     is missing.
 7913     
 7914     Signed-off-by: Thierry Reding <treding@nvidia.com>
 7915     Reviewed-by: Adam Jackson <ajax@redhat.com>
 7916 
 7917 commit 0a7dabc86c1a7b8d91a5d22ad12fbf03d859f43e
 7918 Author: Adam Jackson <ajax@redhat.com>
 7919 Date:   Mon Mar 26 14:57:07 2018 -0400
 7920 
 7921     meson: Add option to set default font path (v2)
 7922     
 7923     The autotools build gets this from some macros in fontutil, but they're
 7924     just wrappers around pkgconfig.
 7925     
 7926     v2: Use same default as autotools (Keith Packard)
 7927     
 7928     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7929     Reviewed-by: Keith Packard <keithp@keithp.com>
 7930 
 7931 commit a26195d5c1eba86ada8f43e775c4190683e0f874
 7932 Author: Adam Jackson <ajax@redhat.com>
 7933 Date:   Tue Mar 27 12:58:15 2018 -0400
 7934 
 7935     Revert "suid touchup"
 7936     
 7937     Pushed the wrong thing, sigh.
 7938     
 7939     This reverts commit 73a0562615aa1adfb934b953e23b1e69b126db4f.
 7940 
 7941 commit 73a0562615aa1adfb934b953e23b1e69b126db4f
 7942 Author: Adam Jackson <ajax@redhat.com>
 7943 Date:   Tue Mar 27 12:06:38 2018 -0400
 7944 
 7945     suid touchup
 7946 
 7947 commit 64b3227374f7f161e610df735f376fcc5bb0fd58
 7948 Author: Adam Jackson <ajax@redhat.com>
 7949 Date:   Tue Mar 27 10:47:05 2018 -0400
 7950 
 7951     autotools: Fix excessive \-escaping that broke the build
 7952     
 7953     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7954 
 7955 commit d3e8af99dc1139fac3307bbcb0046500b3feff11
 7956 Author: Adam Jackson <ajax@redhat.com>
 7957 Date:   Mon Mar 26 18:43:02 2018 -0400
 7958 
 7959     meson: Fix install path for 10-quirks.conf
 7960     
 7961     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7962     Reviewed-by: Keith Packard <keithp@keithp.com>
 7963 
 7964 commit 84507507ea03db2f6197b94c160bbee9768c4baa
 7965 Author: Adam Jackson <ajax@redhat.com>
 7966 Date:   Mon Mar 26 18:43:01 2018 -0400
 7967 
 7968     meson: Install xorg-server.m4
 7969     
 7970     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7971     Reviewed-by: Keith Packard <keithp@keithp.com>
 7972 
 7973 commit 8c684f59d517db0812fbad5fc6bcd90c7c810493
 7974 Author: Adam Jackson <ajax@redhat.com>
 7975 Date:   Mon Mar 26 18:43:00 2018 -0400
 7976 
 7977     meson: Generate xorg-server.pc
 7978     
 7979     Otherwise external drivers can't build against us.
 7980     
 7981     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7982     Acked-by: Keith Packard <keithp@keithp.com>
 7983 
 7984 commit 9b67303a52f5380bc96862624778b101f6379527
 7985 Author: Adam Jackson <ajax@redhat.com>
 7986 Date:   Mon Mar 26 18:42:59 2018 -0400
 7987 
 7988     meson: Install the dmx utilities
 7989     
 7990     And add the forgotten dmxrminput to the list.
 7991     
 7992     Signed-off-by: Adam Jackson <ajax@redhat.com>
 7993     Reviewed-by: Keith Packard <keithp@keithp.com>
 7994 
 7995 commit f9ef293cf612e50830ff316d67066ea544905dc9
 7996 Author: Adam Jackson <ajax@redhat.com>
 7997 Date:   Mon Mar 26 18:42:58 2018 -0400
 7998 
 7999     meson: Build cvt and gtf
 8000     
 8001     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8002     Reviewed-by: Keith Packard <keithp@keithp.com>
 8003 
 8004 commit a1e8dc05163956de9ab73e567f86b91cb8790c0f
 8005 Author: Adam Jackson <ajax@redhat.com>
 8006 Date:   Mon Mar 26 18:42:57 2018 -0400
 8007 
 8008     meson: Install man pages
 8009     
 8010     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8011     Acked-by: Keith Packard <keithp@keithp.com>
 8012 
 8013 commit 1e0df64738d6924151adbbd4b040df80178cfa6b
 8014 Author: Adam Jackson <ajax@redhat.com>
 8015 Date:   Mon Mar 26 18:42:55 2018 -0400
 8016 
 8017     meson: Build Xorg suid wrapper
 8018     
 8019     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8020     Reviewed-by: Keith Packard <keithp@keithp.com>
 8021 
 8022 commit ab063cf96779c521618c022d4f669f69e3d9cc8f
 8023 Author: Adam Jackson <ajax@redhat.com>
 8024 Date:   Mon Mar 26 18:42:54 2018 -0400
 8025 
 8026     meson: Fix installing protocol.txt
 8027     
 8028     One fix the constructed path, two actually install it.
 8029     
 8030     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8031     Reviewed-by: Keith Packard <keithp@keithp.com>
 8032 
 8033 commit e3baacacda29afe524b3e4cab78ca057241c0551
 8034 Author: Adam Jackson <ajax@redhat.com>
 8035 Date:   Mon Mar 26 18:42:53 2018 -0400
 8036 
 8037     meson: Add libdrm to hw/xfree86/common's dependencies
 8038     
 8039     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8040     Acked-by: Keith Packard <keithp@keithp.com>
 8041 
 8042 commit 2e497bf887aca832dc0dd30d071c5288ab5c1e15
 8043 Author: Adam Jackson <ajax@redhat.com>
 8044 Date:   Mon Mar 26 18:42:52 2018 -0400
 8045 
 8046     man: s/__/@/g
 8047     
 8048     A cosmetic change for automake (though we have to replicate some of
 8049     xorg-macros.m4 in manpages.am now), but meson's configure_file() wants
 8050     @-delimited strings.
 8051     
 8052     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8053     Reviewed-by: Keith Packard <keithp@keithp.com>
 8054 
 8055 commit 6cbefc3e0a33b380c147c533914437c7798d9b93
 8056 Author: Adam Jackson <ajax@redhat.com>
 8057 Date:   Mon Mar 26 18:42:51 2018 -0400
 8058 
 8059     autotools: Stop caring about XORG_DATE
 8060     
 8061     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8062     Acked-by: Keith Packard <keithp@keithp.com>
 8063 
 8064 commit ba0c75177239ced7037d74cf61590377f6d075bb
 8065 Author: Adam Jackson <ajax@redhat.com>
 8066 Date:   Thu Mar 22 14:47:21 2018 -0400
 8067 
 8068     modesetting: Fix up some XXX from removing GLAMOR_HAS_DRM_*
 8069     
 8070     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8071     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 8072 
 8073 commit 757e0ee1884f2a34a287d632462e3bc689eccb3d
 8074 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 8075 Date:   Mon Mar 12 17:57:50 2018 +0100
 8076 
 8077     modesetting: Fix page flipping under DRI 3.2.
 8078     
 8079     The check for "no modifier specified" in drmmode_is_format_supported()
 8080     should check for DRM_FORMAT_MOD_INVALID, not for zero, as zero actually
 8081     means DRM_FORMAT_MOD_LINEAR.
 8082     
 8083     This allows page-flipping again when appropriate, as
 8084     tested under nouveau and ati drivers.
 8085     
 8086     Fixes: 9d147305b404 ("modesetting: Check if buffer format is supported when flipping")
 8087     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 8088     Reviewed-by: Daniel Stone <daniels@collabora.com>
 8089 
 8090 commit 136b45e0c0f5b96b5ce014681d77756dc47f0768
 8091 Author: Adam Jackson <ajax@redhat.com>
 8092 Date:   Fri Mar 16 18:03:18 2018 -0400
 8093 
 8094     travis: Drop Xcode 8.2
 8095     
 8096     Travis has only so many OSX builders, presumably due to the EULA
 8097     requiring that it be run on Apple-branded hardware. They're also really
 8098     slow to provision, presumably because they're virtual machines and not
 8099     containers. In any case it's not something I'm willing to be punished
 8100     for.
 8101     
 8102     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8103 
 8104 commit 243a34e170c4a7cc5d38b78f7409704adf703e9b
 8105 Author: Adam Jackson <ajax@redhat.com>
 8106 Date:   Fri Mar 16 18:28:19 2018 -0400
 8107 
 8108     travis: Bump rawhide image
 8109     
 8110     The image now has enough mojo to run xts, hooray!
 8111     
 8112     Note there's a couple of ugly bits in here. The piglit config fragment
 8113     and stock tetexec.cfg reflect missing features from the test suites
 8114     (using an installed copy of xts, figuring out the xserver test matrix at
 8115     runtime, etc.), I'll be happy to remove them once the tests are fixed.
 8116     
 8117     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8118 
 8119 commit 610055809f4030bd0e7312c6b0c561fdfe6e0183
 8120 Author: Eric Engestrom <eric.engestrom@imgtec.com>
 8121 Date:   Tue Mar 13 10:55:22 2018 +0000
 8122 
 8123     exa: promise not to touch the data when swapping pointers
 8124     
 8125     exa/exa.c:525:10: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 8126          swap(pExaGC, pGC, funcs);
 8127               ^
 8128     
 8129     Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
 8130     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 8131 
 8132 commit d36128a72acac4d54813c52c93efefad2dc9af41
 8133 Author: Alexander Volkov <a.volkov@rusbitech.ru>
 8134 Date:   Mon Mar 12 15:12:10 2018 +0300
 8135 
 8136     Xext/shm: Downgrade from error to debug log output about success
 8137     
 8138     Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru>
 8139     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8140 
 8141 commit 319af6f471912160ab3eb6395ef50f9950063d43
 8142 Author: Nicolai Hähnle <nicolai.haehnle@amd.com>
 8143 Date:   Tue Mar 13 17:46:37 2018 -0400
 8144 
 8145     glx: honor LIBGL_DRIVERS_PATH when loading DRI drivers
 8146     
 8147     Allow switching to another driver build without a full installation.
 8148     
 8149     Glamor already takes LIBGL_DRIVERS_PATH into account, so this change
 8150     makes sure that the same driver is used in both parts of the server.
 8151     
 8152     Signed-off-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
 8153     Reviewed-by: Ben Crocker <bcrocker@redhat.com>
 8154     Reviewed-by: Antoine Martin <antoine@nagafix.co.uk>
 8155     Tested-by: Ben Crocker <bcrocker@redhat.com>
 8156 
 8157 commit 75a869a4e7c06072380931b714ac83b1037d3bbe
 8158 Author: Nicolai Hähnle <nicolai.haehnle@amd.com>
 8159 Date:   Tue Mar 13 17:46:36 2018 -0400
 8160 
 8161     xfree86: replace all uses of xf86PrivsElevated with PrivsElevated
 8162     
 8163     [... but leave it defined and exported, since we're ABI-frozen - ajax]
 8164     
 8165     Signed-off-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
 8166     Reviewed-by: Ben Crocker <bcrocker@redhat.com>
 8167     Reviewed-by: Antoine Martin <antoine@nagafix.co.uk>
 8168     Tested-by: Ben Crocker <bcrocker@redhat.com>
 8169     
 8170     restore abi
 8171 
 8172 commit 1b6910af12cfefcc293be2f4144986fe3b56a36b
 8173 Author: Nicolai Hähnle <nicolai.haehnle@amd.com>
 8174 Date:   Tue Mar 13 17:46:35 2018 -0400
 8175 
 8176     os: use PrivsElevated instead of a manual check
 8177     
 8178     Signed-off-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
 8179     Reviewed-by: Ben Crocker <bcrocker@redhat.com>
 8180     Reviewed-by: Antoine Martin <antoine@nagafix.co.uk>
 8181     Tested-by: Ben Crocker <bcrocker@redhat.com>
 8182 
 8183 commit 9ef602de46de2beae1d6231dc72a1a783a26122f
 8184 Author: Nicolai Hähnle <nicolai.haehnle@amd.com>
 8185 Date:   Tue Mar 13 17:46:34 2018 -0400
 8186 
 8187     os: move xf86PrivsElevated here
 8188     
 8189     Having different types of code all trying to check for elevated privileges
 8190     is a bad idea. This implementation is the most thorough one.
 8191     
 8192     Signed-off-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
 8193     Reviewed-by: Ben Crocker <bcrocker@redhat.com>
 8194     Reviewed-by: Antoine Martin <antoine@nagafix.co.uk>
 8195     Tested-by: Ben Crocker <bcrocker@redhat.com>
 8196     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 8197 
 8198 commit 1519475a4382066707276d7463c7c6e52c382caa
 8199 Author: Adam Jackson <ajax@redhat.com>
 8200 Date:   Wed Mar 14 15:29:15 2018 -0400
 8201 
 8202     appveyor: use meson
 8203     
 8204     i686 cygwin build time with autotools:  16:22
 8205     i686 cygwin build time with meson:       6:56
 8206     
 8207     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8208 
 8209 commit 2415ef5b228f5a235377decde95cb146c6642ea9
 8210 Author: Adam Jackson <ajax@redhat.com>
 8211 Date:   Tue Mar 20 14:00:33 2018 -0400
 8212 
 8213     meson: Add the x(org)proto headers to the include path
 8214     
 8215     Without this meson won't properly use headers installed into a
 8216     non-default location.
 8217     
 8218     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8219 
 8220 commit 21e8a4a1b993a9b1abd4a7510cd3d8a152be998b
 8221 Author: Emil Velikov <emil.velikov@collabora.com>
 8222 Date:   Wed Mar 7 18:45:33 2018 +0000
 8223 
 8224     modesetting: remove fallback DRM_CAP_* defines
 8225     
 8226     All the macros are available in the libdrm that we depend on.
 8227     
 8228     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 8229     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8230 
 8231 commit d2568c058745ea66353fefa8f7296a6f37795905
 8232 Author: Emil Velikov <emil.velikov@collabora.com>
 8233 Date:   Wed Mar 7 18:45:32 2018 +0000
 8234 
 8235     modesetting: remove always true DRM_IOCTL_CRTC_QUEUE_SEQUENCE guard
 8236     
 8237     We already require libdrm 2.4.89 which provides the definition plus
 8238     guarding kernel UABI like that is generally a bad idea.
 8239     
 8240     See previous commit for details why :-)
 8241     
 8242     Cc: Keith Packard <keithp@keithp.com>
 8243     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 8244     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8245 
 8246 commit f368428ab84c14f32f52e50b880d9353fbb87181
 8247 Author: Emil Velikov <emil.velikov@collabora.com>
 8248 Date:   Wed Mar 7 18:45:31 2018 +0000
 8249 
 8250     modesetting: remove always true defined(DRM_CAP_PRIME) guards
 8251     
 8252     The macro was available in libdrm for ages. Furthermore having a guard
 8253     like this is a very bad idea.
 8254     
 8255     Building on an old server will result in a missing run-time functionality.
 8256     Since it's UABI one can use a local fallback, old kernels will return
 8257     -EINVAL and the fallback path will kick in.
 8258     
 8259     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 8260     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8261 
 8262 commit 22b489d27365d2513bf1cab6da92254e3bdbcf41
 8263 Author: Emil Velikov <emil.velikov@collabora.com>
 8264 Date:   Wed Mar 7 18:45:30 2018 +0000
 8265 
 8266     Remove always true GLAMOR_HAS_DRM_* guards
 8267     
 8268     With earlier commit the required version was bumped to 2.4.89, thus the
 8269     guards always evaluate to true.
 8270     
 8271     Fixes: e4e3447603b ("Add RandR leases with modesetting driver support
 8272     [v6]")
 8273     Cc: Keith Packard <keithp@keithp.com>
 8274     Cc: Daniel Stone <daniels@collabora.com>
 8275     Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8276     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 8277     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8278 
 8279 commit e0748b10a8621066b404d713a76826907da777b9
 8280 Author: Emil Velikov <emil.velikov@collabora.com>
 8281 Date:   Wed Mar 7 18:45:29 2018 +0000
 8282 
 8283     configure: remove libdrm version check
 8284     
 8285     We already require said version.
 8286     
 8287     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 8288     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8289 
 8290 commit 8718d46157b9317554aba3e01b9919a1c0c28026
 8291 Author: Adam Jackson <ajax@redhat.com>
 8292 Date:   Wed Mar 14 16:43:09 2018 -0400
 8293 
 8294     ci: Ignore builds for branches aimed at other CI services
 8295     
 8296     Make appveyor ignore builds for /travis.*/ and vice versa. If you're
 8297     only testing a Windows change, building for OSX and Linux too is a bit
 8298     rude.
 8299     
 8300     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8301 
 8302 commit ae5c0dd199a5fbfbdf7a2d6b8c1b28c410289106
 8303 Author: Emil Velikov <emil.velikov@collabora.com>
 8304 Date:   Tue Mar 13 18:38:49 2018 +0000
 8305 
 8306     dri3: cap the version returned to the client
 8307     
 8308     As per the protocol, the server should not return version greater than
 8309     the one supported by the client.
 8310     
 8311     Add a spec quote and tweak the numbers accordingly.
 8312     
 8313     Fixes: 563138298868 ("dri3: Add DRI3 extension")
 8314     Cc: Daniel Stone <daniels@collabora.com>
 8315     Cc: Keith Packard <keithp@keithp.com>
 8316     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 8317     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8318 
 8319 commit 6a5d51e0823b43280e3646b7a0c919a3b76146ea
 8320 Author: Emil Velikov <emil.velikov@collabora.com>
 8321 Date:   Mon Mar 19 16:04:43 2018 +0000
 8322 
 8323     present: cap the version returned to the client
 8324     
 8325     As per the protocol, the server should not return version greater than
 8326     the one supported by the client.
 8327     
 8328     Add a spec quote and tweak the numbers accordingly.
 8329     
 8330     Fixes: 5c5c1b77982 ("present: Add Present extension")
 8331     Cc: Thierry Reding <treding@nvidia.com>
 8332     Cc: Daniel Stone <daniels@collabora.com>
 8333     Cc: Keith Packard <keithp@keithp.com>
 8334     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8335     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 8336 
 8337 commit abb9b58d1af9a0286162e52ef9db390d0c950fc1
 8338 Author: Thierry Reding <treding@nvidia.com>
 8339 Date:   Fri Mar 16 14:24:21 2018 +0100
 8340 
 8341     present: Advertise protocol version 1.2
 8342     
 8343     Everything is implemented to support protocol version 1.2. Make it
 8344     official.
 8345     
 8346     Reviewed-by: Daniel Stone <daniels@collabora.com>
 8347     Signed-off-by: Thierry Reding <treding@nvidia.com>
 8348     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 8349 
 8350 commit 7fc89251ef5e7363dfbf6d831ed448bbcd8519b8
 8351 Author: Alan Coopersmith <alan.coopersmith@oracle.com>
 8352 Date:   Sun Mar 4 13:00:05 2018 -0800
 8353 
 8354     Revert "modesetting: Remove #ifdefs XF86_PDEV_SERVER_FD"
 8355     
 8356     This reverts commit 8c455db0ebb6e5313ca81428bb6dd75ef12aaa15.
 8357     
 8358     Since xf86platformBus.h is only included when XSERVER_PLATFORM_BUS is
 8359     defined, and configure.ac only defines that on systems with udev, this
 8360     commit breaks the build on non-udev systems like Solaris.
 8361     
 8362     Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 8363 
 8364 commit edf08bd654dcdf31da9a592513b218bbd9f64cc6
 8365 Author: Adam Jackson <ajax@redhat.com>
 8366 Date:   Wed Mar 14 12:10:27 2018 -0400
 8367 
 8368     appveyor: Switch to xorgproto
 8369     
 8370     Also build with -j2, the builder VM has two cores.
 8371     
 8372     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8373 
 8374 commit 8f628033bed408c4de215ca117fa2fa2d9f9d5cd
 8375 Author: Adam Jackson <ajax@redhat.com>
 8376 Date:   Wed Mar 14 12:54:16 2018 -0400
 8377 
 8378     travis: Update OSX build
 8379     
 8380     Install and use xorgproto, and build with optimization as clang has
 8381     warnings that only work above -O0. Also expand the build matrix for both
 8382     Xcode 8.3 and 9.2. Both images are OSX 10.12 at the moment so this is
 8383     really just a way to test with clang 8 vs 9.
 8384     
 8385     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8386 
 8387 commit 1ca092f990e67c7dccf5790a72c41e84711c28a8
 8388 Author: Adam Jackson <ajax@redhat.com>
 8389 Date:   Wed Mar 14 13:13:54 2018 -0400
 8390 
 8391     travis: Switch linux build from stretch to rawhide
 8392     
 8393     Stretch's Mesa is too far behind, and building Mesa to build xserver is
 8394     not the sort of problem we're trying to solve here. But our Travis
 8395     scripts run inside a docker image, and that image can be whatever, so
 8396     since I have to keep rawhide building anyway let's switch to that for
 8397     now. The dockerfile can be found at:
 8398     
 8399     https://github.com/nwnk/xserver-travis
 8400     
 8401     The $DISTRO part of the change is foreshadowing for the day we readd a
 8402     (probably sid-based) debian image; patches for other environments are
 8403     welcome.
 8404     
 8405     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8406 
 8407 commit 17d30369f4445e1693a1b75dc6620bbc21ec8e61
 8408 Author: Michel Dänzer <michel.daenzer@amd.com>
 8409 Date:   Wed Mar 14 16:48:23 2018 +0100
 8410 
 8411     randr: Initialize RROuptutRec::nonDesktop
 8412     
 8413     Flagged by valgrind:
 8414     
 8415     ==13695== Conditional jump or move depends on uninitialised value(s)
 8416     ==13695==    at 0x22461C: RRNoticePropertyChange (rrproperty.c:150)
 8417     ==13695==    by 0x22461C: RRChangeOutputProperty (rrproperty.c:263)
 8418     ==13695==    by 0x222FC4: RROutputSetNonDesktop (rroutput.c:333)
 8419     ==13695==    by 0x22319C: RROutputCreate (rroutput.c:122)
 8420     ==13695==    by 0x1E1CE9: xf86RandR12CreateObjects12 (xf86RandR12.c:1734)
 8421     ==13695==    by 0x1E1CE9: xf86RandR12Init12 (xf86RandR12.c:2375)
 8422     ==13695==    by 0x1E1CE9: xf86RandR12Init (xf86RandR12.c:895)
 8423     ==13695==    by 0x1D469B: xf86CrtcScreenInit (xf86Crtc.c:778)
 8424     ==13695==    by 0xC095A54: RADEONScreenInit_KMS (radeon_kms.c:2436)
 8425     ==13695==    by 0x161444: AddGPUScreen (dispatch.c:3966)
 8426     ==13695==    by 0x1A3E46: InitOutput (xf86Init.c:763)
 8427     ==13695==    by 0x1654A7: dix_main (main.c:193)
 8428     ==13695==    by 0x7041A86: (below main) (libc-start.c:310)
 8429     ==13695==  Uninitialised value was created by a heap allocation
 8430     ==13695==    at 0x4C2CB8F: malloc (vg_replace_malloc.c:299)
 8431     ==13695==    by 0x223083: RROutputCreate (rroutput.c:83)
 8432     ==13695==    by 0x1E1CE9: xf86RandR12CreateObjects12 (xf86RandR12.c:1734)
 8433     ==13695==    by 0x1E1CE9: xf86RandR12Init12 (xf86RandR12.c:2375)
 8434     ==13695==    by 0x1E1CE9: xf86RandR12Init (xf86RandR12.c:895)
 8435     ==13695==    by 0x1D469B: xf86CrtcScreenInit (xf86Crtc.c:778)
 8436     ==13695==    by 0xC095A54: RADEONScreenInit_KMS (radeon_kms.c:2436)
 8437     ==13695==    by 0x161444: AddGPUScreen (dispatch.c:3966)
 8438     ==13695==    by 0x1A3E46: InitOutput (xf86Init.c:763)
 8439     ==13695==    by 0x1654A7: dix_main (main.c:193)
 8440     ==13695==    by 0x7041A86: (below main) (libc-start.c:310)
 8441     
 8442     Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
 8443     Reviewed-by: Keith Packard <keithp@keithp.com>
 8444     Signed-off-by: Keith Packard <keithp@keithp.com>
 8445 
 8446 commit 52048ce29f872192478fece3887b7bc1c8aace7d
 8447 Author: Keith Packard <keithp@keithp.com>
 8448 Date:   Mon Mar 12 12:14:44 2018 -0700
 8449 
 8450     Xext/saver: Swap ScreenSaverSuspend 'suspend' field. Handle old XCB clients.
 8451     
 8452     This field was defined as a Bool in the protocol headers and BOOL in
 8453     xcb. Bool is not a valid type for protocol fields. It is defined as
 8454     'int' by Xdefs.h, which we expect to be 32-bits on all machines.
 8455     
 8456     The protocol headers and xcb have patches posted to switch to CARD32,
 8457     which is at least well defined.
 8458     
 8459     This change adds the necessary byte swapping to handle other-endian
 8460     clients with this 32-bit field, and then changes the request
 8461     processing to compare all 32-bits against zero so that it works with
 8462     both new and old clients.
 8463     
 8464     On MSB machines, Xlib will continue to work properly, but old XCB will
 8465     not interoperate with the X server (either before or after this patch).
 8466     
 8467     Signed-off-by: Keith Packard <keithp@keithp.com>
 8468     Reviewed-by: Mihai Moldovan <ionic@ionic.de>
 8469     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8470 
 8471 commit beda6afb3c33adbf77637141f05631081894e93a
 8472 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 8473 Date:   Fri Mar 9 04:58:20 2018 +0100
 8474 
 8475     glamor/xwayland: Add depth 30 format mapping for DRI 3.2 as well.
 8476     
 8477     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 8478     Reviewed-by: Daniel Stone <daniels@collabora.com>
 8479 
 8480 commit 07c369e05ac116901dacc20f4742622bdca2784f
 8481 Author: Jon Turney <jon.turney@dronecode.org.uk>
 8482 Date:   Thu Mar 8 12:34:26 2018 +0000
 8483 
 8484     meson: Require libdrm for dri1/2/3 when configured 'auto' as well as 'true'
 8485     
 8486     If dri1/2/3 are configured for auto-detection, libdrm is required, as well
 8487     as the corresponding proto.  (Practically we will always have the
 8488     corresponding protos now, as they are part of xorgproto).
 8489     
 8490     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 8491     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
 8492 
 8493 commit f69cd2024ef25e7fd2bd2d7012e33ce16eeb79ff
 8494 Author: Adam Jackson <ajax@redhat.com>
 8495 Date:   Thu Mar 8 11:13:16 2018 -0500
 8496 
 8497     os: Define {ReadFdFrom,WriteFdTo}Client unconditionally
 8498     
 8499     Otherwise this is broken on cygwin:
 8500     
 8501         rrlease.c: In function ‘ProcRRCreateLease’:
 8502         rrlease.c:305:9: error: implicit declaration of function ‘WriteFdToClient’ [-Werror=implicit-function-declaration]
 8503              if (WriteFdToClient(client, fd, TRUE) < 0) {
 8504     
 8505     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8506 
 8507 commit 90e0cdd42dfda2accfadffa5c550712696902e14
 8508 Author: Rodrigo Vivi <rodrigo.vivi@intel.com>
 8509 Date:   Wed Mar 7 07:46:20 2018 -0800
 8510 
 8511     dri2: Sync i965_pci_ids.h from Mesa.
 8512     
 8513     Copied from Mesa with no modifications.
 8514     
 8515     Gives us Geminilake and Kaby Lake platform names updates and
 8516     sync on Coffee Lake PCI IDs.
 8517     
 8518     Cc: Timo Aaltonen <timo.aaltonen@canonical.com>
 8519     Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
 8520     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8521 
 8522 commit 43576b901151a1f32209f476249a4de6980b654f
 8523 Author: Michel Dänzer <michel.daenzer@amd.com>
 8524 Date:   Tue Mar 6 10:53:19 2018 +0100
 8525 
 8526     glamor: Restore glamor_fd_from_pixmap and glamor_pixmap_from_fd
 8527     
 8528     They're part of the 1.20 RC1 ABI, and actually used by external drivers.
 8529     Also, requiring drivers which don't support the new functionality in
 8530     DRI3 1.2 to switch to the new interfaces seems unreasonable.
 8531     
 8532     Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
 8533     Reviewed-by: Daniel Stone <daniels@collabora.com>
 8534 
 8535 commit 5d3fd3856b718cfbc87d17f1de698ced94923c78
 8536 Author: Samir Benmendil <me@rmz.io>
 8537 Date:   Sat Mar 3 01:41:12 2018 +0000
 8538 
 8539     xkb: XkbSetMap on the lastSlave needs to change the master
 8540     
 8541     The layout needs to be set on the master too if the layout is changed on
 8542     the device that was last used by the master.
 8543     
 8544     Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=85256
 8545     Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=91571
 8546     
 8547     Signed-off-by: Samir Benmendil <me@rmz.io>
 8548     Acked-by: Daniel Stone <daniels@collabora.com>
 8549 
 8550 commit ce8da936464cc78ec31de6e970e1353ffecf2547
 8551 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8552 Date:   Wed Feb 28 01:19:46 2018 +0000
 8553 
 8554     dri3: Enable DRI3 version 1.2
 8555     
 8556     Enable DRI3 v1.2 now that all functions have been implemented and
 8557     that there is at least one backend implementing the driver hooks
 8558     (modesetting/glamor).
 8559     
 8560     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8561     Reviewed-by: Daniel Stone <daniels@collabora.com>
 8562     Acked-by: Keith Packard <keithp@keithp.com>
 8563     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8564 
 8565 commit 8d0d89715984e321315631dd6667e05813d26e03
 8566 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8567 Date:   Wed Feb 28 01:19:45 2018 +0000
 8568 
 8569     glamor: Use gbm_bo_create_with_modifiers for internal pixmap allocation
 8570     
 8571     Using modifier might allow the driver to use a more optimal format
 8572     (e.g. tiled/compressed). Let's try to use those if possible.
 8573     
 8574     v2: Don't filter out multi-plane modifiers
 8575     
 8576     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8577     Reviewed-by: Daniel Stone <daniels@collabora.com>
 8578     Acked-by: Keith Packard <keithp@keithp.com>
 8579     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8580 
 8581 commit cef12efc15ca1444d6d8cd839116b318a4668692
 8582 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8583 Date:   Wed Feb 28 01:19:44 2018 +0000
 8584 
 8585     glamor: Implement GetSupportedModifiers
 8586     
 8587     Implement function added in DRI3 v1.1.
 8588     
 8589     A newest version of libepoxy (>= 1.4.4) is required as earlier
 8590     versions use a problematic version of Khronos
 8591     EXT_image_dma_buf_import_modifiers spec.
 8592     
 8593     v4: Only send scanout-supported modifiers if flipping is possible
 8594     v5: Fix memory corruption in XWayland (uninitialized pointer)
 8595     
 8596     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8597     Reviewed-by: Daniel Stone <daniels@collabora.com>
 8598     Acked-by: Keith Packard <keithp@keithp.com>
 8599     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8600 
 8601 commit c8c276c9569b3ca1e695682a5443f1b615c606bd
 8602 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8603 Date:   Wed Feb 28 01:19:43 2018 +0000
 8604 
 8605     glamor: Implement PixmapFromBuffers and BuffersFromPixmap
 8606     
 8607     It relies on GBM >= 17.1.0 where we can import BO with multiple
 8608     planes and a format modifier (GBM_BO_IMPORT_FD_MODIFIER).
 8609     
 8610     v2: Properly free fds in Xwayland
 8611     
 8612     [Also add glamor_egl_ext.h to Makefile.am for distcheck's sake - ajax]
 8613     
 8614     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8615     Reviewed-by: Daniel Stone <daniels@collabora.com>
 8616     Acked-by: Keith Packard <keithp@keithp.com>
 8617     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8618 
 8619 commit 9d147305b4048dcec7ea4eda3eeea83f843f7788
 8620 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8621 Date:   Wed Feb 28 01:19:42 2018 +0000
 8622 
 8623     modesetting: Check if buffer format is supported when flipping
 8624     
 8625     Add support for 'check_flip2' so that the present core can know
 8626     why it is impossible to flip in that scenario. The core can then
 8627     let know the client that the buffer format/modifier is suboptimal.
 8628     
 8629     v2: No longer need to implement 'check_flip'
 8630     
 8631     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8632     Reviewed-by: Daniel Stone <daniels@collabora.com>
 8633     Acked-by: Keith Packard <keithp@keithp.com>
 8634     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8635 
 8636 commit e375f29662ad7589cc6d8d179846da9b8a897122
 8637 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8638 Date:   Wed Feb 28 01:19:41 2018 +0000
 8639 
 8640     modesetting: Create scanout buffers using supported modifiers
 8641     
 8642     Use most optimal buffer format (e.g. tiled/compressed) available
 8643     for scanout.
 8644     
 8645     v2: Don't use multi-plane modifier to create scanout buffer
 8646     
 8647     v3: Add flag to retrieve modifiers set from enabled CRTCs only
 8648     
 8649     v4: Fix uses when GBM/EGL driver doesn't support modifiers
 8650     
 8651     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8652     Reviewed-by: Daniel Stone <daniels@collabora.com>
 8653     Acked-by: Keith Packard <keithp@keithp.com>
 8654     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8655 
 8656 commit ca1c390ec7bf617c0147d69cf874dadce28e903b
 8657 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8658 Date:   Wed Feb 28 01:19:40 2018 +0000
 8659 
 8660     modesetting: Get supported formats/modifiers for scanout
 8661     
 8662     Retrieve IN_FORMATS property from the plane. It gives the
 8663     allowed formats and modifiers for BO allocation.
 8664     
 8665     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8666     Reviewed-by: Daniel Stone <daniels@collabora.com>
 8667     Acked-by: Keith Packard <keithp@keithp.com>
 8668     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8669 
 8670 commit 9817c14f6a2ea5db44459659131c13f403716df1
 8671 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8672 Date:   Wed Feb 28 01:19:39 2018 +0000
 8673 
 8674     modesetting: Use atomic modesetting to configure output/CRTCs
 8675     
 8676     To make sure we also use the same primary plane and to avoid
 8677     mixing uses of two APIs, it is better to always use the atomic
 8678     modesetting API when possible.
 8679     
 8680     v2: Don't use mode_output->connector_id
 8681     
 8682     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8683     Reviewed-by: Daniel Stone <daniels@collabora.com>
 8684     Acked-by: Keith Packard <keithp@keithp.com>
 8685     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8686 
 8687 commit 2f807c2324b46fbd9a557e7a4f177a392d5851b3
 8688 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8689 Date:   Wed Feb 28 01:19:38 2018 +0000
 8690 
 8691     modesetting: Add support for multi-plane pixmaps when page-flipping
 8692     
 8693     This allows the uses of CCS compressed or tiled pixmaps as BOs when
 8694     page-flipping.
 8695     
 8696     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8697     Reviewed-by: Daniel Stone <daniels@collabora.com>
 8698     Acked-by: Keith Packard <keithp@keithp.com>
 8699     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8700 
 8701 commit 4023d537341b9c36b9bb248c206e40694e4b08d2
 8702 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8703 Date:   Wed Feb 28 01:19:37 2018 +0000
 8704 
 8705     modesetting: Use atomic modesetting API for pageflip if available
 8706     
 8707     In order to flip between compressed and uncompressed buffers -
 8708     something drmModePageFlip explicitly bans us from doing - we need
 8709     to port use the atomic modesetting API. It's only 'fake' atomic
 8710     though given we still commit for each CRTC separately and
 8711     CRTC and connector properties are not set with the atomic API.
 8712     
 8713     The helper functions to retrieve DRM properties have been borrowed
 8714     from Weston.
 8715     
 8716     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8717     Reviewed-by: Daniel Stone <daniels@collabora.com>
 8718     Acked-by: Keith Packard <keithp@keithp.com>
 8719     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8720 
 8721 commit e2ef3b44fa697f2ed453767e98da72ea56d4046f
 8722 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8723 Date:   Wed Feb 28 01:19:36 2018 +0000
 8724 
 8725     present: Send PresentCompleteModeSuboptimalCopy appropriately
 8726     
 8727     Add 'check_flip2' hook for driver to let know the core
 8728     about why flipping is not possible ('reason').
 8729     If it is because of unsupported buffer format/modifier,
 8730     a PresentCompleteNotify event is sent to the client with
 8731     the PresentCompleteModeSuboptimalCopy mode.
 8732     
 8733     v2: Check for PresentOptionSuboptimal and check driver version
 8734         before using 'check_flip2'.
 8735     
 8736     v3: Only require one of 'check_flip' or 'check_flip2' to be
 8737         implemented by the driver.
 8738         Refactor reasons list to enum
 8739     
 8740     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8741     Reviewed-by: Daniel Stone <daniels@collabora.com>
 8742     Acked-by: Keith Packard <keithp@keithp.com>
 8743     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8744 
 8745 commit 6e7c40f62db66f5b59b2cf59f1e6a26e4fd21bda
 8746 Author: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8747 Date:   Wed Feb 28 01:19:35 2018 +0000
 8748 
 8749     dri3: Add multi-planar/modifier buffer requests
 8750     
 8751     Initial implementation for DRI3 v1.1. Only the DRI3 implementation
 8752     is there, backends need to implement the proper hooks.
 8753     
 8754     Version is still set to 1.0 so clients shouldn't use the new
 8755     requests yet.
 8756     
 8757     v2: Use depth/bpp instead of DRM formats in requests
 8758     
 8759     v3: Remove DMA fence requests from v1.1
 8760         Add screen/drawable modifier sets
 8761     
 8762     v4: Free array returned by 'get_drawable_modifiers()'
 8763     
 8764     v5: Fix FD leak
 8765     
 8766     Signed-off-by: Daniel Stone <daniels@collabora.com>
 8767     Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
 8768     Acked-by: Keith Packard <keithp@keithp.com>
 8769     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8770 
 8771 commit 0ff4074224ea370e021d79526c63cef91356730d
 8772 Author: Keith Packard <keithp@keithp.com>
 8773 Date:   Fri Mar 2 17:05:04 2018 -0800
 8774 
 8775     Require libdrm 2.4.89 or newer
 8776     
 8777     Both autotools and meson build systems had complicated logic around
 8778     what version of libdrm to require for various options. Remove that and
 8779     just check for a new enough version to support all of the options
 8780     which need libdrm.
 8781     
 8782     Signed-off-by: Keith Packard <keithp@keithp.com>
 8783     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8784 
 8785 commit 43ffd572592d26bb78decfdf55e643bdfb011d3f
 8786 Author: Laurent Carlier <lordheavym@gmail.com>
 8787 Date:   Thu Mar 1 12:58:16 2018 +0100
 8788 
 8789     meson: Make SHM extension optional
 8790     
 8791     v2: check for header 'sys/shm.h'
 8792     
 8793     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 8794     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8795 
 8796 commit de4565727a0bb199365d33e3c98d9ddd3e0de6f2
 8797 Author: Laurent Carlier <lordheavym@gmail.com>
 8798 Date:   Thu Mar 1 12:57:27 2018 +0100
 8799 
 8800     meson: get rid of useless HAVE_SYSV_IPC
 8801     
 8802     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 8803     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8804 
 8805 commit e02afb94783a25c21b07e44a7b615acdd86fa3f7
 8806 Author: Laurent Carlier <lordheavym@gmail.com>
 8807 Date:   Thu Mar 1 12:56:28 2018 +0100
 8808 
 8809     meson: Make ACPI support optional
 8810     
 8811     v2: Define HAVE_ACPI in dix-config.h
 8812     
 8813     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 8814     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8815 
 8816 commit 238219e7312e2b5d972a8620b02379009686a005
 8817 Author: Laurent Carlier <lordheavym@gmail.com>
 8818 Date:   Thu Mar 1 12:55:11 2018 +0100
 8819 
 8820     meson: Make APM support optional
 8821     
 8822     v2: Define HAVE_APM in dix-config.h
 8823     
 8824     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 8825     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8826 
 8827 commit 2af0a50a4bb9be9f58681d417ceb9a7029caaf3b
 8828 Author: Adam Jackson <ajax@redhat.com>
 8829 Date:   Wed Feb 28 11:23:41 2018 -0500
 8830 
 8831     randr: Fix a crash on initialization with GPU screens
 8832     
 8833     RRSetChanged (immediately above) was immune to screens with no master,
 8834     but RRTellChanged was not:
 8835     
 8836         Thread 1 "X" received signal SIGSEGV, Segmentation fault.
 8837         RRTellChanged (pScreen=<optimized out>) at ../../randr/randr.c:576
 8838         576             mastersp = rrGetScrPriv(master);
 8839         (gdb) bt
 8840         #0  RRTellChanged (pScreen=<optimized out>) at ../../randr/randr.c:576
 8841         #1  0x000055555566f1e9 in RRNoticePropertyChange (value=0x555555bfbf28, property=70, output=0x555555bfef10) at ../../randr/rrproperty.c:153
 8842         #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)
 8843             at ../../randr/rrproperty.c:263
 8844         #3  0x000055555566dba5 in RROutputSetNonDesktop (output=output@entry=0x555555bfef10, nonDesktop=nonDesktop@entry=0) at ../../randr/rroutput.c:333
 8845         ...
 8846     
 8847     Reported-by: Michel Dänzer <michel@daenzer.net>
 8848     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8849 
 8850 commit cf485c659d93c92b26c4390402575f061eb175f6
 8851 Author: Adam Jackson <ajax@redhat.com>
 8852 Date:   Wed Feb 28 12:18:28 2018 -0500
 8853 
 8854     xserver 1.20 RC 1
 8855     
 8856     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8857 
 8858 commit afccb266edc8b2ca014aec5b2a67bb1627f29fe9
 8859 Author: Adam Jackson <ajax@redhat.com>
 8860 Date:   Wed Feb 28 12:26:26 2018 -0500
 8861 
 8862     glx: Add vndserver.h to the SDK
 8863     
 8864     Also unbreak 'make distcheck', sigh autotools.
 8865     
 8866     Signed-off-by: Adam Jackson <ajax@redhat.com>
 8867 
 8868 commit 85ff1cdbd3286838e512fe7c70af149a8743b6fe
 8869 Author: Emil Velikov <emil.velikov@collabora.com>
 8870 Date:   Tue Feb 27 17:05:50 2018 +0000
 8871 
 8872     protocol.txt: add GLX req. 35 - SetClientInfo2ARB
 8873     
 8874     Noticed while skimming for the typo'd version ;-)
 8875     
 8876     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 8877     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8878 
 8879 commit e4e3447603b5fd3a38a92c3f972396d1f81168ad
 8880 Author: Keith Packard <keithp@keithp.com>
 8881 Date:   Mon Feb 12 13:51:56 2018 -0800
 8882 
 8883     Add RandR leases with modesetting driver support [v6]
 8884     
 8885     This adds support for RandR CRTC/Output leases through the modesetting
 8886     driver, creating a lease using new kernel infrastructure and returning
 8887     that to a client through an fd which will have access to only those
 8888     resources.
 8889     
 8890     v2:     Restore CRTC mode when leases terminate
 8891     
 8892             When a lease terminates for a crtc we have saved data for, go
 8893             ahead and restore the saved mode.
 8894     
 8895     v3:     Report RR_Rotate_0 rotations for leased crtcs.
 8896     
 8897             Ignore leased CRTCs when selecting screen size.
 8898     
 8899             Stop leasing encoders, the kernel doesn't do that anymore.
 8900     
 8901             Turn off crtc->enabled while leased so that modesetting
 8902             ignores them.
 8903     
 8904             Check lease status before calling any driver mode functions
 8905     
 8906             When starting a lease, mark leased CRTCs as disabled and hide
 8907             their cursors. Also, check to see if there are other
 8908             non-leased CRTCs which are driving leased Outputs and mark
 8909             them as disabled as well. Sometimes an application will lease
 8910             an idle crtc instead of the one already associated with the
 8911             leased output.
 8912     
 8913             When terminating a lease, reset any CRTCs which are driving
 8914             outputs that are no longer leased so that they start working
 8915             again.
 8916     
 8917             This required splitting the DIX level lease termination code
 8918             into two pieces, one to remove the lease from the system
 8919             (RRLeaseTerminated) and a new function that frees the lease
 8920             data structure (RRLeaseFree).
 8921     
 8922     v4:     Report RR_Rotate_0 rotation for leased crtcs.
 8923     
 8924     v5: Terminate all leases on server reset.
 8925     
 8926             Leases hang around after the associated client exits so that
 8927             the client doesn't need to occupy an X server client slot and
 8928             consume a file descriptor once it has gotten the output
 8929             resources necessary.
 8930     
 8931             Any leases still hanging around when the X server resets or
 8932             shuts down need to be cleaned up by calling the kernel to
 8933             terminate the lease and freeing any DIX structures.
 8934     
 8935             Note that we cannot simply use the existing
 8936             drmmode_terminate_lease function on each lease as that wants
 8937             to also reset the video mode, and during server shut down that
 8938     
 8939        modesetting: Validate leases on VT enter
 8940     
 8941             The kernel doesn't allow any master ioctls to run when another
 8942             VT is active, including simple things like listing the active
 8943             leases. To deal with that, we check the list of leases
 8944             whenever the X server VT is activated.
 8945     
 8946        xfree86: hide disabled cursors when resetting after lease termination
 8947     
 8948             The lessee may well have played with cursors and left one
 8949             active on our screen. Just tell the kernel to turn it off.
 8950     
 8951     v6:     Add meson build infrastructure
 8952     
 8953     [Also bumped libdrm requirement - ajax]
 8954     
 8955     Signed-off-by: Keith Packard <keithp@keithp.com>
 8956     Reviewed-by: Adam Jackson <ajax@redhat.com>
 8957 
 8958 commit 023d4aba8d45e9e3630b944ecfb650c081799b96
 8959 Author: Keith Packard <keithp@keithp.com>
 8960 Date:   Mon Feb 12 13:51:55 2018 -0800
 8961 
 8962     xf86-video-modesetting: Create CONNECTOR_ID properties for outputs [v2]
 8963     
 8964     This lets a DRM client map between X outputs and kernel connectors.
 8965     
 8966     v2:
 8967             Change CONNECTOR_ID to enum -- Adam Jackson <ajax@nwnk.net>
 8968     
 8969     Signed-off-by: Keith Packard <keithp@keithp.com>
 8970     Reviewed-by: Adam Jackson <ajax@nwnk.net>
 8971 
 8972 commit 39573605050f6253d14a4786bb79ce2b48537039
 8973 Author: Keith Packard <keithp@keithp.com>
 8974 Date:   Mon Feb 12 13:51:54 2018 -0800
 8975 
 8976     randr: Support "non-desktop" property
 8977     
 8978     Tracks changes to the non-desktop property so that when non-zero,
 8979     outputs will always appear to be disconnected.
 8980     
 8981     Signed-off-by: Keith Packard <keithp@keithp.com>
 8982     Reviewed-by: Adam Jackson <ajax@nwnk.net>
 8983 
 8984 commit b91c787c4cd2d20685db69426c539938c556128a
 8985 Author: Keith Packard <keithp@keithp.com>
 8986 Date:   Mon Feb 12 13:51:53 2018 -0800
 8987 
 8988     xf86-video-modesetting: Record non-desktop kernel property at PreInit time
 8989     
 8990     Save any value of the kernel non-desktop property in the xf86Output
 8991     structure to avoid non-desktop outputs in the default configuration.
 8992     
 8993     [Also bump randrproto requirement to a version that defines
 8994     RR_PROPERTY_NON_DESKTOP - ajax]
 8995     
 8996     Signed-off-by: Keith Packard <keithp@keithp.com>
 8997     Reviewed-by: Adam Jackson <ajax@nwnk.net>
 8998 
 8999 commit fabbaa8d6260da14fe5b7ca0f3f8748af16253a2
 9000 Author: Keith Packard <keithp@keithp.com>
 9001 Date:   Mon Feb 12 13:51:52 2018 -0800
 9002 
 9003     xfree86/modes: Check for non-desktop monitors during PreInit [v2]
 9004     
 9005     At startup, we want to ignore non-desktop monitors unless we don't
 9006     find any desktop monitors. Because there are no DIX RandR resources
 9007     allocated, let the driver store this information in a new field in the
 9008     xf86Output structure and then use that value to help decide whether to
 9009     include an output as part of the default configuration.
 9010     
 9011     v2:
 9012       Suggested-by: Michel Dänzer <michel@daenzer.net>
 9013     
 9014       Bump XF86_CRTC_VERSION from 7 to 8. This will let out-of-tree
 9015       drivers know whether this field is available.
 9016     
 9017     Signed-off-by: Keith Packard <keithp@keithp.com>
 9018     Reviewed-by: Adam Jackson <ajax@nwnk.net>
 9019 
 9020 commit 80d4f4b6c20288aa3e0c9908d5d845fc0088a662
 9021 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 9022 Date:   Tue Feb 27 03:05:32 2018 +0100
 9023 
 9024     modesetting: Enable screen color depth 30 support.
 9025     
 9026     glamor now supports depth 30, so allow use of it.
 9027     
 9028     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 9029     Reviewed-by: Eric Anholt <eric@anholt.net>
 9030     Reviewed-by: Antoine Martin <antoine@nagafix.co.uk>
 9031 
 9032 commit 7bc86c7d2346eadb3aafe1550ec55e63f2a3b3e5
 9033 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 9034 Date:   Tue Feb 27 03:05:31 2018 +0100
 9035 
 9036     modesetting: Adapt xf86HandleColorMaps() for > 24 color depth. (v2)
 9037     
 9038     This retains old behavior for depths <= 24, but allows gamma
 9039     table and colormap updates to work properly at depth 30.
 9040     
 9041     This needs the xf86Randr12CrtcComputeGamma() fix for depth 30
 9042     from a previous commit to work. Otherwise the server will work,
 9043     but gamma table updates will silently fail, iow. the server
 9044     would always run with a default identity gamma lut.
 9045     
 9046     v2: Simplify as proposed by Michel.
 9047     
 9048     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 9049     Reviewed-by: Antoine Martin <antoine@nagafix.co.uk> (v1)
 9050 
 9051 commit b5f9fcd50a999a00128c0cc3f6e7d1f66182c9d5
 9052 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 9053 Date:   Tue Feb 27 03:05:30 2018 +0100
 9054 
 9055     xfree86/modes: Adapt xf86Randr12CrtcComputeGamma() for depth 30. (v2)
 9056     
 9057     At screen depths > 24 bit, the color palettes passed into
 9058     xf86Randr12CrtcComputeGamma() can have a larger number of slots
 9059     than the crtc's hardware lut. E.g., at depth 30, 1024 palette
 9060     slots vs. 256 hw lut slots. This palette size > crtc gamma size
 9061     case is not handled yet and leads to silent failure, so gamma
 9062     table updates do not happen.
 9063     
 9064     Add a new subsampling path for this case.
 9065     
 9066     This makes lut updates work again, as tested with the xgamma
 9067     utility (uses XF86VidMode extension) and some RandR based
 9068     gamma ramp animation.
 9069     
 9070     v2: Better resampling when subsampling the palette, as
 9071         proposed by Ville. Now reaches the max index of the
 9072         palette and deals with non-power-of-two sizes. Thanks.
 9073     
 9074     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 9075     Reviewed-by: Antoine Martin <antoine@nagafix.co.uk> (v1)
 9076     Cc: <ville.syrjala@linux.intel.com>
 9077 
 9078 commit 125201408ddd51ca8ea961a7338a6ad299e5816c
 9079 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 9080 Date:   Tue Feb 27 03:05:29 2018 +0100
 9081 
 9082     glamor: Bump version to 1.0.1 to signal depth 30 support.
 9083     
 9084     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 9085     Reviewed-by: Antoine Martin <antoine@nagafix.co.uk>
 9086 
 9087 commit 7a687da24c9d3c9e40ffa426631bf355322d470e
 9088 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 9089 Date:   Tue Feb 27 03:05:28 2018 +0100
 9090 
 9091     glamor: Enable composite acceleration for rgb10 formats. (v2)
 9092     
 9093     Specifically for xrgb2101010 format.
 9094     
 9095     Tested on KDE Plasma-5 with XRender based composite
 9096     acceleration backend. Much smoother and faster.
 9097     
 9098     (v2) Dropped argb2101010, because of depth 32 confusion with
 9099          argb8888, as pointed out by Eric. Thanks!
 9100     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 9101     Reviewed-by: Antoine Martin <antoine@nagafix.co.uk>
 9102 
 9103 commit c326c717c8dbf4a3f0c64a031fbe6030e73ff355
 9104 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 9105 Date:   Tue Feb 27 03:05:27 2018 +0100
 9106 
 9107     glamor: Fix loose ends in color depth 30 support.
 9108     
 9109     This makes it work properly with OpenGL based desktop
 9110     compositing, as tested with EGL and GLX based compositing
 9111     under OpenGL-2/3, and also artifact free with XRender
 9112     based 2D compositing.
 9113     
 9114     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 9115     Reviewed-by: Eric Anholt <eric@anholt.net>
 9116     Reviewed-by: Antoine Martin <antoine@nagafix.co.uk>
 9117 
 9118 commit 9ab5d91c6c228e8f5b34e4b30c5104aed6c41958
 9119 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 9120 Date:   Tue Feb 27 03:05:26 2018 +0100
 9121 
 9122     glamor: Make Xv extension initialize at depth 30.
 9123     
 9124     Support x-screens of depth 30, so init doesn't fail.
 9125     
 9126     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 9127     Reviewed-by: Eric Anholt <eric@anholt.net>
 9128     Reviewed-by: Antoine Martin <antoine@nagafix.co.uk>
 9129 
 9130 commit efe9e3e9ff96a06f50d94dc93ad2c19085fa3d09
 9131 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 9132 Date:   Tue Feb 27 06:51:59 2018 +0100
 9133 
 9134     modesetting: Fix fallback for lack of new vblank kernel API.
 9135     
 9136     Turns out that the kernel DRM ioctl handling returns EINVAL
 9137     instead of ENOTTY if one tries to call the new drmCrtcGetSequence()
 9138     or drmCrtcQueueSequence() ioctl's introduced in Linux 4.15 on an
 9139     older kernel where they are missing. This causes the fallback code
 9140     not to fall back to the old drmWaitVblank() ioctl and thereby
 9141     failure of vblank stuff.
 9142     
 9143     E.g., on Linux 4.13, glxgears -info runs unthrottled at 10000 fps
 9144     instead of 60 fps. Also breakage of OML_sync_control extension.
 9145     
 9146     Check for errno != EINVAL before setting has_queue_sequence = TRUE.
 9147     
 9148     Additionally in case of supported drmCrtcQueueSequence(), set
 9149     has_queue_sequence = TRUE on success, or we might get at
 9150     least a temporary failure in ms_queue_vblank().
 9151     
 9152     One slight ambiguity is that we can also get EINVAL if
 9153     drm_crtc_vblank_get() fails in the kernel, so if that
 9154     happened at first invocation of the new api, we'd fall
 9155     back to drmWaitVblank() and then fail there, instead of
 9156     failing in the new api, but the end result would be the
 9157     same.
 9158     
 9159     Fixes: 44d5f2eb8a2f ("xf86-video-modesetting: Support new vblank kernel API [v2]")
 9160     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 9161     Cc: Keith Packard <keithp@keithp.com>
 9162     Reviewed-by: Keith Packard <keithp@keithp.com>
 9163 
 9164 commit 8171d4c2d67b2990a278dc018ac32534c3afe606
 9165 Author: Adam Jackson <ajax@redhat.com>
 9166 Date:   Fri Feb 23 16:08:10 2018 -0500
 9167 
 9168     render: Store and use all 16bpc of precision for solid pixels (v2.1)
 9169     
 9170     This plumbs the full width color for solid pictures through to fb, exa,
 9171     and glamor. External drivers and acceleration code may wish to make a
 9172     similar change for sufficiently new servers.
 9173     
 9174     v2: Don't break ABI (Michel Dänzer)
 9175     v2.1: Use the (correct) full color in fb too (Michel Dänzer)
 9176     
 9177     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9178     Reviewed-by: Keith Packard <keithp@keithp.com>
 9179 
 9180 commit 92272378064a878ce7a62852b877d674bcad89cd
 9181 Author: Jeffrey Smith <whydoubt@gmail.com>
 9182 Date:   Thu Feb 15 06:46:55 2018 -0600
 9183 
 9184     modesetting: Do not close uninitialized dri2 screen
 9185     
 9186     If a dri2 screen is not successfully initialized, attempting to close it
 9187     results in a null dereference.
 9188     
 9189     Maintain a flag indicating whether the dri2 screen was successfully
 9190     initialized, and check it before attempting to close the dri2 screen.
 9191     
 9192     https://bugzilla.redhat.com/show_bug.cgi?id=1485811
 9193     https://bugzilla.redhat.com/show_bug.cgi?id=1493805
 9194     https://bugzilla.redhat.com/show_bug.cgi?id=1534459
 9195     https://bugzilla.redhat.com/show_bug.cgi?id=1541745
 9196     https://bugs.freedesktop.org/show_bug.cgi?id=101282
 9197     
 9198     Signed-off-by: Jeff Smith <whydoubt@gmail.com>
 9199 
 9200 commit aa29298416a6323fad1681a019dbcd54867b66c4
 9201 Author: Adam Jackson <ajax@redhat.com>
 9202 Date:   Mon Feb 26 15:26:35 2018 -0500
 9203 
 9204     glamor: unifdef XORG_VERSION_CURRENT
 9205     
 9206     This is always true now that glamor is in-tree.
 9207     
 9208     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9209     Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
 9210 
 9211 commit 059879b3edb104014959426f953e1faf103d99ff
 9212 Author: Adam Jackson <ajax@redhat.com>
 9213 Date:   Mon Feb 26 13:58:26 2018 -0500
 9214 
 9215     xquartz: Fix linking with glxvnd
 9216     
 9217     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9218 
 9219 commit 22a3ffe68c9c498e0b6b74ebcf1404becda8e2b1
 9220 Author: Michel Dänzer <michel.daenzer@amd.com>
 9221 Date:   Mon Feb 26 17:30:57 2018 +0100
 9222 
 9223     glx: Don't pass NULL to glxGetClient
 9224     
 9225     These guards were dropped by the commit below, but it turns out they're
 9226     needed. Fixes crash on VT switch.
 9227     
 9228     Fixes: d8ec33fe0542 ("glx: Use vnd layer for dispatch (v4)")
 9229     Bugzilla: https://bugs.freedesktop.org/105233
 9230     Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
 9231     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9232 
 9233 commit 528c94c6501db936882cd06338e2250a0b884b36
 9234 Author: Adam Jackson <ajax@redhat.com>
 9235 Date:   Tue Feb 20 11:03:46 2018 -0500
 9236 
 9237     glx: Fix indirect no-config contexts
 9238     
 9239     We would throw BadValue here for the GLX_SCREEN attribute. The upper
 9240     dispatch layer already checks this, we can ignore it here.
 9241     
 9242     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9243 
 9244 commit a63ab81f6be7ad46b7e2d98a50aef4da5e664847
 9245 Author: Adam Jackson <ajax@redhat.com>
 9246 Date:   Tue Feb 20 11:03:45 2018 -0500
 9247 
 9248     glx: Enable GLX_ARB_create_context_no_error (v2)
 9249     
 9250     This is mostly for the client library's convenience, if this extension
 9251     is listed then it can know the attribute won't be rejected. Note that we
 9252     don't honor this attribute for indirect contexts. That's fine, we don't
 9253     want to introduce undefined behavior into a potentially privileged
 9254     process.
 9255     
 9256     v2: Remember to ignore the attribute (Eric Anholt)
 9257     
 9258     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9259 
 9260 commit 701f3a206d6f71c4754f457e95e2b954cf0b80c7
 9261 Author: Adam Jackson <ajax@redhat.com>
 9262 Date:   Fri Feb 23 16:08:11 2018 -0500
 9263 
 9264     render: Simplify miCompositeRects
 9265     
 9266     Make a solid-fill picture for this instead of a 1x1 pixmap. In principle
 9267     the backend can accelerate this directly, and we also get to preserve
 9268     all the bits of the fill color.
 9269     
 9270     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9271     Reviewed-by: Keith Packard <keithp@keithp.com>
 9272 
 9273 commit 9339fa87d03204b29d47eb8c9406f701517b3514
 9274 Author: Adam Jackson <ajax@redhat.com>
 9275 Date:   Thu Feb 22 16:53:22 2018 -0500
 9276 
 9277     render: Cosmetic cleanup to default format creation
 9278     
 9279     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9280     Reviewed-by: Keith Packard <keithp@keithp.com>
 9281 
 9282 commit ddf752eafe951bb9723aabf2579c4725a6ffc9de
 9283 Author: Adam Jackson <ajax@redhat.com>
 9284 Date:   Thu Feb 22 16:53:21 2018 -0500
 9285 
 9286     render: Remove some 24bpp handling
 9287     
 9288     This can't happen anymore.
 9289     
 9290     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9291     Reviewed-by: Keith Packard <keithp@keithp.com>
 9292 
 9293 commit efd84bff238f8e12bf652525990d36baada8785b
 9294 Author: Peter Harris <pharris@opentext.com>
 9295 Date:   Thu Feb 22 18:07:38 2018 -0500
 9296 
 9297     composite: Fix use-after-free in compReparentWindow
 9298     
 9299     If an implicitly redirected window is unredirected by the reparent
 9300     operation, cw will be a stale pointer.
 9301     
 9302     Signed-off-by: Peter Harris <pharris@opentext.com>
 9303     Reviewed-by: Keith Packard <keithp@keithp.com>
 9304 
 9305 commit ac13d740bf14ba8799d4dfbee1f6f99a297dbc7e
 9306 Author: Emil Velikov <emil.velikov@collabora.com>
 9307 Date:   Wed Feb 21 17:12:15 2018 +0000
 9308 
 9309     mi: Mention extension loading in verbose logs
 9310     
 9311     Listing the extensions is useful, despite being annoying for normal
 9312     usecases. Print it only when extra (lvl 3) vebose is requested.
 9313     
 9314     v2: Move the logging to InitExtensions(), as requested by Adam.
 9315     
 9316     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9317     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 9318 
 9319 commit 9237c5e2878c088a6cd26ea380763465a9e67012
 9320 Author: Emil Velikov <emil.velikov@collabora.com>
 9321 Date:   Mon Feb 19 15:18:11 2018 +0000
 9322 
 9323     docs: correct LoadExtensionList() documentation
 9324     
 9325     Add the missing arguments to the function signature.
 9326     
 9327     Fixes: e46820fb897 ("miinitext: introduce LoadExtensionList() to replace
 9328     over LoadExtension()")
 9329     
 9330     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 9331     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9332 
 9333 commit 089a1b0f9fa2e80457dc3d5f05c84565c9113a21
 9334 Author: Emil Velikov <emil.velikov@collabora.com>
 9335 Date:   Mon Feb 19 15:18:10 2018 +0000
 9336 
 9337     glx: set the version we implement in GlxServerExports
 9338     
 9339     Set the major/minor version it's currently implemented, not the one
 9340     provided by the GLXSERVER_VENDOR_ABI_{MAJOR,MINOR}_VERSION macros.
 9341     
 9342     Those are identical for now, but can change in the future.
 9343     
 9344     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 9345     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9346 
 9347 commit edc00e020310d8f53ebc16295c373fe84ec6ec87
 9348 Author: Emil Velikov <emil.velikov@collabora.com>
 9349 Date:   Mon Feb 19 15:18:09 2018 +0000
 9350 
 9351     glx: use C99 initializers for GlxServerExports
 9352     
 9353     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 9354     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9355 
 9356 commit 7fc757986947ad89d76fc0fd3d69f5fdeefc9055
 9357 Author: Emil Velikov <emil.velikov@collabora.com>
 9358 Date:   Mon Feb 19 15:18:08 2018 +0000
 9359 
 9360     glx: NULL check the correct argument in dispatch_GLXVendorPriv
 9361     
 9362     malloc can return NULL, unlike GetVendorDispatchFunc. The latter
 9363     provides DispatchBadRequest.
 9364     
 9365     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 9366     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9367 
 9368 commit 1310241e8d606687811c7394811fe337c3e4de11
 9369 Author: Emil Velikov <emil.velikov@collabora.com>
 9370 Date:   Mon Feb 19 15:18:07 2018 +0000
 9371 
 9372     glx: keep glvnd_vendor a private [static] variable
 9373     
 9374     Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
 9375     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9376 
 9377 commit a054532668cbbb152d0d7acfcce1e03e884bb491
 9378 Author: Jason Ekstrand <jason@jlekstrand.net>
 9379 Date:   Tue Feb 20 09:41:39 2018 -0800
 9380 
 9381     xwayland: Fix backwards need_rotate logic (v2)
 9382     
 9383     When xdg_output support was added to Xwayland, need_rotate parameter was
 9384     added to output_get_new_size where true gave you the old pre-xdg_output
 9385     behavior and false gave the new behavior.  Unfortunately, the two places
 9386     where this is called, need_rotate was set backwards.  This caused input
 9387     get clampped to the wrong dimensions.  Also, the logic for deciding
 9388     whether or not to flip was wrong because, if need_rotate was false, it
 9389     would always flip which is not what you want.
 9390     
 9391     v2 (Daniel Stone):
 9392      - Fix output_get_new_size so that it doesn't flip the dimensions when
 9393        need_rotate is false.
 9394     
 9395     Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
 9396     Reviewed-by: Daniel Stone <daniels@collabora.com>
 9397     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
 9398 
 9399 commit 343ee7d07565a75b90e6489c5c29f772dca79c43
 9400 Author: Alexander Volkov <a.volkov@rusbitech.ru>
 9401 Date:   Tue Feb 20 18:07:18 2018 +0300
 9402 
 9403     Xephyr: Avoid calling xcb_shm_detach() twice
 9404     
 9405     This call was forgotten to be removed in
 9406     90996f5909aab4bc9aa4011a6a6d0555a7aa3adf in which
 9407     hostx_destroy_shm_segment() was introduced, which
 9408     itself does it.
 9409     
 9410     Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru>
 9411     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9412 
 9413 commit 5ba0ba93e127a8c460b013e3c6851dd186377c27
 9414 Author: Laurent Carlier <lordheavym@gmail.com>
 9415 Date:   Sun Feb 18 10:58:35 2018 +0100
 9416 
 9417     meson: Make DGA extension optional
 9418     
 9419     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 9420 
 9421 commit e790bc621b8f55489e35b1de260c649d8d105d63
 9422 Author: Laurent Carlier <lordheavym@gmail.com>
 9423 Date:   Sun Feb 18 10:58:34 2018 +0100
 9424 
 9425     dga: #if XFreeXDGA → #ifdef XFreeXDGA
 9426     
 9427     ../include/events.h:32:14: error: #if with no expression
 9428     
 9429     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 9430 
 9431 commit ce4e20f80ff64a5a8b9f344e2507128f379e0715
 9432 Author: Laurent Carlier <lordheavym@gmail.com>
 9433 Date:   Sun Feb 18 10:58:33 2018 +0100
 9434 
 9435     meson: Make Xv and XvMC extensions optional
 9436     
 9437     Just mimic autoconf file, XvMC can't be enabled without Xv
 9438     
 9439     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 9440 
 9441 commit 82d9e99bf99660537a11d9475369c43814cad664
 9442 Author: Laurent Carlier <lordheavym@gmail.com>
 9443 Date:   Sun Feb 18 10:58:32 2018 +0100
 9444 
 9445     meson: Xephyr Requires xcb-shm version 1.9.3 or newer
 9446     
 9447     Sync with commit 8510f542e5474b719f7d7edba7ef0cc05af0271e
 9448     
 9449     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 9450 
 9451 commit 272fa1817091117d078a22252a03d3161dfc7b0f
 9452 Author: Jeffrey Smith <whydoubt@gmail.com>
 9453 Date:   Thu Feb 15 23:47:46 2018 -0600
 9454 
 9455     os: avoid uninitialized offsets in backtrace
 9456     
 9457     When xorg_backtrace calls unw_get_proc_name and an error occurs, offset
 9458     might not be set for the current frame.
 9459     
 9460     Initialize offset for each frame so that the offset from another frame
 9461     cannot be used inadvertently.
 9462     
 9463     Signed-off-by: Jeff Smith <whydoubt@gmail.com>
 9464     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9465 
 9466 commit 6f9d29040cd9f4723a2e6c1e5d2ec8104efc0710
 9467 Author: Jon Turney <jon.turney@dronecode.org.uk>
 9468 Date:   Fri Feb 16 16:44:37 2018 +0000
 9469 
 9470     hw/xwin: Update for glxvnd
 9471     
 9472     - Link with libglxvnd in meson.build
 9473     - Call xorgGlxCreateVendor() like all other DDX
 9474     
 9475     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
 9476 
 9477 commit 500cc4a029efce9b962ab8fbb10da9f87d83372e
 9478 Author: Adam Jackson <ajax@redhat.com>
 9479 Date:   Wed Feb 14 17:21:43 2018 -0500
 9480 
 9481     dmx: warning fix
 9482     
 9483     /home/ajax/git/xserver/at/../hw/dmx/input/dmxinputinit.c: In function ‘dmxInputInit’:
 9484     /home/ajax/git/xserver/at/../hw/dmx/input/dmxinputinit.c:1019:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
 9485              int found;
 9486     
 9487     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9488 
 9489 commit 9bcddaf9619d01cdbf965cedb9f86a08ed6dc524
 9490 Author: Adam Jackson <ajax@redhat.com>
 9491 Date:   Wed Feb 14 17:20:16 2018 -0500
 9492 
 9493     dri2: warning fix
 9494     
 9495     /home/ajax/git/xserver/at/../glx/glxdri2.c: In function ‘create_driver_context’:
 9496     /home/ajax/git/xserver/at/../glx/glxdri2.c:444:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
 9497          const __DRIconfig *driConfig = config ? config->driConfig : NULL;
 9498     
 9499     I don't know why autotools has decided not to be C99 but at least it's
 9500     trivial to fix.
 9501     
 9502     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9503 
 9504 commit 133bd4443be6b76a36afadfae0905b832e998165
 9505 Author: Adam Jackson <ajax@redhat.com>
 9506 Date:   Wed Jan 10 13:05:48 2018 -0500
 9507 
 9508     glx: Large commands are context state, not client state
 9509     
 9510     There's no reason a multithreaded client shouldn't be allowed to
 9511     interleave other requests (for other contexts) with a RenderLarge. Move
 9512     the check into __glXForceCurrent, and store the state in the context not
 9513     the client.
 9514     
 9515     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9516 
 9517 commit 5d87e4f71355272c8da38c83f493b826623301cc
 9518 Author: Adam Jackson <ajax@redhat.com>
 9519 Date:   Wed Jan 10 13:05:47 2018 -0500
 9520 
 9521     miinitext: Remove separate extension toggle list
 9522     
 9523     This was only separate because GLX was loadable. The frontend is now
 9524     linked statically, so we can use the static extension list directly.
 9525     
 9526     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9527 
 9528 commit 67c303fff303f94b62f03a76de97116c6ebcfda9
 9529 Author: Adam Jackson <ajax@redhat.com>
 9530 Date:   Wed Jan 10 13:05:46 2018 -0500
 9531 
 9532     miinitext: Load GLX on the mi path
 9533     
 9534     Add a stub for Xnest so it continues to link, but otherwise we support
 9535     GLX on every server so there's no need to make every DDX add it.
 9536     
 9537     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9538 
 9539 commit d8ec33fe0542141aed1d9016d2ecaf52da944b4b
 9540 Author: Adam Jackson <ajax@redhat.com>
 9541 Date:   Wed Jan 10 13:05:45 2018 -0500
 9542 
 9543     glx: Use vnd layer for dispatch (v4)
 9544     
 9545     The big change here is MakeCurrent and context tag tracking. We now
 9546     delegate context tags entirely to the vnd layer, and simply store a
 9547     pointer to the context state as the tag data. If a context is deleted
 9548     while it's current, we allocate a fake ID for the context and move the
 9549     context state there, so the tag data still points to a real context. As
 9550     a result we can stop trying so hard to detach the client from contexts
 9551     at disconnect time and just let resource destruction handle it.
 9552     
 9553     Since vnd handles all the MakeCurrent protocol now, our request handlers
 9554     for it can just be return BadImplementation. We also remove a bunch of
 9555     LEGAL_NEW_RESOURCE, because now by the time we're called vnd has already
 9556     allocated its tracking resource on that XID.
 9557     
 9558     v2: Update to match v2 of the vnd import, and remove more redundant work
 9559     like request length checks.
 9560     
 9561     v3: Add/remove the XID map from the vendor private thunk, not the
 9562     backend. (Kyle Brenneman)
 9563     
 9564     v4: Fix deletion of ghost contexts (Kyle Brenneman)
 9565     
 9566     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9567 
 9568 commit 8753218beae641e5c5ac2c2ba598cfb99a893cf4
 9569 Author: Kyle Brenneman <kbrenneman@nvidia.com>
 9570 Date:   Wed Jan 10 13:05:44 2018 -0500
 9571 
 9572     glx: Import glxvnd server module (v2)
 9573     
 9574     This is based on an out-of-tree module written by Kyle:
 9575     
 9576     https://github.com/kbrenneman/libglvnd/tree/server-libglx
 9577     
 9578     I (ajax) did a bunch of cosmetic fixes, ported it off xfree86 API,
 9579     added request length checks, and fixed a minor bug or two.
 9580     
 9581     v2: Use separate functions to set/get a context tag's private data, and
 9582     call the backend's MakeCurrent when a client disconnects to unbind the
 9583     context. (Kyle Brenneman)
 9584     
 9585     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9586 
 9587 commit d1fdddeb76328ab84d9a181a5c72b90013f0f0a6
 9588 Author: Laurent Carlier <lordheavym@gmail.com>
 9589 Date:   Tue Feb 13 22:33:51 2018 +0100
 9590 
 9591     meson: Make Security extension optional
 9592     
 9593     Just mimic autoconf file, Security extension needs X-ACE extension
 9594     
 9595     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 9596     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9597 
 9598 commit 43ef94068e072228446484bf58c0624b9b9649ac
 9599 Author: Laurent Carlier <lordheavym@gmail.com>
 9600 Date:   Tue Feb 13 22:33:50 2018 +0100
 9601 
 9602     meson: Make more extensions optional
 9603     
 9604     Just mimic autoconf file for xf86bigfont, screensaver,
 9605     xres, xace and xinerama extensions
 9606     
 9607     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 9608     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9609 
 9610 commit 3203dd175bd71ef4d154578165d930eec29afddb
 9611 Author: Laurent Carlier <lordheavym@gmail.com>
 9612 Date:   Tue Feb 13 22:33:49 2018 +0100
 9613 
 9614     meson: Make DPMS extension optional
 9615     
 9616     Just mimic autoconf file, DPMS is disabled with Xquartz
 9617     
 9618     Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
 9619     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9620 
 9621 commit 2c3e137b786dab4a8002a4934fbcf4ef0742f473
 9622 Author: Adam Jackson <ajax@redhat.com>
 9623 Date:   Wed Feb 14 14:10:44 2018 -0500
 9624 
 9625     dmx: #if PANORAMIX → #ifdef PANORAMIX
 9626     
 9627     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9628 
 9629 commit ceaf4277447407a7430b9bc3205462fbdbae0e39
 9630 Author: Adam Jackson <ajax@redhat.com>
 9631 Date:   Mon Feb 12 15:35:05 2018 -0500
 9632 
 9633     xfixes: Restore monitoring of animated cursors
 9634     
 9635     This was broken by:
 9636     
 9637         commit aa6651f83c698e8cc40de61aad36c73ca7a6adcf
 9638         Author: Adam Jackson <ajax@redhat.com>
 9639         Date:   Thu Jun 8 16:23:12 2017 -0400
 9640     
 9641             xfixes: Remove the CursorCurrent array
 9642     
 9643     As of that change we look up the current cursor dynamically instead of
 9644     trying to track every time it's set through ->DisplayCursor. That would
 9645     work, except the 'bits' of an animated cursor is a transparent 1x1
 9646     pixel. So now, look up whether there's an animated cursor, and use its
 9647     current frame if so.
 9648     
 9649     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9650 
 9651 commit 0b7a5700ad3d65e408a2fae00bdee867a8d2e1a8
 9652 Author: Adam Jackson <ajax@redhat.com>
 9653 Date:   Mon Feb 12 15:35:04 2018 -0500
 9654 
 9655     animcur: Change which CursorPtr we save in external state
 9656     
 9657     Formerly spriteInfo->anim.pCursor would point to the animated cursor (or
 9658     NULL if not animated). That value would also be available in
 9659     spriteInfo->sprite->current, so instead lets use anim.pCursor to point
 9660     to the current animation element.
 9661     
 9662     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9663 
 9664 commit 8510f542e5474b719f7d7edba7ef0cc05af0271e
 9665 Author: Alexander Volkov <a.volkov@rusbitech.ru>
 9666 Date:   Wed Feb 7 14:08:50 2018 +0300
 9667 
 9668     Xephyr: Require xcb-shm version 1.9.3 or newer
 9669     
 9670     It's needed for FD-passing.
 9671     
 9672     Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru>
 9673     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9674 
 9675 commit 2ff6eaad85fd702e3cc597c44ccf2210570004ea
 9676 Author: Roman Gilg <subdiff@gmail.com>
 9677 Date:   Fri Feb 9 23:40:42 2018 +0100
 9678 
 9679     Correct xorg_list_is_empty return value description
 9680     
 9681     The helper xorg_list_is_empty returns True when the list is empty and not when
 9682     it contains one or more elements.
 9683     
 9684     Signed-off-by: Roman Gilg <subdiff@gmail.com>
 9685     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
 9686     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 9687 
 9688 commit bebcc8477c8070ade9dd4be7299c718baeab3d7a
 9689 Author: Mario Kleiner <mario.kleiner.de@gmail.com>
 9690 Date:   Mon Feb 5 11:20:41 2018 +0100
 9691 
 9692     glx: Only assign 8 bpc fbconfigs for composite visuals.
 9693     
 9694     Commit 91c42093b248 ("glx: Duplicate relevant fbconfigs for
 9695     compositing visuals") adds many new depth 32 fbconfigs as
 9696     composite visuals. On a X-Screen running at depth 24, this
 9697     also adds bgra 10-10-10-2 fbconigs, as they also have
 9698     config.rgbBits == 32, but these are not displayable on a
 9699     depth 24 screen, leading to visually corrupted desktops
 9700     under some compositors, e.g., fdo bug 104597 "Compton
 9701     weird colors" when running compton with
 9702     "compton --backend glx".
 9703     
 9704     Be more conservative for now and only select fbconfigs with
 9705     8 bpc red, green, blue components for composite visuals.
 9706     
 9707     Fixes: 91c42093b248 ("glx: Duplicate relevant fbconfigs for
 9708                           compositing visuals")
 9709     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104597
 9710     Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
 9711     Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
 9712     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9713 
 9714 commit 98edb9a35e2cdd61355656b82975d7f2b6a9f0e6
 9715 Author: Lyude Paul <lyude@redhat.com>
 9716 Date:   Tue Feb 6 12:41:47 2018 -0500
 9717 
 9718     xwayland: Don't process cursor warping without an xwl_seat
 9719     
 9720     Unfortunately, on my machine Xwayland immediately crashes when I try to
 9721     start it. gdb backtrace:
 9722     
 9723      #0  0x00007ffff74f0e79 in wl_proxy_marshal () from target:/lib64/libwayland-client.so.0
 9724      #1  0x0000000000413172 in zwp_confined_pointer_v1_destroy (zwp_confined_pointer_v1=0x700000000)
 9725          at hw/xwayland/Xwayland@exe/pointer-constraints-unstable-v1-client-protocol.h:612
 9726      #2  0x0000000000418bc0 in xwl_seat_destroy_confined_pointer (xwl_seat=0x8ba2a0)
 9727          at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-input.c:2839
 9728      #3  0x0000000000418c09 in xwl_seat_unconfine_pointer (xwl_seat=0x8ba2a0)
 9729          at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-input.c:2849
 9730      #4  0x0000000000410d97 in xwl_cursor_confined_to (device=0xa5a000, screen=0x8b9d80, window=0x9bdb70)
 9731          at /home/lyudess/Projects/xserver/hw/xwayland/xwayland.c:328
 9732      #5  0x00000000004a8571 in ConfineCursorToWindow (pDev=0xa5a000, pWin=0x9bdb70, generateEvents=1,
 9733          confineToScreen=0) at /home/lyudess/Projects/xserver/dix/events.c:900
 9734      #6  0x00000000004a94b7 in ScreenRestructured (pScreen=0x8b9d80)
 9735          at /home/lyudess/Projects/xserver/dix/events.c:1387
 9736      #7  0x0000000000502386 in RRScreenSizeNotify (pScreen=0x8b9d80)
 9737          at /home/lyudess/Projects/xserver/randr/rrscreen.c:160
 9738      #8  0x000000000041a83c in update_screen_size (xwl_output=0x8e7670, width=3840, height=2160)
 9739          at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-output.c:203
 9740      #9  0x000000000041a9f0 in apply_output_change (xwl_output=0x8e7670)
 9741          at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-output.c:252
 9742      #10 0x000000000041aaeb in xdg_output_handle_done (data=0x8e7670, xdg_output=0x8e7580)
 9743          at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-output.c:307
 9744      #11 0x00007ffff50e9d1e in ffi_call_unix64 () at ../src/x86/unix64.S:76
 9745      #12 0x00007ffff50e968f in ffi_call (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>,
 9746          avalue=<optimized out>) at ../src/x86/ffi64.c:525
 9747      #13 0x00007ffff74f3d8b in wl_closure_invoke () from target:/lib64/libwayland-client.so.0
 9748      #14 0x00007ffff74f0928 in dispatch_event.isra () from target:/lib64/libwayland-client.so.0
 9749      #15 0x00007ffff74f1be4 in wl_display_dispatch_queue_pending () from target:/lib64/libwayland-client.so.0
 9750      #16 0x00007ffff74f200b in wl_display_roundtrip_queue () from target:/lib64/libwayland-client.so.0
 9751      #17 0x0000000000418cad in InitInput (argc=12, argv=0x7fffffffd9c8)
 9752          at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-input.c:2867
 9753      #18 0x00000000004a20e3 in dix_main (argc=12, argv=0x7fffffffd9c8, envp=0x7fffffffda30)
 9754          at /home/lyudess/Projects/xserver/dix/main.c:250
 9755      #19 0x0000000000420cb2 in main (argc=12, argv=0x7fffffffd9c8, envp=0x7fffffffda30)
 9756         at /home/lyudess/Projects/xserver/dix/stubmain.c:34
 9757     
 9758     This appears to be the result of xwl_cursor_confined_to() and
 9759     xwl_screen_get_default_seat(). While not against protocol, mutter ends
 9760     up sending xdg_output before wl_seat. xwl_screen_get_default_seat()
 9761     makes the naïve assumption that we always have a valid seat, we end up
 9762     returning a pointer to the empty list itself instead of an actual seat
 9763     and causing ourselves to segfault.
 9764     
 9765     So, actually return NULL in xwl_screen_get_default_seat() if the seat
 9766     list is empty, and skip any pointer confinement processing in
 9767     xwl_cursor_confined_to() when we don't have a seat setup yet.
 9768     
 9769     Signed-off-by: Lyude Paul <lyude@redhat.com>
 9770     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9771 
 9772 commit fd21b282dc88936043a23baa4ec053a2811319a7
 9773 Author: Jeff Smith <whydoubt@gmail.com>
 9774 Date:   Sun Feb 4 23:17:54 2018 -0600
 9775 
 9776     xfree86: Only call PreInit handler if it exists for device
 9777     
 9778     DoConfigure() attempts to call the PreInit handler on a device without
 9779     checking that the handler exists.
 9780     
 9781     Check that the PreInit handler exists for a device before attempting to
 9782     call it.
 9783     
 9784     Signed-off-by: Jeff Smith <whydoubt@gmail.com>
 9785     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9786 
 9787 commit e81031f3fda0f8b4237224b13c016759eaa52449
 9788 Author: Jeff Smith <whydoubt@gmail.com>
 9789 Date:   Sun Feb 4 23:17:53 2018 -0600
 9790 
 9791     xfree86: Allocate sufficienct space for dev2screen array
 9792     
 9793     When the dev2screen is sized to xf86NumDrivers in DoConfigure(),
 9794     subsequent code may attempt to write past the end of the array.
 9795     
 9796     Size the dev2screen array to nDevToConfig instead.
 9797     
 9798     Signed-off-by: Jeff Smith <whydoubt@gmail.com>
 9799     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9800 
 9801 commit 1a24a0ae7b1a7400735530a21ac8c0247723223d
 9802 Author: Jeff Smith <whydoubt@gmail.com>
 9803 Date:   Sun Feb 4 23:17:52 2018 -0600
 9804 
 9805     xfree86: Do not use uninitialized pointer during probe
 9806     
 9807     Commits b5dffbb and d75ffcd introduce code in xf86platformProbe() that
 9808     references a member of xf86configptr.  However, when using the
 9809     "-configure" option, xf86configptr may not be initialized when
 9810     xf86platformProbe() is called.
 9811     
 9812     Avoid referencing a member of xf86configptr if uninitialized.
 9813     
 9814     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100405
 9815     Signed-off-by: Jeff Smith <whydoubt@gmail.com>
 9816     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9817 
 9818 commit 1e23f03dd5fb6c981ef6d64c084f72fc6820ed71
 9819 Author: Jan Beich <jbeich@freebsd.org>
 9820 Date:   Fri Jul 7 16:31:48 2017 +0200
 9821 
 9822     shm, xwayland: prefer atomic close-on-exec without O_TMPFILE
 9823     
 9824     Signed-off-by: Jan Beich <jbeich@FreeBSD.org>
 9825     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9826 
 9827 commit 3e3b8a40fee77d1af6ca0c2946ff276d555ddea8
 9828 Author: Michal Srb <msrb@suse.com>
 9829 Date:   Mon Mar 27 15:03:38 2017 +0300
 9830 
 9831     modesetting: Check for -1 before converting to unsigned int.
 9832     
 9833     dri2.c:516:21: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
 9834         if (front->name < 0)
 9835     
 9836     Prevents a failure from being ignored.
 9837 
 9838 commit a9f68688f313752b1c6dfcbf6bf54f8c41fd811d
 9839 Author: Michal Srb <msrb@suse.com>
 9840 Date:   Mon Mar 27 15:03:37 2017 +0300
 9841 
 9842     xfree86: Silence always true condition warning.
 9843     
 9844     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]
 9845         if (pVideo->bus < 256)
 9846     
 9847     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.
 9848 
 9849 commit b75835a4358065378142691bf4a20140981a410f
 9850 Author: Raimonds Cicans <ray@apollo.lv>
 9851 Date:   Mon Nov 6 15:26:33 2017 +0200
 9852 
 9853     Xdmx: fix input driver initialization code paths
 9854     
 9855     Problem: Xdmx exit with error "(Fatal Error) dmx: Unknown input argument: "
 9856     if local input driver is specified (example: -input local,usb-kbd,usb-mou).
 9857     
 9858     Cause: code block for remote input drivers is placed in code path common
 9859     for all drivers.
 9860     
 9861     Fix: affected code block moved to remote input driver code path part.
 9862     
 9863     Signed-off-by: Raimonds Cicans <ray@apollo.lv>
 9864     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9865 
 9866 commit cbf09619f2355d14c103eff69aaf191cca614c06
 9867 Author: Adam Jackson <ajax@redhat.com>
 9868 Date:   Mon Nov 6 12:56:05 2017 -0500
 9869 
 9870     meson: Get more xkb configuration from xkbcomp.pc
 9871     
 9872     Signed-off-by: Adam Jackson <ajax@redhat.com>
 9873     Reviewed-by: Daniel Stone <daniels@collabora.com>
 9874 
 9875 commit 93c16b0524711cd3cd8e32f151c53b5d6522e967
 9876 Author: Alexander Volkov <a.volkov@rusbitech.ru>
 9877 Date:   Fri Feb 2 15:17:15 2018 +0300
 9878 
 9879     Xephyr: Call forgotten XShmDetach if can't mmap SHM segment
 9880     
 9881     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9882 
 9883 commit 6b26a7bda9efa93440734ede0382a3e9a6761365
 9884 Author: Alex Goins <agoins@nvidia.com>
 9885 Date:   Mon Jan 8 18:44:25 2018 -0800
 9886 
 9887     randr: Fix rotation check in ProcRRSetScreenSize()
 9888     
 9889     ProcRRSetScreenSize() does bounds checking to ensure that none of the CRTCs have
 9890     a viewport that extends beyond the new screen size. In doing so, it accounts for
 9891     if the CRTC is rotated 90 or 270 degrees, swapping width and height.
 9892     
 9893     However, it does so by testing if crtc->rotation is equal to RR_Rotate_90 or
 9894     RR_Rotate_270. crtc->rotation is a bit mask, and it includes reflection as well
 9895     as rotation. If a CRTC is reflected as well as rotated, it will incorrectly fail
 9896     this test, resulting in incorrect dimensions being used to verify the validity
 9897     of the new screen size. In some cases, this can cause valid uses of
 9898     ProcRRSetScreenSize() to fail with BadMatch.
 9899     
 9900     This patch fixes the issue by testing that the bits RR_Rotate_90 or
 9901     RR_Rotate_270 are set, rather than testing for equality.
 9902     
 9903     Signed-off-by: Alex Goins <agoins@nvidia.com>
 9904     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
 9905 
 9906 commit 90996f5909aab4bc9aa4011a6a6d0555a7aa3adf
 9907 Author: Alexander Volkov <a.volkov@rusbitech.ru>
 9908 Date:   Wed Jan 31 15:36:36 2018 +0300
 9909 
 9910     Xephyr: Prefer using MIT-SHM FD-passing when possible
 9911     
 9912     This makes the shared memory visible only for the Xephyr
 9913     and the X server to which it is connected.
 9914     
 9915     Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru>
 9916     Reviewed-by: Keith Packard <keithp@keithp.com>
 9917 
 9918 commit 8a220bd83c3e23de7e07d3976bfc1248c38558d4
 9919 Author: Alexander Volkov <a.volkov@rusbitech.ru>
 9920 Date:   Wed Jan 31 15:36:35 2018 +0300
 9921 
 9922     Xephyr: Extract functions to create/delete shared memory segments
 9923     
 9924     Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru>
 9925     Reviewed-by: Keith Packard <keithp@keithp.com>
 9926 
 9927 commit 510e7d0d869dcc008b1e11e21961f2c1c3cb9cd3
 9928 Author: Jeff Smith <whydoubt@gmail.com>
 9929 Date:   Tue Dec 26 22:10:52 2017 -0600
 9930 
 9931     os: Always return microseconds from GetTimeInMicros()
 9932     
 9933     When a monotonic clock is not available, GetTimeInMicros() returns the
 9934     time in nanoseconds.  Instead, return the time in microseconds, as the
 9935     name indicates.
 9936     
 9937     Signed-off-by: Jeff Smith <whydoubt@gmail.com>
 9938     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9939 
 9940 commit 94e7ca6a5667eeb13c078496a07d3e6cf1ec95cc
 9941 Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
 9942 Date:   Wed Jan 31 17:33:48 2018 +0100
 9943 
 9944     rrmonitor: allocate using the correct type
 9945     
 9946     Monitor outputs are of type RROutput, not RRCrtc.
 9947     
 9948     (Which are both XID, so this makes no difference in practice, other than
 9949     being technically correct.)
 9950     
 9951     Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
 9952     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9953 
 9954 commit ff410c56bfd6dcdf5d252ef0ba3f4c6fde91774b
 9955 Author: Jeff Smith <whydoubt@gmail.com>
 9956 Date:   Fri Jan 26 06:25:22 2018 -0600
 9957 
 9958     glamor: tidy up some gradient color formulas
 9959     
 9960     - Avoid some needlessly complex equations for calculating the color at a
 9961       point in a gradient field.
 9962     - Avoid calculating certain values multiple times.
 9963     - Use similar variable names across the two versions of the get_color
 9964       function where practical.
 9965     
 9966     Signed-off-by: Jeff Smith <whydoubt@gmail.com>
 9967     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9968 
 9969 commit 3bd17dff1ac5a4685a5da92a9982f621effee658
 9970 Author: Jeff Smith <whydoubt@gmail.com>
 9971 Date:   Fri Jan 26 06:25:21 2018 -0600
 9972 
 9973     glamor: remove unused variables in linear gradient shader
 9974     
 9975     Signed-off-by: Jeff Smith <whydoubt@gmail.com>
 9976     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9977 
 9978 commit 5815c7b5951fd46d69e5c40144b64e516c7afdbf
 9979 Author: Jeff Smith <whydoubt@gmail.com>
 9980 Date:   Fri Jan 26 06:25:20 2018 -0600
 9981 
 9982     glamor: fix no-reflect case for gradients
 9983     
 9984     When compositing a no-reflect gradient, 'before' the gradient is empty,
 9985     but 'after' the gradient is padded with the final color.  Both sides are
 9986     supposed to be empty.
 9987     
 9988     This is fixed by moving the virtual stops to match the first and last
 9989     client-supplied stops for no-reflect gradients, then causing everything
 9990     'before' the initial virtual stop and 'after' the final virtual stop to
 9991     emit rgba(0,0,0,0).  This does not impact gradients using the other
 9992     reflect modes.
 9993     
 9994     Signed-off-by: Jeff Smith <whydoubt@gmail.com>
 9995     Reviewed-by: Adam Jackson <ajax@redhat.com>
 9996 
 9997 commit 3e377e238f7257fd01e56a4a25dfd77e033673e4
 9998 Author: Jeff Smith <whydoubt@gmail.com>
 9999 Date:   Fri Jan 26 06:25:19 2018 -0600
10000 
10001     glamor: fix repeat-reflect case in linear gradient shader
10002     
10003     If _pt_distance is negative, it causes the final distance to be negative
10004     in the repeat-reflect case.  Moving the scaling by _pt_distance earlier
10005     avoids this problem, and simplifies some equations as a bonus.
10006     
10007     Bugzilla: https://bugs.freedesktop.org/98508
10008     Signed-off-by: Jeff Smith <whydoubt@gmail.com>
10009     Reviewed-by: Adam Jackson <ajax@redhat.com>
10010 
10011 commit 9b7b8720ebc8028b14796a66d0a21b002682a83c
10012 Author: Jeff Smith <whydoubt@gmail.com>
10013 Date:   Sat Jan 27 00:14:02 2018 -0600
10014 
10015     edid: use value returned from pruning duplicate modes
10016     
10017     xf86PruneDuplicateModes is passed a linked list of modes, and after
10018     pruning the duplicate nodes, the new head of the list is returned.  If
10019     the first element is removed, the head of the list will change and the
10020     returned value needs to be assigned.
10021     
10022     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103722
10023     Thanks: John Lumby <johnlumby@hotmail.com>
10024     Signed-off-by: Jeff Smith <whydoubt@gmail.com>
10025     Reviewed-by: Adam Jackson <ajax@redhat.com>
10026 
10027 commit dd00e5466a0e4ea313d1860824da4123692827ed
10028 Author: Adam Jackson <ajax@redhat.com>
10029 Date:   Wed Jan 24 15:40:22 2018 -0500
10030 
10031     xfree86: Remove broken RANDR disabling logic (v4)
10032     
10033     The only way to get at xf86Info.disableRandR from configuration is
10034     Option "RANDR" "foo" in ServerFlags, which probably nobody is using
10035     seeing as it's not documented. The other way it could be set is if a
10036     screen supports RANDR 1.2, in which case we set it to avoid trying to
10037     use the RANDR 1.1 compat code. If the second screen is not 1.2-aware
10038     then this would mean we don't do RANDR setup on the second screen at
10039     all, which would almost certainly crash the first time you try to do
10040     RANDR operations on the second screen.
10041     
10042     Fix that all by deletion, and just check whether the screen already has
10043     RANDR initialized before installing the stub support. If you want to
10044     disable RANDR, use the Extensions section of xorg.conf instead.
10045     
10046     v2: Also remove a now entirely pointless log message, telling you to
10047     ignore a line we will no longer print.
10048     
10049     v3: Explain the fallback path in InitOutput. (Keith Packard)
10050     
10051     v4: Check whether the RANDR private key is initialized before trying to
10052     use it to look up the screen private.
10053     
10054     Signed-off-by: Adam Jackson <ajax@redhat.com>
10055     Reviewed-by: Keith Packard <keithp@keithp.com>
10056 
10057 commit 9a416a478c1a29d1aa12c394acf21fb1b4a3aca9
10058 Author: Hawking Zhang <Hawking.Zhang@amd.com>
10059 Date:   Thu Jan 25 18:03:57 2018 +0100
10060 
10061     glamor: Add 30bit RGB color format support
10062     
10063     Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
10064     
10065     [ Michel Dänzer: Adapt to glamor changes since 1.19 ]
10066     
10067     Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
10068     Acked-by: Alex Deucher <alexander.deucher@amd.com>
10069 
10070 commit fc8b7d05e74a6351df56ad8b17216aeb0dcc016b
10071 Author: Olivier Fourdan <ofourdan@redhat.com>
10072 Date:   Thu Jan 25 13:43:09 2018 +0100
10073 
10074     xwayland: place a manual redirect on windows
10075     
10076     Place a manual redirect on windows on xwl_realize_window() and remove
10077     it on xwl_unrealize_window() to avoid the X11 window manager removing
10078     its redirect before Xwayland has unrealized the window (e.g. if the X11
10079     window manager has terminated unexpectedly)
10080     
10081     Suggested by Daniel Stone <daniel@fooishbar.org>
10082     
10083     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
10084     Reviewed-by: Daniel Stone <daniel@fooishbar.org>
10085 
10086 commit 3362422e8413dd9f231cfac50ce0a0862525b1bf
10087 Author: Olivier Fourdan <ofourdan@redhat.com>
10088 Date:   Wed Jan 24 17:45:37 2018 +0100
10089 
10090     xwayland: remove dirty window unconditionally on unrealize
10091     
10092     This is a rare occurrence of a crash in Xwayland for which I don't have
10093     the reproducing steps, just a core file.
10094     
10095     The backtrace looks as follow:
10096     
10097       #0  raise () from /usr/lib64/libc.so.6
10098       #1  abort () from /usr/lib64/libc.so.6
10099       #2  OsAbort () at utils.c:1361
10100       #3  AbortServer () at log.c:877
10101       #4  FatalError () at log.c:1015
10102       #5  OsSigHandler () at osinit.c:154
10103       #6  <signal handler called>
10104       #7  xwl_glamor_pixmap_get_wl_buffer () at xwayland-glamor.c:162
10105       #8  xwl_screen_post_damage () at xwayland.c:514
10106       #9  block_handler () at xwayland.c:665
10107       #10 BlockHandler () at dixutils.c:388
10108       #11 WaitForSomething () at WaitFor.c:219
10109       #12 Dispatch () at dispatch.c:422
10110       #13 dix_main () at main.c:287
10111     
10112     The crash is caused by dereferencing “xwl_pixmap->buffer” in
10113     xwl_glamor_pixmap_get_wl_buffer() because “xwl_pixmap” is NULL.
10114     
10115     Reason for this is because the corresponding pixmap is from the root
10116     window and xwayland is rootless by default.
10117     
10118     This can happen if the window was mapped, redirected, damaged and
10119     unredirected immediately, before the damage is processed by Xwayland.
10120     
10121     Make sure to remove the dirty window from the damage list on unrealize
10122     to prevent this from happening.
10123     
10124     Credit goes to Adam Jackson <ajax@nwnk.net> and Daniel Stone
10125     <daniel@fooishbar.org> for finding the root cause the issue.
10126     
10127     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
10128     Reviewed-by: Daniel Stone <daniels@collabora.com>
10129 
10130 commit 29a5423abd4bc6cb7bb800924a27b5d90951e408
10131 Author: Jason Gerecke <killertofu@gmail.com>
10132 Date:   Tue Nov 7 11:09:44 2017 -0800
10133 
10134     xwayland: Support for BTN_STYLUS3 kernel events
10135     
10136     BTN_STYLUS3 has been introduced by the Linux 4.15 kernel to report the
10137     status of the third button present on Wacom's new "Pro Pen 3D" stylus.
10138     Treat this button like xf86-input-wacom and send a button 8 event
10139     ("navigate back") when received from Wayland.
10140     
10141     Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
10142     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
10143     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
10144 
10145 commit 71348e99a8e6a95542e483b93839168ca8f51f81
10146 Author: Michal Srb <msrb@suse.com>
10147 Date:   Mon Nov 27 09:59:01 2017 +0100
10148 
10149     os/inputthread: Force unlock when stopping thread.
10150     
10151     The inputthread is kept locked all the time while X server's VT is not active.
10152     If the X server is terminated while not active, it will be stuck forever in
10153     InputThreadFini waiting for the thread to join, but it wouldn't because it is
10154     locked.
10155     
10156     Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=103782
10157     Signed-off-by: Michal Srb <msrb@suse.com>
10158     Reviewed-by: Adam Jackson <ajax@redhat.com>
10159 
10160 commit d5c23b29487d5ff440abf5ed0beb22c00f21e387
10161 Author: Peter Harris <pharris@opentext.com>
10162 Date:   Thu Dec 14 12:21:19 2017 -0500
10163 
10164     composite: Propagate damagedDescendants when reparented
10165     
10166     If a window that is fully covered by an automatic-redirected descendant
10167     (even implicitly, eg. via BackingStores) is reparented, the automatic
10168     updates could be broken if the new parent is not marked as having
10169     damaged descendants.
10170     
10171     Fix this issue by propagating the damagedDescendants flag whenever a
10172     window is reparented.
10173     
10174     Reviewed-by: Adam Jackson <ajax@redhat.com>
10175     Signed-off-by: Peter Harris <pharris@opentext.com>
10176 
10177 commit ac138f9b31b0fba00742edbc3326afe66e28099a
10178 Author: Rinat Ibragimov <ibragimovrinat@mail.ru>
10179 Date:   Tue Oct 24 01:43:43 2017 +0300
10180 
10181     modesetting: setup colormap
10182     
10183     Signed-off-by: Rinat Ibragimov <ibragimovrinat@mail.ru>
10184     Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
10185 
10186 commit 5cb330cd5d887b20351604ac080e8b71a4e28be7
10187 Author: Adam Jackson <ajax@redhat.com>
10188 Date:   Wed Jan 24 15:24:00 2018 -0500
10189 
10190     Revert "xfree86: Remove broken RANDR disabling logic (v3)"
10191     
10192     Tsk. This broke vesa for me, the rrGetScrPriv in InitOutput will crash
10193     if randr's screen private key hasn't been initialized yet. That seems
10194     dumb, but let's not leave it broken.
10195     
10196     This reverts commit c08d7c1cdde6a844338ed4c3645b00bf25843a31.
10197 
10198 commit c08d7c1cdde6a844338ed4c3645b00bf25843a31
10199 Author: Adam Jackson <ajax@redhat.com>
10200 Date:   Tue Jan 23 12:10:52 2018 -0500
10201 
10202     xfree86: Remove broken RANDR disabling logic (v3)
10203     
10204     The only way to get at xf86Info.disableRandR from configuration is
10205     Option "RANDR" "foo" in ServerFlags, which probably nobody is using
10206     seeing as it's not documented. The other way it could be set is if a
10207     screen supports RANDR 1.2, in which case we set it to avoid trying to
10208     use the RANDR 1.1 compat code. If the second screen is not 1.2-aware
10209     then this would mean we don't do RANDR setup on the second screen at
10210     all, which would almost certainly crash the first time you try to do
10211     RANDR operations on the second screen.
10212     
10213     Fix that all by deletion, and just check whether the screen already has
10214     RANDR initialized before installing the stub support. If you want to
10215     disable RANDR, use the Extensions section of xorg.conf instead.
10216     
10217     v2: Also remove a now entirely pointless log message, telling you to
10218     ignore a line we will no longer print.
10219     
10220     v3: Explain the fallback path in InitOutput. (Keith Packard)
10221     
10222     Signed-off-by: Adam Jackson <ajax@redhat.com>
10223     Reviewed-by: Keith Packard <keithp@keithp.com>
10224 
10225 commit da8de2a7f6ab52ef52039b0dc9978260232a34a6
10226 Author: Olivier Fourdan <ofourdan@redhat.com>
10227 Date:   Thu Sep 7 17:43:16 2017 +0200
10228 
10229     xwayland: Add optional xdg-output support
10230     
10231     The xdg-output protocol aims at describing outputs in way which is
10232     more in line with the concept of an output on desktop oriented systems.
10233     
10234     For now it just features the position and logical size which describe
10235     the output position and size in the global compositor space.
10236     
10237     This is however much useful for Xwayland to advertise the output size
10238     and position to X11 clients which need this to configure their surfaces
10239     in the global compositor space as the compositor may apply a different
10240     scale from what is advertised by the output scaling property (to achieve
10241     fractional scaling, for example).
10242     
10243     This was added in wayland-protocols 1.10.
10244     
10245     Reviewed-by: Adam Jackson <ajax@redhat.com>
10246     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
10247 
10248 commit 75408f53d4e203e462b2f13ea4b06264f0e59ad2
10249 Author: Michel Dänzer <michel.daenzer@amd.com>
10250 Date:   Wed Jan 24 12:28:38 2018 +0100
10251 
10252     xf86XvMCScreenInit: Clear pScreenPriv->dixinfo when freeing pAdapt
10253     
10254     Fixes double-free later in xf86XvMCCloseScreen, which would generally
10255     cause fireworks.
10256     
10257     Reviewed-by: Adam Jackson <ajax@redhat.com>
10258     Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
10259 
10260 commit 76732f498f1e73fb081841a04faf068660f3d5c7
10261 Author: Michel Dänzer <michel.daenzer@amd.com>
10262 Date:   Wed Jan 24 11:40:50 2018 +0100
10263 
10264     Revert "present: Only send PresentCompleteNotify events to the presenting client"
10265     
10266     This reverts commit 5c00e693631475679c1c2504e03177652ec7de28.
10267     
10268     It broke the Gallium nine state tracker, which makes PresentPixmap
10269     requests on one display connection and processes the corresponding
10270     events on another one.
10271     
10272     The issue that motivated this change is prevented on the client side by
10273     https://cgit.freedesktop.org/mesa/mesa/commit/?id=7b0e8264dd21ae05521d08d41fecd84139401fef
10274     
10275     Bugzilla: https://bugs.freedesktop.org/104678
10276 
10277 commit f704620e5db8305c54c6b6981657d801dbf6849b
10278 Author: Adam Jackson <ajax@redhat.com>
10279 Date:   Wed Jan 10 13:05:43 2018 -0500
10280 
10281     glx: Move provider setup interface to glx_extinit.h
10282     
10283     Keeps us from needing to add glx/ to the include path everywhere, since
10284     we can't add it to the dix include path because the header file names
10285     conflict with glxproxy.
10286     
10287     Signed-off-by: Adam Jackson <ajax@redhat.com>
10288     Reviewed-by: Eric Anholt <eric@anholt.net>
10289 
10290 commit c2b2f06aa03fe738301ebaa82f220d9cfed5ab1a
10291 Author: Adam Jackson <ajax@redhat.com>
10292 Date:   Wed Jan 10 13:05:42 2018 -0500
10293 
10294     miinitext: General cleanup (v2)
10295     
10296     This really just wants to be the list of disable booleans and
10297     initialization functions, and nothing else. Stop including the protocol
10298     headers from extinit.h, remove a stray mention of xgl, and move an
10299     XInput declaration to a better place.
10300     
10301     v2: A bunch of drivers assume they'll get the DPMS tokens implicitly,
10302     so add it to globals.h.
10303     
10304     Signed-off-by: Adam Jackson <ajax@redhat.com>
10305     Reviewed-by: Eric Anholt <eric@anholt.net>
10306 
10307 commit 4d5aab66c052795c7f0381a3dfc7293c9a41e441
10308 Author: Keith Packard <keithp@keithp.com>
10309 Date:   Thu Dec 21 18:54:39 2017 -0800
10310 
10311     xfree86: Disable cursor whenever turning off CRTC during modeset
10312     
10313     This makes sure the CRTC's cursor is hidden before we hand the CRTC
10314     over to some other application.
10315     
10316     Signed-off-by: Keith Packard <keithp@keithp.com>
10317     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
10318     Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
10319 
10320 commit 29f79bedf2c80241ba4b482db6ead08a5709a982
10321 Author: Keith Packard <keithp@keithp.com>
10322 Date:   Thu Dec 21 18:54:37 2017 -0800
10323 
10324     randr: Declare incoming property values const
10325     
10326     RRChangeOutputProperty and RRConfigureOutputProperty should not modify
10327     their parameters, and callers may want to pass pointers to fixed data,
10328     so declare the value pointers as const in both cases.
10329     
10330     Reviewed-by: Adam Jackson <ajax@redhat.com>
10331     Signed-off-by: Keith Packard <keithp@keithp.com>
10332 
10333 commit a12485ed846b852ca14d17d1e58c8b0f2399e577
10334 Author: Keith Packard <keithp@keithp.com>
10335 Date:   Thu Dec 21 18:54:34 2017 -0800
10336 
10337     xf86-video-modesetting: Update property values at detect and uevent time
10338     
10339     We were updating the link-status property when a uevent came in, but
10340     we also want to update the non-desktop property, and potentially
10341     others as well. We also want to check at detect time in case we don't
10342     get a hotplug event.
10343     
10344     This patch updates every property provided by the kernel, sending
10345     changes to DIX so it can track things as well.
10346     
10347     Reviewed-by: Adam Jackson <ajax@redhat.com>
10348     Signed-off-by: Keith Packard <keithp@keithp.com>
10349 
10350 commit 44d5f2eb8a2f92571698adec39ac569b71da5a1b
10351 Author: Keith Packard <keithp@keithp.com>
10352 Date:   Thu Dec 21 18:54:33 2017 -0800
10353 
10354     xf86-video-modesetting: Support new vblank kernel API [v2]
10355     
10356     drmCrtcGetSequence returns the current vblank sequence and time.
10357     
10358     drmCrtcQueueSequence queues an event for delivery at a specified
10359     vblank sequence.
10360     
10361     Use these (when available) in preference to drmWaitVBlank.
10362     
10363     v2: Remove FIRST_PIXEL_OUT_FLAG. This has been removed from the kernel
10364         API.
10365     
10366     Reviewed-by: Adam Jackson <ajax@redhat.com>
10367     Signed-off-by: Keith Packard <keithp@keithp.com>
10368 
10369 commit 627dfc2f836a3a1fc6afbd3f2335f88f5ca55ffd
10370 Author: Adam Jackson <ajax@redhat.com>
10371 Date:   Mon Jan 22 15:43:05 2018 -0500
10372 
10373     automake: Fix 'make distcheck'
10374     
10375     Add some missing meson.builds to the distball, and update the meson
10376     build test to work when the distcheck srcdir != builddir. The test build
10377     directory will be $(srcdir)/_distcheck_build so srcdir will need to be
10378     writable; this shouldn't be too much to ask I hope.
10379     
10380     Signed-off-by: Adam Jackson <ajax@redhat.com>
10381 
10382 commit 2d29daf4c69385513a322002570ec2c41cfc838f
10383 Author: Jon Turney <jon.turney@dronecode.org.uk>
10384 Date:   Thu Jan 18 16:18:12 2018 +0000
10385 
10386     meson.build: Fix hw/xwin build when dependencies are installed in a non-default location
10387     
10388     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
10389     Reviewed-by: Eric Anholt <eric@anholt.net>
10390 
10391 commit 514d2c243e01b114de304ea72226bbf8772b1b11
10392 Author: Jon Turney <jon.turney@dronecode.org.uk>
10393 Date:   Wed Jan 17 13:43:47 2018 +0000
10394 
10395     meson: Use and prefer tirpc for Secure RPC authentication
10396     
10397     Reviewed-by: Adam Jackson <ajax@redhat.com>
10398 
10399 commit f72587ecc7e1dedfb20a999a0e600b83c06a1b29
10400 Author: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
10401 Date:   Wed Dec 20 13:18:45 2017 +0200
10402 
10403     xwayland: reduce over-damage
10404     
10405     If an X11 app draws a little here, some there, and a tiny bit in the
10406     opposite corner, using RegionExtents for the damage to be sent to the
10407     Wayland compositor will cause massive over-damaging.
10408     
10409     However, we cannot blindly send an arbitrary number of damage
10410     rectangles, because there is a risk of overflowing the Wayland
10411     connection. If that happens, it triggers an abort in libwayland-client.
10412     
10413     Try to be more accurate with the damage by sending up to 256 rectangles
10414     per window, and fall back to extents otherwise. The number is completely
10415     arbitrary.
10416     
10417     Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
10418     Reviewed-by: Daniel Stone <daniels@collabora.com>
10419 
10420 commit a5e9bcad7ad0887f804905b482894b85751519fb
10421 Author: Martin Wilck <mwilck@suse.com>
10422 Date:   Tue Jan 9 20:33:09 2018 +0100
10423 
10424     xfree86: add default modes for 16:9 and 16:10
10425     
10426     Improve the user experience for users with wide screens by adding standard
10427     16:9 and 16:10 modes to extramodes, as suggested previously
10428     (https://lists.x.org/archives/xorg-devel/2016-February/048866.html).
10429     Tested successfully on my laptop. Feedback welcome.
10430     
10431     See also https://bugs.freedesktop.org/show_bug.cgi?id=37858.
10432     
10433     Signed-off-by: Martin Wilck <mwilck@suse.com>
10434     Reviewed-by: Adam Jackson <ajax@redhat.com>
10435 
10436 commit 528cf6fcee1839cb829652a49c1b1bf45d6a37fb
10437 Author: David Weinehall <david.weinehall@linux.intel.com>
10438 Date:   Thu Jan 18 15:12:46 2018 +0200
10439 
10440     sync: Fix diffgreater comparison
10441     
10442     xsync: Fix diffgreater comparison
10443     
10444     While transitioning from CARD64 to int64,
10445     the GreaterThan call was mistakenly transformed into ">=".
10446     Part of this was fixed already in
10447     commit 8060196a3e80a3c0ad2c0abbe459416821cd366c
10448     
10449     This patch fixes the remaining issue.
10450     
10451     Signed-off-by: David Weinehall <david.weinehall@linux.intel.com>
10452     Reviewed-by: Keith Packard <keithp@keithp.com>
10453 
10454 commit 32b42627217917337553121191e9bc3b423b8d99
10455 Author: Keith Packard <keithp@keithp.com>
10456 Date:   Tue Jan 16 11:44:37 2018 -0800
10457 
10458     modesetting: Use seq instead of msc in ms_queue_vblank failure path
10459     
10460     When the call to queue a vblank event fails, we need to clean up by
10461     removing the user-space queue entry. That is indexed by the local
10462     sequence number, not by the kernel vblank count. The call in this
10463     case was just passing the wrong value.
10464     
10465     Signed-off-by: Keith Packard <keithp@keithp.com>
10466     Reviewed-by: Eric Anholt <eric@anholt.net>
10467 
10468 commit 15d91df47424127b9e8d0d73692e2196c79dd3fe
10469 Author: Adam Jackson <ajax@redhat.com>
10470 Date:   Wed Jan 10 12:07:41 2018 -0500
10471 
10472     x86emu: Teach the debug code about varargs
10473     
10474     With -Wformat-nonliteral and a debug build you'd get yelled at here:
10475     
10476     ../hw/xfree86/x86emu/x86emu/debug.h:188:9: warning: format not a string literal, argument types not checked [-Wformat-nonliteral]
10477     
10478     To fix this, rewrite the printf code to actually use varargs and the
10479     appropriate format attribute. All callers of DECODE_PRINTF() pass a
10480     string with no % specifiers, so we pass that as the argument to
10481     printf("%s"). For DECODE_PRINTF2() we just pass the args through.
10482     
10483     Signed-off-by: Adam Jackson <ajax@redhat.com>
10484     Reviewed-by: Eric Anholt <eric@anholt.net>
10485 
10486 commit 1274015186a8457c38c3b5dcc9965c62f1d2a7a6
10487 Author: Adam Jackson <ajax@redhat.com>
10488 Date:   Mon Jan 8 15:50:29 2018 -0500
10489 
10490     build: Remove <*dbm.h> checks
10491     
10492     Formerly used by the rgb database code, which hasn't been a thing in
10493     over a decade.
10494     
10495     Reviewed-by: Eric Anholt <eric@anholt.net>
10496     Signed-off-by: Adam Jackson <ajax@redhat.com>
10497 
10498 commit c3fbe2bbff19c67179f52b8dcd27b576a958fde7
10499 Author: Adam Jackson <ajax@redhat.com>
10500 Date:   Mon Jan 8 15:50:28 2018 -0500
10501 
10502     meson: Enable SUN-DES-1 auth code
10503     
10504     Signed-off-by: Adam Jackson <ajax@redhat.com>
10505     Reviewed-by: Eric Anholt <eric@anholt.net>
10506 
10507 commit 4d82a150b2ee29c1025408cdb9ece255452a81bd
10508 Author: Adam Jackson <ajax@redhat.com>
10509 Date:   Tue Jan 9 11:48:10 2018 -0500
10510 
10511     animcur: Handle allocation failure for the animation timer
10512     
10513     Signed-off-by: Adam Jackson <ajax@redhat.com>
10514     Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
10515     Tested-by: Aaron Plattner <aplattner@nvidia.com>
10516 
10517 commit de60245e05c0d2528d4ff42557a044387e53315c
10518 Author: Adam Jackson <ajax@redhat.com>
10519 Date:   Tue Jan 9 10:54:05 2018 -0500
10520 
10521     animcur: Fix transitions between animated cursors
10522     
10523     We weren't cancelling the old timer when changing cursors, making things
10524     go all crashy. Logically we could always cancel the timer first, but
10525     then we'd have to call TimerSet to re-arm ourselves, and GetTimeInMillis
10526     is potentially expensive.
10527     
10528     Reported-by: https://devtalk.nvidia.com/default/topic/1028172/linux/titan-v-ubuntu-16-04lts-and-387-34-driver-crashes-badly/post/5230967/#5230967
10529     Signed-off-by: Adam Jackson <ajax@redhat.com>
10530     Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
10531     Tested-by: Aaron Plattner <aplattner@nvidia.com>
10532 
10533 commit a09fbe6c82efc674fc3790c7ffad7df70866a7df
10534 Author: Adam Jackson <ajax@redhat.com>
10535 Date:   Wed Dec 13 11:44:38 2017 -0500
10536 
10537     glx: Stop printing messages about what GLX extensions we enable
10538     
10539     glxinfo already exists, use it.
10540     
10541     Signed-off-by: Adam Jackson <ajax@redhat.com>
10542     Reviewed-by: Eric Anholt <eric@anholt.net>
10543     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
10544 
10545 commit 4ed8d5c9463cbef0693d98eb9faf7f9c2222c383
10546 Author: Adam Jackson <ajax@redhat.com>
10547 Date:   Tue Nov 14 15:33:54 2017 -0500
10548 
10549     ddc: Port some paranoia from drm_edid.c
10550     
10551     Avoid adding a "standard" mode timing if we've already got a matching
10552     detailed timing. To help with that, parse CEA blocks for detailed
10553     timings before doing standard or established timings.
10554     
10555     Signed-off-by: Adam Jackson <ajax@redhat.com>
10556 
10557 commit 652913cd9474946bcb29271602bacfd98f46ad0b
10558 Author: Adam Jackson <ajax@redhat.com>
10559 Date:   Wed Dec 13 14:53:56 2017 -0500
10560 
10561     os: Fix a type error in the IPv6 XDMCP code
10562     
10563     Building with strict-aliasing rightly chirps here:
10564     
10565     ../os/xdmcp.c: In function ‘XdmcpRegisterConnection’:
10566     ../os/xdmcp.c:489:31: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
10567                          &((struct sockaddr_in6 *) &address)->sin6_addr.s6_addr[12];
10568                                    ^~~~~~~~~~~~
10569     
10570     We have "const char *address", so &address here is a char ** (i.e., it
10571     points to the slot on the stack containing the pointer to the character
10572     array passed in as an argument). Casting that to a struct sockaddr_in6 *
10573     is wrong, because it means that area of the stack will be reinterpreted
10574     as a struct sockaddr_in6.
10575     
10576     Instead, cast address, not &address.
10577     
10578     Signed-off-by: Adam Jackson <ajax@redhat.com>
10579 
10580 commit da4ffb2f6a0b5a039ae1362ae71e9b47441f90d2
10581 Author: Jon Turney <jon.turney@dronecode.org.uk>
10582 Date:   Fri Dec 22 18:44:01 2017 +0000
10583 
10584     meson: Correct the option for disabled int10 from 'disabled' to 'false'
10585     
10586     Fix meson_option.txt to align with the check of the int10 option against
10587     'disabled', not 'false' in hw/xfree/meson.build, to see if it shouldn't be
10588     built at all.
10589     
10590     This keeps everything consistent that 'false' always turns things off.
10591     
10592     Not noticed before as options weren't validated against choices until meson
10593     0.43
10594     
10595     Reviewed-by: Adam Jackson <ajax@redhat.com>
10596     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
10597 
10598 commit c601c8faf54ff9e3bcbc653421828d71042deef7
10599 Author: Helmut Grohne <helmut@subdivi.de>
10600 Date:   Thu Dec 21 11:48:15 2017 +0100
10601 
10602     build: guess availability of monotonic clock for cross compilation
10603     
10604     When cross compiling, the value of MONOTONIC_CLOCK would be "cross
10605     compiling", because AC_RUN_IFELSE doesn't work. However when enabling
10606     wayland, a monotonic clock is required and configure aborts.
10607     
10608     We change detection of CLOCK_MONOTONIC to degrade it gracefully from a
10609     run check to a declaration check in case of cross compilation based on
10610     the assumption that most systems will have a monotonic clock and those
10611     that don't won't be able to run Xwayland anyway. The trade-off
10612     essentially is either "always fail cross compilation" or "produce an
10613     unusable Xwayland for unusual platform" and this commit switches to the
10614     latter.
10615     
10616     Signed-off-by: Helmut Grohne <helmut@subdivi.de>
10617     Bug-Debian: https://bugs.debian.org/882531
10618     Reviewed-by: Adam Jackson <ajax@redhat.com>
10619 
10620 commit a309323328d9d6e0bf5d9ea1d75920e53b9beef3
10621 Author: Peter Hutterer <peter.hutterer@who-t.net>
10622 Date:   Fri Jan 5 11:58:42 2018 +1000
10623 
10624     config: fix NULL value detection for ID_INPUT being unset
10625     
10626     Erroneous condition caused us to keep going with all devices that didn't have
10627     ID_INPUT set.
10628     
10629     Fixes: 5aad81445c8c3d6
10630     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104382
10631     Reviewed-by: Adam Jackson <ajax@redhat.com>
10632     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
10633 
10634 commit dbfbe58b94ec07a45fd6170f96bffec55051724e
10635 Author: Corentin Rossignon <corentin.rossignon@gmail.com>
10636 Date:   Thu Jan 4 08:34:01 2018 +0100
10637 
10638     glamor: Specify GLSL version for xv shader
10639     
10640     SAMPLE is a GLSL keyword in newer OpenGL version.
10641     This fix issue with gnome-shell and playing video using xv
10642     
10643     Signed-off-by: Corentin Rossignon <corentin.rossignon@gmail.com>
10644     Bugzilla: https://bugs.freedesktop.org/104405
10645     Reviewed-by: Adam Jackson <ajax@redhat.com>
10646 
10647 commit ab54bc295cd05281e55bd4d9c37216c0a929fc83
10648 Author: Adam Jackson <ajax@redhat.com>
10649 Date:   Thu Oct 26 15:33:14 2017 -0400
10650 
10651     animcur: Stop tracking the last display time in the SpriteInfoRec
10652     
10653     Reviewed-by: Robert Morell <rmorell@nvidia.com>
10654     Tested-by: Robert Morell <rmorell@nvidia.com>
10655     Signed-off-by: Adam Jackson <ajax@redhat.com>
10656 
10657 commit 094a63d56fbfb9e23210cc9ac538fb198af37cee
10658 Author: Adam Jackson <ajax@redhat.com>
10659 Date:   Thu Oct 26 15:24:39 2017 -0400
10660 
10661     animcur: Run the timer from the device, not the screen
10662     
10663     This is very slightly more efficient since the callback now doesn't need
10664     to walk every input device, instead we know exactly which device's
10665     cursor is being updated. AnimCurTimerNotify() gets outdented nicely as a
10666     result. A more important side effect is that we can stop using the
10667     TimerAbsolute mode and just pass in the relative delay.
10668     
10669     In AnimCurSetCursorPosition, we no longer need to rearm the timer with
10670     the new screen; it is enough to update the device's state. In
10671     AnimCurDisplayCursor we need to notice when we're switching from
10672     animated cursor to regular and cancel the existing timer.
10673     
10674     Reviewed-by: Robert Morell <rmorell@nvidia.com>
10675     Tested-by: Robert Morell <rmorell@nvidia.com>
10676     Signed-off-by: Adam Jackson <ajax@redhat.com>
10677 
10678 commit cc3241a712684f8c7147f5688e9ee3ecb5a93b87
10679 Author: Adam Jackson <ajax@redhat.com>
10680 Date:   Thu Oct 26 13:53:06 2017 -0400
10681 
10682     animcur: Return the next interval directly from the timer callback
10683     
10684     If the return value is non-zero here, DoTimer() will automatically rearm
10685     the timer for the new (relative) delay. 'soonest' is in absolute time,
10686     so subtract off 'now' and return that.
10687     
10688     Reviewed-by: Robert Morell <rmorell@nvidia.com>
10689     Tested-by: Robert Morell <rmorell@nvidia.com>
10690     Signed-off-by: Adam Jackson <ajax@redhat.com>
10691 
10692 commit 3abbdb7318018584a27220737bd92081ce8ee67c
10693 Author: Adam Jackson <ajax@redhat.com>
10694 Date:   Thu Oct 26 13:40:57 2017 -0400
10695 
10696     animcur: Use fixed-size screen private
10697     
10698     Reviewed-by: Robert Morell <rmorell@nvidia.com>
10699     Tested-by: Robert Morell <rmorell@nvidia.com>
10700     Signed-off-by: Adam Jackson <ajax@redhat.com>
10701 
10702 commit f615cb62d47cb24ea31718e8226df53ce6651c91
10703 Author: Lukáš Krejčí <lskrejci@gmail.com>
10704 Date:   Sat Dec 30 23:46:45 2017 +0100
10705 
10706     Xorg.wrap: Ensure correct ordering of post-install hook
10707     
10708     The install rule of Xorg.wrap is currently a dependency of the
10709     install-data target instead of the install-exec target. The build also
10710     uses install-exec-hook to change the ownership and set the SUID bit on
10711     the Xorg.wrap binary. The problem is that install-exec-hook is only
10712     ordered respective to the install-exec target, the rules of install-data
10713     may or may not have been executed.
10714     
10715     If install-exec-hook runs before the Xorg.wrap binary is in place,
10716     a message similar to the following will be present in the build log:
10717     
10718     chown: cannot access '/pkgdir/usr/lib/xorg-server/Xorg.wrap': No such file or directory
10719     make[6]: [Makefile:1151: install-exec-hook] Error 1 (ignored)
10720     
10721     All that needs to be done is to change the name of the program variable
10722     to contain 'exec' for the install rule to depend on the install-exec
10723     target.
10724     
10725     Excerpt from the Automake manual, chapter 12.2 The Two Parts of Install:
10726     "Any variable using a user-defined directory prefix with ‘exec’ in the
10727     name (e.g., myexecbin_PROGRAMS) is installed by install-exec. All other
10728     user-defined prefixes are installed by install-data."
10729     
10730     https://bugs.freedesktop.org/show_bug.cgi?id=104419
10731     
10732     Signed-off-by: Lukáš Krejčí <lskrejci@gmail.com>
10733     Acked-by: Hans de Goede <hdegoede@redhat.com>
10734     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
10735     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
10736 
10737 commit 170c95978530f6373bdf4488116902b273f3abf4
10738 Author: Olivier Fourdan <ofourdan@redhat.com>
10739 Date:   Fri Dec 15 16:43:47 2017 +0100
10740 
10741     xwayland: avoid race condition on new keymap
10742     
10743     When the Wayland compositor notifies of a new keymap, for the first X11
10744     client using the keyboard, the last slave keyboard used might still not
10745     be set (i.e. “lastSlave” is still NULL).
10746     
10747     As a result, the new keymap is not applied, and the first X11 window
10748     will have the wrong keymap set initially.
10749     
10750     Apply the new keymap to the master keyboard as long as there's one.
10751     
10752     Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=791383
10753     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
10754     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
10755     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
10756 
10757 commit c72049530503ebde493cfcd22156105557ea18d3
10758 Author: Konstantin Kharlamov <Hi-Angel@yandex.ru>
10759 Date:   Sun Dec 17 23:23:02 2017 +0300
10760 
10761     modesetting: simplify bailing on calloc fail
10762     
10763     The "done" label restores crtc-> {x,y,rotation,mode}, frees output_id.
10764     Doing the calloc() before writing to those values frees us from
10765     necessity to restore them if calloc fails, and allows to merge
10766     "if (mode)" block.
10767     
10768     Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
10769     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
10770 
10771 commit c2954b16c8730c7ed8441fd8dba25900f3aed265
10772 Author: Tapani Pälli <tapani.palli@intel.com>
10773 Date:   Tue Nov 28 09:23:29 2017 +0200
10774 
10775     glx: do not pick sRGB config for 32-bit RGBA visual
10776     
10777     This fixes blending issues seen with kwin and gnome-shell when
10778     32bit visual has sRGB capability set.
10779     
10780     Reviewed-by: Adam Jackson <ajax@redhat.com>
10781     Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
10782     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103699
10783     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103646
10784     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103655
10785 
10786 commit cf7517675d988c2d1ff967d6d162a17acbdad466
10787 Author: Keith Packard <keithp@keithp.com>
10788 Date:   Wed Aug 2 21:34:52 2017 -0700
10789 
10790     xfree86: Hold input_lock across SPRITE functions in VGA arbiter
10791     
10792     Avoid scrambling the sprite functions wrapper.
10793     
10794     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101995
10795     Signed-off-by: Keith Packard <keithp@keithp.com>
10796     Reviewed-by: Adam Jackson <ajax@redhat.com>
10797 
10798 commit 3265d0c81f7a501258fa91e49fcc137714b4af5e
10799 Author: Jon Turney <jon.turney@dronecode.org.uk>
10800 Date:   Tue Oct 10 13:43:40 2017 +0100
10801 
10802     meson: Add dependency on generated code fragments in hw/xwin/glx/
10803     
10804     Somehow I'd managed to write this with this dependency missing, so this only
10805     works correctly when the generated files already exist and the correct
10806     automatic dependencies generated, but fails on a clean build.
10807     
10808     Including generated files with a .c extension into the sources for a target
10809     causes meson to want to compile them (and it seems to be hard to say "make
10810     the directory containing this generated file available to include").
10811     
10812     So, change the extension of included generated C fragments to .ic
10813     
10814     Update the autotools build to align.
10815     
10816     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
10817 
10818 commit edda951fa5145a50915611ee0e9e459074117700
10819 Author: Peter Harris <pharris@opentext.com>
10820 Date:   Thu Oct 12 16:48:37 2017 -0400
10821 
10822     os: Add epoll-like port implementation for Solaris
10823     
10824     x11perf -noop with 200 xlogos connected is slightly faster with ports:
10825     
10826       before           after         Operation
10827     ----------   -----------------   --------------------
10828     18400000.0   19200000.0 (1.04)   X protocol NoOperation
10829     
10830     Acked-by: Keith Packard <keithp@keithp.com>
10831     Signed-off-by: Peter Harris <pharris@opentext.com>
10832 
10833 commit 83c04ee6eae1edc80528203fb515425108171cd8
10834 Author: Peter Harris <pharris@opentext.com>
10835 Date:   Thu Oct 12 16:48:36 2017 -0400
10836 
10837     os: Add epoll-like pollset implementation for AIX
10838     
10839     AIX's poll only allows FD_SETSIZE entries in the fd list, which is
10840     insufficient for expanded MaxClients.
10841     
10842     As a bonus, x11perf -noop with ~250 xlogos connected is slightly faster
10843     with pollset:
10844     
10845      before          after         Operation
10846     ---------   ----------------   --------------------
10847     5750000.0   5990000.0 (1.04)   X protocol NoOperation
10848     
10849     Signed-off-by: Peter Harris <pharris@opentext.com>
10850     Acked-by: Keith Packard <keithp@keithp.com>
10851 
10852 commit bed28300999a07514d741abe5c748adf234e18a6
10853 Author: Adam Jackson <ajax@redhat.com>
10854 Date:   Mon Nov 20 15:43:07 2017 -0500
10855 
10856     kdrive: remove KdSignalWrapper etc.
10857     
10858     This no longer does anything useful.
10859     
10860     Signed-off-by: Adam Jackson <ajax@redhat.com>
10861     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
10862     Reviewed-by: Dave Airlie <airlied@redhat.com>
10863 
10864 commit 4353d83f60766824a65f183716616eee8e17bb24
10865 Author: Adam Jackson <ajax@redhat.com>
10866 Date:   Mon Nov 20 15:43:06 2017 -0500
10867 
10868     xfree86: remove xf86CaughtSignal etc.
10869     
10870     This no longer does anything useful.
10871     
10872     Signed-off-by: Adam Jackson <ajax@redhat.com>
10873     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
10874     Reviewed-by: Dave Airlie <airlied@redhat.com>
10875 
10876 commit 9c72887939f319e185d2726d9d9a4191b9d12efd
10877 Author: Adam Jackson <ajax@redhat.com>
10878 Date:   Mon Nov 20 15:43:05 2017 -0500
10879 
10880     os: Make OsSignalHandler ask for core dumps for signo != SIGQUIT
10881     
10882     SIGQUIT is a normal termination request, but any other signal we handle
10883     here wants a core. This has the effect of making FatalError's call to
10884     AbortServer trigger the
10885     
10886         if (CoreDump)
10887             OsAbort();
10888     
10889     path. This will allow us to remove some DDX code that has the same net
10890     effect.
10891     
10892     Signed-off-by: Adam Jackson <ajax@redhat.com>
10893     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
10894     Reviewed-by: Dave Airlie <airlied@redhat.com>
10895 
10896 commit 0a255dceb79ee28a88667d5bd23cf989dbf9bed8
10897 Author: Adam Jackson <ajax@redhat.com>
10898 Date:   Mon Nov 20 15:43:04 2017 -0500
10899 
10900     xfree86: Remove xf86InterceptSignals
10901     
10902     The only consumer of this is the Linux vm86 backend for int10 (which you
10903     should not use), and there all it serves to do is make signals generated
10904     by the vm86 task non-fatal. In practice this error appears never to
10905     happen, and marching ahead with root privileges after arbitrary code has
10906     raised a signal seems like a poor plan.
10907     
10908     Remove the usage in the vm86 code, making this error fatal.
10909     
10910     Signed-off-by: Adam Jackson <ajax@redhat.com>
10911     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
10912     Reviewed-by: Dave Airlie <airlied@redhat.com>
10913 
10914 commit 722c8035dcf3ae0b18841066fe4ee030277274bc
10915 Author: Adam Jackson <ajax@redhat.com>
10916 Date:   Mon Nov 20 15:43:03 2017 -0500
10917 
10918     xfree86: Remove xf86InterceptSigIll
10919     
10920     This was added in ~2004 for the sis driver, to detect whether it could
10921     use SSE for memcpy. Charmingly, the code to check whether that feature
10922     exists in the server is:
10923     
10924         #if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,13,0)
10925         #define SISCHECKOSSSE           /* Automatic check OS for SSE; requires SigIll facility */
10926         #endif
10927     
10928     Which means it has never worked in any modular server release.
10929     
10930     A less gross way to do this is to check for SSE support with getauxval()
10931     or /proc/cpuinfo or similar. Since no driver is using the existing
10932     intercept mechanism, drop it.
10933     
10934     Signed-off-by: Adam Jackson <ajax@redhat.com>
10935     Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
10936     Reviewed-by: Dave Airlie <airlied@redhat.com>
10937 
10938 commit fe46cbea0f19959d469ca4d1f09be379dc7b1e45
10939 Author: Olivier Fourdan <ofourdan@redhat.com>
10940 Date:   Tue Nov 21 14:45:13 2017 +0100
10941 
10942     xwayland: Give up “cleanly“ on Wayland socket errors
10943     
10944     Xwayland is a pretty standard Wayland client, we want to be able to
10945     capture core dumps on crashes.
10946     
10947     Yet using "-core" causes any FatalError() to generate a core dump,
10948     meaning that we would get a core file for all Wayland server crashes,
10949     which would generate a lot of false positives.
10950     
10951     Instead of using FatalError() on Wayland socket errors, give up cleanly
10952     to avoid dumping core files when "-core" is used.
10953     
10954     See also: https://bugzilla.gnome.org/show_bug.cgi?id=790502
10955          and: https://bugzilla.gnome.org/show_bug.cgi?id=789086
10956     
10957     Reviewed-by: Adam Jackson <ajax@redhat.com>
10958     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
10959 
10960 commit 6883ae43eb72fe4e2651c1dca209563323fad2db
10961 Author: Tomasz Śniatowski <kailoran@gmail.com>
10962 Date:   Wed Dec 6 12:16:17 2017 +0100
10963 
10964     os: Fix strtok/free crash in ComputeLocalClient
10965     
10966     Don't reuse cmd for strtok output to ensure the proper pointer is
10967     freed afterwards.
10968     
10969     The code incorrectly assumed the pointer returned by strtok(cmd, ":")
10970     would always point to cmd. However, strtok(str, sep) != str if str
10971     begins with sep. This caused an invalid-free crash when running
10972     a program under X with a name beginning with a colon.
10973     
10974     Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=104123
10975     Signed-off-by: Tomasz Śniatowski <kailoran@gmail.com>
10976     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
10977 
10978 commit aa6651f83c698e8cc40de61aad36c73ca7a6adcf
10979 Author: Adam Jackson <ajax@redhat.com>
10980 Date:   Thu Jun 8 16:23:12 2017 -0400
10981 
10982     xfixes: Remove the CursorCurrent array
10983     
10984     We're not wrapping all the ways a cursor can be destroyed, so this array
10985     ends up with stale data. Rather than try harder to wrap more code paths,
10986     just look up the cursor when we need it.
10987     
10988     Signed-off-by: Adam Jackson <ajax@redhat.com>
10989 
10990 commit 3db7707df3cfd8ba62c10d08c7c731ec18ea8ddf
10991 Author: Adam Jackson <ajax@redhat.com>
10992 Date:   Wed Dec 6 15:12:20 2017 -0500
10993 
10994     test: Fix build dependency for bigreq test
10995     
10996     libxcb-xinput isn't a thing in whichever Ubuntu it is that Travis is
10997     using. The test is already optional, make it more so.
10998     
10999     Signed-off-by: Adam Jackson <ajax@redhat.com>
11000 
11001 commit 9f7a9be13d6449c00c86d3035374f4f543654b3f
11002 Author: Olivier Fourdan <ofourdan@redhat.com>
11003 Date:   Tue Dec 5 09:59:06 2017 +0100
11004 
11005     dix: avoid deferencing NULL PtrCtrl
11006     
11007     PtrCtrl really makes sense for relative pointing device only, absolute
11008     devices such as touch devices do not have any PtrCtrl set.
11009     
11010     In some cases, if the client issues a XGetPointerControl() immediatlely
11011     after a ChangeMasterDeviceClasses() copied the touch device to the VCP,
11012     a NULL pointer dereference will occur leading to a crash of Xwayland.
11013     
11014     Check whether the PtrCtrl is not NULL in ProcGetPointerControl() and
11015     return the default control values otherwise, to avoid the NULL pointer
11016     dereference.
11017     
11018     Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1519533
11019     Reviewed-by: Adam Jackson <ajax@redhat.com>
11020     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
11021 
11022 commit 60f4646ae10f0b57790fce46682baa531512b53e
11023 Author: Carlos Garnacho <carlosg@gnome.org>
11024 Date:   Mon Dec 4 16:55:13 2017 +0100
11025 
11026     xwayland: Keep separate variables for pointer and tablet foci
11027     
11028     The tablet/stylus interfaces reused xwl_seat->focus_window, which
11029     would leave a somewhat inconsistent state of that variable for
11030     wl_pointer purposes (basically, everything) if the pointer happened
11031     to lay on the same surface than the stylus while proximity_out
11032     happens.
11033     
11034     We just want the stylus xwl_window to correctly determine we have
11035     stylus focus, and to correctly translate surface-local coordinates
11036     to root coordinates, this can be done using a different variable.
11037     
11038     Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
11039     Acked-by: Jason Gerecke <jason.gerecke@wacom.com>
11040     Tested-by: Olivier Fourdan <ofourdan@redhat.com>
11041 
11042 commit 97ac59b1ed3624f7c04e54dd3e3dadfa46a8f170
11043 Author: Olivier Fourdan <ofourdan@redhat.com>
11044 Date:   Wed Sep 27 18:01:01 2017 +0200
11045 
11046     xwayland: Fix non-argb cursor conversion
11047     
11048     From the bug: "What happens if bits->width is less than 8? :)"
11049     
11050     Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=103012
11051     Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
11052     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
11053     Reviewed-by: Daniel Stone <daniels@collabora.com>
11054 
11055 commit a4c1e290824d0e40191ad26019b705f61c11e113
11056 Author: Adam Jackson <ajax@redhat.com>
11057 Date:   Tue Nov 14 15:15:03 2017 -0500
11058 
11059     glx: Implement GLX_EXT_no_config_context (v2)
11060     
11061     Only enabled for the DRI backends at the moment. In principle WGL/CGL
11062     could support this - it's sort of implied by GL 3.0 support - but in
11063     practice their implementations back GLX drawables with native drawables
11064     (and not anonymous FBOs), so they would need either a corresponding
11065     window system binding extension or significant implementation work.
11066     
11067     v2: Require that the two screen numbers match, per v4 of spec.
11068     
11069     Khronos: https://github.com/KhronosGroup/OpenGL-Registry/pull/102
11070     Signed-off-by: Adam Jackson <ajax@redhat.com>
11071     Reviewed-by: Eric Anholt <eric@anholt.net>
11072 
11073 commit f0fffa926a5771e0e604fe9a48178b0514ca5d41
11074 Author: Adam Jackson <ajax@redhat.com>
11075 Date:   Tue Nov 14 15:15:02 2017 -0500
11076 
11077     glx: Prepare __glXGetDrawable for no-config contexts
11078     
11079     Any proper (GLX 1.3) drawable will already have a bound config, but if
11080     we're doing the GLX 1.2 thing of making a Window current, we need to
11081     infer the config from the window's Visual.
11082     
11083     Signed-off-by: Adam Jackson <ajax@redhat.com>
11084     Reviewed-by: Eric Anholt <eric@anholt.net>
11085 
11086 commit 5d667df6ea1634191a26f9a7c26bc883701d62b0
11087 Author: Adam Jackson <ajax@redhat.com>
11088 Date:   Tue Nov 14 15:15:01 2017 -0500
11089 
11090     glx: Fix glXQueryContext for GLX_FBCONFIG_ID and GLX_RENDER_TYPE (v2)
11091     
11092     Just never filled in, oops. Seems to have gone unnoticed because
11093     normally glXQueryContext simply returns the values filled in by the
11094     client library when the context was created. The only path by which you
11095     normally get to a GLXQueryContext request is glXImportContext, and then
11096     only if the context is already indirect.
11097     
11098     However, that's a statement about Mesa's libGL (and anything else that
11099     inherited that bit of the SGI SI more or less intact). Nothing prevents
11100     a mischeivous client from issuing that request of a direct context, and
11101     if they did we'd be in trouble because we never bothered to preserve the
11102     associated fbconfig in the context state, so we'd crash looking up
11103     GLX_VISUAL_ID_EXT. So let's fix that too.
11104     
11105     v2: Fixed missing preservation of the config in DRI2 (Eric Anholt)
11106     
11107     Signed-off-by: Adam Jackson <ajax@redhat.com>
11108     Reviewed-by: Eric Anholt <eric@anholt.net>
11109 
11110 commit 78b2ce1410dda758537d52398223ca9b757883bc
11111 Author: Daniel Martin <consume.noise@gmail.com>
11112 Date:   Mon Nov 20 10:47:43 2017 +0100
11113 
11114     modesetting: Remove #if 0 CMAP_LOAD_EVEN_IF_OFFSCREEN
11115     
11116     CMAP_LOAD_EVEN_IF_OFFSCREEN has been encapsulated since the import of
11117     xf86-video-modesetting into the tree.
11118     
11119     Reviewed-by: Adam Jackson <ajax@redhat.com>
11120     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
11121 
11122 commit d563443381142fbc0b102422d7e7389bf3621331
11123 Author: Daniel Martin <consume.noise@gmail.com>
11124 Date:   Mon Nov 20 10:47:42 2017 +0100
11125 
11126     modesetting: Remove unused define DRV_ERROR
11127     
11128     Reviewed-by: Adam Jackson <ajax@redhat.com>
11129     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
11130 
11131 commit 6804875662363764683a86c1614e4cf3cc70a20a
11132 Author: Daniel Martin <consume.noise@gmail.com>
11133 Date:   Mon Nov 20 10:47:41 2017 +0100
11134 
11135     modesetting: Reset output_id if drmModeGetConnector failed
11136     
11137     If drmModeGetConnector() fails in drmmode_output_detect(), we have to
11138     reset the output_id to -1 too.
11139     
11140     Yet another spot leading to a potential NULL dereference when handling
11141     the mode_output member as output_id was != -1. Though, this case should
11142     be very hard to hit.
11143     
11144     Reviewed-by: Adam Jackson <ajax@redhat.com>
11145     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
11146 
11147 commit e20b1016de22e893d5468960988ddd5677c11d98
11148 Author: Daniel Martin <consume.noise@gmail.com>
11149 Date:   Mon Nov 20 10:47:40 2017 +0100
11150 
11151     modesetting: Fix log msg if pixmap creation failed
11152     
11153     Add a missing new-line character and make the message more verbose than
11154     "Failed".
11155     
11156     Reviewed-by: Adam Jackson <ajax@redhat.com>
11157     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
11158 
11159 commit 02981fe1a844e101c81037df79fc147f217f3bf9
11160 Author: Daniel Martin <consume.noise@gmail.com>
11161 Date:   Mon Nov 20 10:47:39 2017 +0100
11162 
11163     xfree86: Fix set but not used warnings in lnx_platform
11164     
11165     Those warnings are generated, when building without systemd support:
11166     
11167     ../hw/xfree86/os-support/linux/lnx_platform.c: In function ‘get_drm_info’:
11168     ../hw/xfree86/os-support/linux/lnx_platform.c:29:16: warning: variable ‘minor’ set but not used [-Wunused-but-set-variable]
11169          int major, minor, fd;
11170                     ^~~~~
11171     ../hw/xfree86/os-support/linux/lnx_platform.c:29:9: warning: variable ‘major’ set but not used [-Wunused-but-set-variable]
11172          int major, minor, fd;
11173              ^~~~~
11174     
11175     In this case the functions are macros, which don't use theese arguments.
11176     
11177     v2: Add comments, why the warnings appear. Suggested by Emil Velikov
11178     
11179     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
11180     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
11181 
11182 commit 918afeecbc63d70413e222efdb2ac4cfb16eae9e
11183 Author: Daniel Martin <consume.noise@gmail.com>
11184 Date:   Mon Nov 20 10:47:38 2017 +0100
11185 
11186     os/xdmcp: Honour -once when session is dead
11187     
11188     Terminate a dead session when -once was passed. Don't restart it.
11189     
11190     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
11191     Reviewed-by: Walter Harms <wharms@bfs.de>
11192 
11193 commit 559954aaa8d811a22cf918cc16a7d618e12201a0
11194 Author: Michel Dänzer <michel.daenzer@amd.com>
11195 Date:   Mon Oct 2 11:33:43 2017 +0200
11196 
11197     present: Only send PresentCompleteNotify events to the presenting client
11198     
11199     We were sending the events to all clients listening for them on the
11200     window. But clients can get confused by events from another client, and
11201     I can't imagine any case where receiving events from other clients would
11202     be required.
11203     
11204     v2:
11205     * Also restrict events sent to additional windows to the presenting
11206       client
11207     * Don't shorten line lengths
11208     
11209     Reviewed-by: Keith Packard <keithp@keithp.com>
11210 
11211 commit fc7fb5bbe1c8f787e53500b9a2ca4af815f310d1
11212 Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
11213 Date:   Thu Nov 9 10:21:21 2017 +0100
11214 
11215     randr: free crtc->outputs on destroy
11216     
11217     Reviewed-by: Adam Jackson <ajax@redhat.com>
11218     Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
11219 
11220 commit 16381d186e7c791031392ed8afcfd33009854e9e
11221 Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
11222 Date:   Thu Nov 9 10:21:20 2017 +0100
11223 
11224     randr: always realloc crtcs and outputs
11225     
11226     When the last crtc (resp. output) is destroyed, the rrScrPriv crtcs
11227     (resp. outputs) fields do not get cleared, which can lead to a situation
11228     where the private's numCrtcs (resp. numOutputs) field is zero, but the
11229     associated memory is still allocated. Just checking if numCrtcs (resp.
11230     numOutputs) is zero is thus not a good criteria to determine whetehr to
11231     use a realloc or a malloc.
11232     
11233     Since crtcs (resp. outputs) are NULL-initialized anyway, relying on
11234     numCrtcs (resp. numOutputs) is actually unnecessary, because
11235     reallocation of a NULL ptr is equivalent to a malloc anyway.
11236     
11237     Therefore, just use realloc() unconditionally, and ensure that the
11238     fields are properly initialized.
11239     
11240     Reviewed-by: Adam Jackson <ajax@redhat.com>
11241     Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
11242 
11243 commit fb5ee77b91a93e27801006be8ee34d27984e7fa6
11244 Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
11245 Date:   Thu Nov 9 10:21:19 2017 +0100
11246 
11247     randr: rrGetScreenResources: initialize memory
11248     
11249     Similarly to bb766ef11227bd8c71ac65845d1930edd0eda40d, ensure that the
11250     extra padding is set to 0.
11251     
11252     Reviewed-by: Adam Jackson <ajax@redhat.com>
11253     Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
11254 
11255 commit 307c124d6bcfe26057767b2c0990dc9ac66b9c93
11256 Author: Adam Jackson <ajax@redhat.com>
11257 Date:   Tue Nov 14 15:59:35 2017 -0500
11258 
11259     glx: Only flush indirect contexts in MakeCurrent (v2)
11260     
11261     If the context is direct none of the GL commands were issued by this
11262     process, the server couldn't flush them even if it wanted to.
11263     
11264     v2: Fix embarassingly obvious boolean inversion (Michel Dänzer)
11265     
11266     Signed-off-by: Adam Jackson <ajax@redhat.com>
11267     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
11268 
11269 commit 66e8eaa456a0f200c0649c56a2e34914daa88065
11270 Author: Adam Jackson <ajax@redhat.com>
11271 Date:   Thu Nov 2 16:10:50 2017 -0400
11272 
11273     glamor: Drop the non-VAO rendering path
11274     
11275     GLES spells this extension as GL_OES_vertex_array_object, but it is
11276     functionally equivalent to the GL_ARB version. Mesa has supported both
11277     since 9.0, let's go ahead and require it.
11278     
11279     Signed-off-by: Adam Jackson <ajax@redhat.com>
11280     Reviewed-by: Eric Anholt <eric@anholt.net>
11281 
11282 commit dbda03d5d15bec8fdff64bc8545875c39da81777
11283 Author: Adam Jackson <ajax@redhat.com>
11284 Date:   Mon Nov 6 16:41:14 2017 -0500
11285 
11286     glx: Drop references to <GL/internal/glcore.h>
11287     
11288     This header is a truly ancient remnant of the SGI SI code, which used
11289     the same struct for visual/fbconfig state on both sides of the wire.
11290     We're not using this struct ourselves so let's stop depending on the
11291     header.
11292     
11293     Signed-off-by: Adam Jackson <ajax@redhat.com>
11294 
11295 commit eafcd009f1fe3e554219a428237ef1c71d1ba506
11296 Author: Adam Jackson <ajax@redhat.com>
11297 Date:   Tue Oct 24 14:33:19 2017 -0400
11298 
11299     xres: Return the atom naming the type, not its internal type number
11300     
11301     Signed-off-by: Adam Jackson <ajax@redhat.com>
11302 
11303 commit 68556d74b49e99d3490166c446079f7d5de26ca4
11304 Author: Hector Martin <marcan@marcan.st>
11305 Date:   Wed Nov 15 03:12:31 2017 +0900
11306 
11307     edid: fix off-by-one error in CEA mode numbering
11308     
11309     The CEA extension short video descriptors contain the VIC, which starts
11310     at 1, not 0.
11311     
11312     Reviewed-by: Adam Jackson <ajax@redhat.com>
11313     Signed-off-by: Hector Martin <marcan@marcan.st>
11314 
11315 commit 9bd5a198dc5383d0d2a1e28f7aa4270132eca5db
11316 Author: Adam Jackson <ajax@redhat.com>
11317 Date:   Tue Jul 11 15:37:07 2017 -0400
11318 
11319     glamor: Remove unused glamor_create_screen_resources
11320     
11321     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
11322     Signed-off-by: Adam Jackson <ajax@redhat.com>
11323 
11324 commit 081675f7ffda0cce20b395874d6e5755fb6600a0
11325 Author: Adam Jackson <ajax@redhat.com>
11326 Date:   Fri Jul 14 14:52:01 2017 -0400
11327 
11328     glamor: Un-inline glamor_[gs]et_screen_private
11329     
11330        text    data     bss     dec     hex filename
11331     2134764   45210  128704 2308678  233a46 build/hw/kdrive/ephyr/Xephyr.before
11332     2129972   45210  128704 2303886  23278e build/hw/kdrive/ephyr/Xephyr.after
11333     
11334     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
11335     Signed-off-by: Adam Jackson <ajax@redhat.com>
11336 
11337 commit 6dff5e5d49a21bc749e44f0e8cb390690ece750d
11338 Author: Adam Jackson <ajax@redhat.com>
11339 Date:   Mon Jul 10 10:56:58 2017 -0400
11340 
11341     xwayland: Stop printing the EGL version
11342     
11343     It doesn't matter, none of this matters.
11344     
11345     Acked-by: Olivier Fourdan <ofourdan@redhat.com>
11346     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
11347     Signed-off-by: Adam Jackson <ajax@redhat.com>
11348 
11349 commit c57f63829f0077b5a3e5968f8405e087a4490485
11350 Author: Adam Jackson <ajax@redhat.com>
11351 Date:   Wed Sep 13 15:44:15 2017 -0400
11352 
11353     dmx: Use noGlxExtension like other DDXes
11354     
11355     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
11356     Signed-off-by: Adam Jackson <ajax@redhat.com>
11357 
11358 commit fd0eafb18426da14601d5c0d0a50092c49a7aff8
11359 Author: Adam Jackson <ajax@redhat.com>
11360 Date:   Mon Nov 6 16:07:41 2017 -0500
11361 
11362     glx: Fix typos that break GLX_ARB_context_flush_control
11363     
11364     The trailing \n are just wrong here, __glXEnableExtension wants a string
11365     without them.
11366     
11367     Signed-off-by: Adam Jackson <ajax@redhat.com>
11368     Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
11369     Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
11370 
11371 commit 2e7f790b5770589ae2f97ee363ecd33fdb362c24
11372 Author: Adam Jackson <ajax@redhat.com>
11373 Date:   Mon Nov 6 15:25:34 2017 -0500
11374 
11375     dix: Remove ffs.c
11376     
11377     Your libc has ffs, I promise.
11378     
11379     Signed-off-by: Adam Jackson <ajax@redhat.com>
11380     Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
11381 
11382 commit 4d15a2645f00995618d8687edf1fb0f4b2316ace
11383 Author: Adam Jackson <ajax@redhat.com>
11384 Date:   Mon Nov 6 15:25:33 2017 -0500
11385 
11386     os: Remove mffs()
11387     
11388     This was always wide enough to work on an fd_mask ("mask" ffs
11389     presumably). We don't operate on fd_masks anymore, so this can go.
11390     
11391     Signed-off-by: Adam Jackson <ajax@redhat.com>
11392     Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
11393 
11394 commit 4b0a3cbab131eb453e2b3fc0337121969258a7be
11395 Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
11396 Date:   Sat Nov 4 23:06:31 2017 +0100
11397 
11398     glx: free fbconfigs on destroy
11399     
11400     Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
11401     Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
11402 
11403 commit bb766ef11227bd8c71ac65845d1930edd0eda40d
11404 Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
11405 Date:   Sat Nov 4 23:06:29 2017 +0100
11406 
11407     randr: ProcRRGetOutputInfo: initialize memory
11408     
11409     Running Xephyr under valgrind reveals that we're sending some
11410     uninitialized memory over the wire (particularly, the leftover padding
11411     that comes from rounding extraLen to the next 32-bit multiple).
11412     
11413     Solve by calloc()ing the memory instead of malloc()ing (the alternative
11414     would be to memset just the padding, but I'm not sure it's more
11415     convenient.)
11416     
11417     Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
11418     Reviewed-by: Adam Jackson <ajax@redhat.com>
11419 
11420 commit 6828645916505a5925db5c2c2e816fee4e1050e5
11421 Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
11422 Date:   Sat Nov 4 23:06:28 2017 +0100
11423 
11424     Xephyr: free driverPrivates on Fini
11425     
11426     Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
11427 
11428 commit b2167015043a458e9cf93b827b43eb5b7c552ce9
11429 Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
11430 Date:   Sat Nov 4 23:06:27 2017 +0100
11431 
11432     xkb: initialize tsyms
11433     
11434     This fixes some “Conditional jump depends on uninitialized value(s)”
11435     errors spotted by valgrind.
11436     
11437     Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
11438     Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
11439 
11440 commit 2dafa1bdafe583587431a5f6ebee6ec371c61a8d
11441 Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
11442 Date:   Thu Nov 2 21:27:59 2017 +0100
11443 
11444     dix/window: fix typos
11445     
11446     Reviewed-by: Adam Jackson <ajax@redhat.com>
11447 
11448 commit f84e59a4f474d22860bac8aec2947798a86db69b
11449 Author: Thomas Hellstrom <thellstrom@vmware.com>
11450 Date:   Tue Sep 26 17:28:12 2017 -0700
11451 
11452     glx: Duplicate relevant fbconfigs for compositing visuals
11453     
11454     Previously, before GLX_OML_swap_method was fixed, both the X server and
11455     client ignored the swapMethod fbconfig value, which meant that, if the dri
11456     driver thought it exposed more than one swapMethod, it actually just
11457     exported a duplicated set of fbconfigs. When fixing GLX_OML_swap_method
11458     and restricting the choice for built-in visuals to a single swap method
11459     that meant we didn't have that many fbconfigs to choose from when pairing
11460     the compositing visual with an fbconfig, resulting in the fbconfig paired
11461     with the compositing visual becoming too restrictive for some applications,
11462     (at least for kwin). This problem would also happen if the dri driver
11463     only exposed a single swap method to begin with.
11464     
11465     So, to make sure the compositing visual gets a good enough fbconfig,
11466     duplicate fbconfigs that are suitable for compositing visuals and make
11467     sure these duplicated fbconfigs can be used only by compositing visuals.
11468     For duplicated fbconfigs not paired with a compositing visual, construct
11469     new compositing visuals, making compositing clients able to choose visuals
11470     / fbconfig more adapted to their needs.
11471     
11472     This is in some sense equivalent to adding a new "TRUECOLOR_COMPOSITING"
11473     GLX visualtype.
11474     
11475     Fixes: 4486d199bd3b ("glx: Fix visual fbconfig matching with respect to
11476                           swap method")
11477     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102806
11478     Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
11479     Tested-By: Nick Sarnie <commendsarnex@gmail.com>
11480     Tested-by: Fredrik Höglund <fredrik@kde.org>
11481     Reviewed-by: Adam Jackson <ajax@redhat.com>
11482 
11483 commit 30f4d440ebc3517fdcc1d3c6a422a8fbf3af1f23
11484 Author: Eric Anholt <eric@anholt.net>
11485 Date:   Tue Oct 31 12:22:31 2017 -0700
11486 
11487     xkb: Print the xkbcomp path being executed when we fail to compile.
11488     
11489     I don't know how many times I've had a broken server due to a bad
11490     directory to xkbcomp, and only finding the whole path has shown me
11491     where I went wrong.
11492     
11493     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
11494 
11495 commit 14af8bee242fe40af0e91c61465d6720aaa60e97
11496 Author: Eric Anholt <eric@anholt.net>
11497 Date:   Mon Oct 9 17:14:32 2017 -0700
11498 
11499     test: Add a test for the overflow bug in bigreqs.
11500     
11501     The failing struct comes from the python test written by Michal Srb
11502     <msrb@suse.com>.
11503     
11504     v2: Use a drawable (root window) and gc, so that PolyLines hopefully
11505         actually tries processing things.  However, the request seems to
11506         process successfully so the poll() just stalls out.  However, this
11507         does let us distinguish between detecting the bigrequests error
11508         and not, at least.
11509     v3: Clean up the description of what we expect the poll() call to do.
11510     v4: Use XI2 instead of PolyLine to trigger a predictable error. We know the
11511         server replies with BadValue for a zero num_masks argument. So if we send
11512         a bigreq with a num_masks 0 and a length 0, we can just check whether we
11513         get killed (good) or a BadValue (bad). It doesn't test for specific memory
11514         overflows or crashes, but based on the assumption that we shouldn't look
11515         at *any* BigReq of size 0, this seems to be sufficient.
11516     
11517     Signed-off-by: Eric Anholt <eric@anholt.net>
11518     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11519 
11520 commit 5aad81445c8c3d6b7b30d503cfe26027fa482870
11521 Author: Peter Hutterer <peter.hutterer@who-t.net>
11522 Date:   Tue Sep 26 15:21:59 2017 +1000
11523 
11524     config/udev: consider ID_INPUT_FOO=0 as 'unset'
11525     
11526     Historically we didn't need to care about this case but more devices are
11527     having invalid types set and they cannot be unset with a hwdb entry (which
11528     doesn't handle the empty string). Allow for "0" to mean "unset" because
11529     anything else would be crazy anyway.
11530     
11531     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
11532 
11533 commit d5379b350fb63e42e604361c21ad9832b4c791b9
11534 Author: Daniel Martin <consume.noise@gmail.com>
11535 Date:   Fri Oct 27 16:11:56 2017 +0200
11536 
11537     Use ARRAY_SIZE all over the tree
11538     
11539     Roundhouse kick replacing the various (sizeof(foo)/sizeof(foo[0])) with
11540     the ARRAY_SIZE macro from dix.h when possible. A semantic patch for
11541     coccinelle has been used first. Additionally, a few macros have been
11542     inlined as they had only one or two users.
11543     
11544     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
11545     Reviewed-by: Adam Jackson <ajax@redhat.com>
11546 
11547 commit 15a32ee5d1fffa171bb05af9a0e5b472e4af1488
11548 Author: Daniel Martin <consume.noise@gmail.com>
11549 Date:   Fri Oct 27 16:11:55 2017 +0200
11550 
11551     test: signal-logging: Fix looping signed number tests
11552     
11553     unsigned_tests[] was used to compute the amount of signed numbers to
11554     test.
11555     
11556     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
11557     Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
11558 
11559 commit 0bcc65f2bf479c6a74ac70bb5b5181d6834dded6
11560 Author: Daniel Martin <consume.noise@gmail.com>
11561 Date:   Fri Oct 27 16:11:54 2017 +0200
11562 
11563     test: input: Fix used uninitialized warning in dix_event_to_core
11564     
11565     input.c: In function ‘dix_event_to_core’:
11566     ../include/inputstr.h:61:55: warning: ‘*((void *)&ev+80)’ is used uninitialized in this function [-Wuninitialized]
11567      #define SetBit(ptr, bit)  (((BYTE *) (ptr))[(bit)>>3] |= (1 << ((bit) & 7)))
11568                                                            ^~
11569     
11570     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
11571     Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
11572 
11573 commit 04a305121fbc08ecc2ef345ee7155d6087a43fd1
11574 Author: Daniel Martin <consume.noise@gmail.com>
11575 Date:   Fri Oct 27 16:11:53 2017 +0200
11576 
11577     modesetting: Fix potential buffer overflow
11578     
11579     If one misconfigures a ZaphodHeads value (more than 20 characters
11580     without a delimiter), we get an overflow of our buffer.  Use
11581     xstrtokenize() instead of writing/fixing our own tokenizer.
11582     
11583     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
11584     Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
11585 
11586 commit 2230e6c8af92b041821eee0ea6210eda82c74106
11587 Author: Adam Jackson <ajax@redhat.com>
11588 Date:   Tue Oct 24 14:28:34 2017 -0400
11589 
11590     glamor: Unconditionalize GLAMOR_TEXTURED_LARGE_PIXMAP
11591     
11592     Signed-off-by: Adam Jackson <ajax@redhat.com>
11593     Reviewed-by: Eric Anholt <eric@anholt.net>
11594 
11595 commit 1edac5c1ceb8b21af45b20397ff64177ad22466c
11596 Author: Adam Jackson <ajax@redhat.com>
11597 Date:   Tue Oct 24 14:28:33 2017 -0400
11598 
11599     glamor: Unconditionalize GLAMOR_PIXMAP_DYNAMIC_UPLOAD
11600     
11601     Signed-off-by: Adam Jackson <ajax@redhat.com>
11602     Reviewed-by: Eric Anholt <eric@anholt.net>
11603 
11604 commit 13409b91b1936330dbf19bacefa4b48d0b6843b8
11605 Author: Adam Jackson <ajax@redhat.com>
11606 Date:   Tue Oct 24 14:28:32 2017 -0400
11607 
11608     glamor: Unconditionalize GLAMOR_GRADIENT_SHADER
11609     
11610     Effectively always true anyway.
11611     
11612     Signed-off-by: Adam Jackson <ajax@redhat.com>
11613     Reviewed-by: Eric Anholt <eric@anholt.net>
11614 
11615 commit 266d9868ca1cf77b7d315d607b515f081a9f45c3
11616 Author: Alex Goins <agoins@nvidia.com>
11617 Date:   Thu Oct 19 20:02:30 2017 -0700
11618 
11619     xf86-video-modesetting: Fix ms_queue_vblank(flags = MS_QUEUE_RELATIVE)
11620     
11621     Change 677c32bc refactored all usages of drmWaitVBlank() into a helper function,
11622     ms_queue_vblank().
11623     
11624     ms_queue_vblank() takes in an MS_QUEUE_RELATIVE flag to indicate that the
11625     sequence number is relative rather than absolute, but still treats the actual
11626     sequence number as absolute, passing it through ms_crtc_msc_to_kernel_msc()
11627     unconditionally before calling drmWaitVBlank().
11628     
11629     ms_crtc_msc_to_kernel_msc() works by subtracting a vblank offset from the
11630     provided sequence number, which only makes sense for absolute sequence numbers.
11631     In the case of PRIME Sync, drmmode_SharedPixmapPrsentOnVBlank() passes in 1,
11632     which results in a large negative vblank offset. After subtracting, we're left
11633     with a relative sequence number of 100,000+, i.e. wait for 100,000+ vblanks...
11634     
11635     In the relative case we want to pass in the sequence number unmodified. Simply
11636     add a check to do this.
11637     
11638     Signed-off-by: Alex Goins <agoins@nvidia.com>
11639     Reviewed-by: Keith Packard <keithp@keithp.com>
11640 
11641 commit 68d95e759f8b6ebca6bd52e69e6bc34cc174f8ca
11642 Author: Alex Goins <agoins@nvidia.com>
11643 Date:   Tue Oct 24 18:39:13 2017 -0700
11644 
11645     ramdac: Check ScreenPriv != NULL in xf86ScreenSetCursor()
11646     
11647     Similar to change cba5a10f, xf86ScreenSetCursor() would dereference ScreenPriv
11648     without NULL checking it. If Option "SWCursor" is specified, ScreenPriv == NULL.
11649     
11650     Without this fix, it is observed that setting Option "SWCursor" "on" on the
11651     modesetting driver in a PRIME configuration will segfault the server.
11652     
11653     It is important to return success rather than failure in the instance that
11654     ScreenPriv == NULL and pCurs == NullCursor, because otherwise xf86SetCursor()
11655     can fall into infinite recursion: xf86SetCursor(pCurs) calls
11656     xf86ScreenSetCursor(pCurs), and if FALSE, calls xf86SetCursor(NullCursor). If
11657     xf86ScreenSetCursor(NullCursor) returns FALSE, it calls
11658     xf86SetCursor(NullCursor) again and this repeats forever.
11659     
11660     Signed-off-by: Alex Goins <agoins@nvidia.com>
11661     Reviewed-by: Dave Airlie <airlied@redhat.com>
11662 
11663 commit 04163fe8c66ae6683a1384fd1bd91ea85f9892ee
11664 Author: Adam Jackson <ajax@redhat.com>
11665 Date:   Tue Oct 24 13:03:09 2017 -0400
11666 
11667     meson: Use [ true, false, auto ] for tristate values
11668     
11669     For symmetry with the boolean options. I really do not want to care
11670     whether an option is a tristate if I'm trying to set it explicitly.
11671     
11672     Signed-off-by: Adam Jackson <ajax@redhat.com>
11673     Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
11674 
11675 commit c2c6e9e68a8815420233c996acdd29ba572b1f0e
11676 Author: Adam Jackson <ajax@redhat.com>
11677 Date:   Tue Oct 24 14:38:13 2017 -0400
11678 
11679     dix: Don't track the XKB client versions in the ClientRec
11680     
11681     XKB stores some stuff in the ClientRec that, style-wise, should probably
11682     be in a client private.  vMinor tracks the client's idea of the XKB
11683     minor version, but is never read, we can just nuke it.  vMajor is only
11684     used for a bug-compat workaround for X11R6.0-vintage clients.  We're
11685     only using though (1<<4) for xkbClientFlags in the protocol, so we can
11686     pack that field down to a u8 and store the bug-compat flag there.
11687     
11688     Signed-off-by: Adam Jackson <ajax@redhat.com>
11689     Reviewed-by: Julien Cristau <jcristau@debian.org>
11690 
11691 commit bc5fb8c0928498c32dc33680d40d50e6db5879b6
11692 Author: Adam Jackson <ajax@redhat.com>
11693 Date:   Tue Oct 24 14:38:12 2017 -0400
11694 
11695     dix: Don't vary the ClientRec ABI at build time
11696     
11697     Just no.
11698     
11699     Signed-off-by: Adam Jackson <ajax@redhat.com>
11700     Reviewed-by: Julien Cristau <jcristau@debian.org>
11701 
11702 commit 0c3ad9d1e06294b4f66717798afa4f5dfa505469
11703 Author: Adam Jackson <ajax@redhat.com>
11704 Date:   Mon Oct 23 15:34:26 2017 -0400
11705 
11706     travis: Bump linux Dockerfile to v7 for new meson
11707     
11708     Signed-off-by: Adam Jackson <ajax@redhat.com>
11709 
11710 commit 4d53e30651c0fe5f7be38ae8529fa49846d39549
11711 Author: Lyude Paul <lyude@redhat.com>
11712 Date:   Mon Oct 23 16:21:19 2017 -0400
11713 
11714     meson: Don't use '' in link_with, ever
11715     
11716     String arguments as elements in the array passed to the link_with
11717     argument in meson's executable() functions are not valid and will end up
11718     causing the build file generation to file. This actually ended up
11719     exposing a bug in meson that caused it not to report where in the
11720     meson.build file it was failing:
11721     
11722     https://github.com/mesonbuild/meson/pull/2527
11723     
11724     The proper way to have a variable that can contain either an empty link
11725     target or an actual link target is:
11726     
11727     some_target = []
11728     if some_cond
11729         some_target = static_library(...)
11730     endif
11731     
11732     This way if some_cond is False, some_target gets set to [], gets passed
11733     to executable() in the link_with array, and then gets removed by array
11734     flattening.
11735     
11736     This also unbreaks Xwayland builds with -Dglx=false, the thing that
11737     originally made me notice this.
11738     
11739     Signed-off-by: Lyude Paul <lyude@redhat.com>
11740     Reviewed-by: Jon Turney <jon.turney@dronecode.org.uk>
11741 
11742 commit 5893e72a20ffa5cfcd6d0c7c5c934b92546d76c3
11743 Author: Jon Turney <jon.turney@dronecode.org.uk>
11744 Date:   Tue Oct 24 12:07:08 2017 +0100
11745 
11746     travis: Fix OSX build
11747     
11748     Turn off homebrew autoupdating before installing ccache, to avoid:
11749     
11750     /usr/local/Homebrew/Library/Homebrew/brew.rb:12:in `<main>': Homebrew must
11751     be run under Ruby 2.3! You're running 2.0.0. (RuntimeError)
11752     
11753     Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
11754     Reviewed-by: Adam Jackson <ajax@redhat.com>
11755 
11756 commit f44935cdb7321af242ce9f242975f096807b97f7
11757 Author: Daniel Martin <consume.noise@gmail.com>
11758 Date:   Mon Oct 23 10:31:21 2017 +0200
11759 
11760     modesetting: Use helper to fetch drmModeProperty(Blob)s
11761     
11762     Replace the various loops to lookup drmModeProperty(Blob)s by
11763     introducing helper functions.
11764     
11765     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
11766 
11767 commit 6abdb54a11dac4e8854ff94ecdcb90a14321ab31
11768 Author: Daniel Martin <consume.noise@gmail.com>
11769 Date:   Mon Oct 23 10:31:20 2017 +0200
11770 
11771     modesetting: Fix leak of tile_blob in drmmode_output_destroy
11772     
11773     And drmModeFreePropertyBlob() can handle NULL pointers, no need to check
11774     edid_blob.
11775     
11776     Signed-off-by: Daniel Martin <consume.noise@gmail.com>
11777 
11778 commit 8d7f7e24261e68459e6f0a865e243473f65fe7ad
11779 Author: Daniel Martin <consume.noise@gmail.com>
11780 Date:   Fri Oct 20 10:05:35 2017 +0200
11781 
11782     modesetting: Check crtc before searching link-status property
11783     
11784     No need to lookup the link-s