Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[xsrc/trunk]: xsrc/external/mit/xorg-server/dist initial import of xorg-serve...



details:   https://anonhg.NetBSD.org/xsrc/rev/527f279b2b74
branches:  trunk
changeset: 10632:527f279b2b74
user:      mrg <mrg%NetBSD.org@localhost>
date:      Sat Dec 05 20:27:45 2020 +0000

description:
initial import of xorg-server-1.20.10

diffstat:

 external/mit/xorg-server/dist/ChangeLog                                        |  1885 ++++++
 external/mit/xorg-server/dist/Makefile.in                                      |     1 +
 external/mit/xorg-server/dist/Xext/Makefile.am                                 |    10 +-
 external/mit/xorg-server/dist/Xext/Makefile.in                                 |    36 +-
 external/mit/xorg-server/dist/Xi/Makefile.in                                   |     1 +
 external/mit/xorg-server/dist/aclocal.m4                                       |     2 +-
 external/mit/xorg-server/dist/composite/Makefile.in                            |     1 +
 external/mit/xorg-server/dist/config.guess                                     |   815 +-
 external/mit/xorg-server/dist/config.sub                                       |  2779 ++++-----
 external/mit/xorg-server/dist/config/Makefile.in                               |     1 +
 external/mit/xorg-server/dist/damageext/Makefile.in                            |     1 +
 external/mit/xorg-server/dist/dbe/Makefile.in                                  |     1 +
 external/mit/xorg-server/dist/dix/Makefile.in                                  |     1 +
 external/mit/xorg-server/dist/doc/Makefile.in                                  |     1 +
 external/mit/xorg-server/dist/doc/dtrace/Makefile.in                           |     1 +
 external/mit/xorg-server/dist/doc/dtrace/Xserver-DTrace.xml                    |    16 +-
 external/mit/xorg-server/dist/dri3/Makefile.in                                 |     1 +
 external/mit/xorg-server/dist/exa/Makefile.in                                  |     1 +
 external/mit/xorg-server/dist/fb/Makefile.in                                   |     1 +
 external/mit/xorg-server/dist/glamor/Makefile.in                               |     1 +
 external/mit/xorg-server/dist/glamor/glamor.c                                  |    16 +
 external/mit/xorg-server/dist/glamor/glamor.h                                  |     5 +
 external/mit/xorg-server/dist/glamor/glamor_copy.c                             |     8 +-
 external/mit/xorg-server/dist/glamor/glamor_egl.c                              |    19 +
 external/mit/xorg-server/dist/glamor/glamor_fbo.c                              |    12 +
 external/mit/xorg-server/dist/glamor/glamor_picture.c                          |     4 +-
 external/mit/xorg-server/dist/glamor/glamor_prepare.c                          |    28 +-
 external/mit/xorg-server/dist/glamor/glamor_priv.h                             |     2 +
 external/mit/xorg-server/dist/glamor/glamor_rects.c                            |    18 +-
 external/mit/xorg-server/dist/glx/Makefile.am                                  |     4 +-
 external/mit/xorg-server/dist/glx/Makefile.in                                  |     9 +-
 external/mit/xorg-server/dist/glx/glxdri2.c                                    |     2 +-
 external/mit/xorg-server/dist/hw/Makefile.in                                   |     1 +
 external/mit/xorg-server/dist/hw/dmx/Makefile.in                               |     1 +
 external/mit/xorg-server/dist/hw/dmx/config/Makefile.in                        |     1 +
 external/mit/xorg-server/dist/hw/dmx/config/dmxconfig.c                        |     2 +-
 external/mit/xorg-server/dist/hw/dmx/config/man/Makefile.in                    |     1 +
 external/mit/xorg-server/dist/hw/dmx/config/parser.c                           |  1297 ++--
 external/mit/xorg-server/dist/hw/dmx/config/parser.h                           |    50 +-
 external/mit/xorg-server/dist/hw/dmx/config/xdmxconfig.c                       |     2 +-
 external/mit/xorg-server/dist/hw/dmx/dmxinit.c                                 |     9 +
 external/mit/xorg-server/dist/hw/dmx/doc/Makefile.in                           |     1 +
 external/mit/xorg-server/dist/hw/dmx/doxygen/Makefile.in                       |     1 +
 external/mit/xorg-server/dist/hw/dmx/examples/Makefile.in                      |     1 +
 external/mit/xorg-server/dist/hw/dmx/glxProxy/Makefile.in                      |     1 +
 external/mit/xorg-server/dist/hw/dmx/glxProxy/glxext.c                         |     2 -
 external/mit/xorg-server/dist/hw/dmx/input/Makefile.in                         |     1 +
 external/mit/xorg-server/dist/hw/dmx/man/Makefile.in                           |     1 +
 external/mit/xorg-server/dist/hw/dmx/man/Xdmx.man                              |     2 +-
 external/mit/xorg-server/dist/hw/kdrive/Makefile.in                            |     1 +
 external/mit/xorg-server/dist/hw/kdrive/ephyr/Makefile.in                      |     1 +
 external/mit/xorg-server/dist/hw/kdrive/ephyr/ephyrinit.c                      |     9 +
 external/mit/xorg-server/dist/hw/kdrive/ephyr/man/Makefile.in                  |     1 +
 external/mit/xorg-server/dist/hw/kdrive/src/Makefile.in                        |     1 +
 external/mit/xorg-server/dist/hw/vfb/InitOutput.c                              |     9 +
 external/mit/xorg-server/dist/hw/vfb/Makefile.in                               |     1 +
 external/mit/xorg-server/dist/hw/vfb/man/Makefile.in                           |     1 +
 external/mit/xorg-server/dist/hw/xfree86/Makefile.in                           |     1 +
 external/mit/xorg-server/dist/hw/xfree86/common/Makefile.in                    |     1 +
 external/mit/xorg-server/dist/hw/xfree86/common/xf86Init.c                     |    10 +
 external/mit/xorg-server/dist/hw/xfree86/common/xf86Module.h                   |     2 +-
 external/mit/xorg-server/dist/hw/xfree86/ddc/Makefile.in                       |     1 +
 external/mit/xorg-server/dist/hw/xfree86/ddc/edid.h                            |    17 +-
 external/mit/xorg-server/dist/hw/xfree86/ddc/interpret_edid.c                  |    27 +
 external/mit/xorg-server/dist/hw/xfree86/dixmods/Makefile.in                   |     1 +
 external/mit/xorg-server/dist/hw/xfree86/doc/Makefile.in                       |     1 +
 external/mit/xorg-server/dist/hw/xfree86/dri/Makefile.in                       |     1 +
 external/mit/xorg-server/dist/hw/xfree86/dri2/Makefile.in                      |     1 +
 external/mit/xorg-server/dist/hw/xfree86/dri2/pci_ids/Makefile.in              |     1 +
 external/mit/xorg-server/dist/hw/xfree86/drivers/Makefile.in                   |     1 +
 external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/Makefile.in       |     1 +
 external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/dri2.c            |    29 +-
 external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/drmmode_display.h |    16 +-
 external/mit/xorg-server/dist/hw/xfree86/exa/Makefile.in                       |     1 +
 external/mit/xorg-server/dist/hw/xfree86/exa/man/Makefile.in                   |     1 +
 external/mit/xorg-server/dist/hw/xfree86/fbdevhw/Makefile.in                   |     1 +
 external/mit/xorg-server/dist/hw/xfree86/fbdevhw/man/Makefile.in               |     1 +
 external/mit/xorg-server/dist/hw/xfree86/glamor_egl/Makefile.in                |     1 +
 external/mit/xorg-server/dist/hw/xfree86/i2c/Makefile.in                       |     1 +
 external/mit/xorg-server/dist/hw/xfree86/int10/Makefile.in                     |     1 +
 external/mit/xorg-server/dist/hw/xfree86/loader/Makefile.in                    |     1 +
 external/mit/xorg-server/dist/hw/xfree86/man/Makefile.in                       |     1 +
 external/mit/xorg-server/dist/hw/xfree86/man/Xorg.man                          |     8 +-
 external/mit/xorg-server/dist/hw/xfree86/man/xorg.conf.man                     |     2 +-
 external/mit/xorg-server/dist/hw/xfree86/modes/Makefile.in                     |     1 +
 external/mit/xorg-server/dist/hw/xfree86/modes/xf86Crtc.c                      |     3 +-
 external/mit/xorg-server/dist/hw/xfree86/modes/xf86Rotate.c                    |     5 +-
 external/mit/xorg-server/dist/hw/xfree86/os-support/Makefile.in                |     1 +
 external/mit/xorg-server/dist/hw/xfree86/os-support/bsd/Makefile.in            |     1 +
 external/mit/xorg-server/dist/hw/xfree86/os-support/bus/Makefile.in            |     1 +
 external/mit/xorg-server/dist/hw/xfree86/os-support/hurd/Makefile.in           |     1 +
 external/mit/xorg-server/dist/hw/xfree86/os-support/hurd/hurd_init.c           |     6 +
 external/mit/xorg-server/dist/hw/xfree86/os-support/linux/Makefile.in          |     1 +
 external/mit/xorg-server/dist/hw/xfree86/os-support/linux/lnx_init.c           |     6 +
 external/mit/xorg-server/dist/hw/xfree86/os-support/misc/Makefile.in           |     1 +
 external/mit/xorg-server/dist/hw/xfree86/os-support/solaris/Makefile.in        |     1 +
 external/mit/xorg-server/dist/hw/xfree86/os-support/solaris/sun_vid.c          |    21 +-
 external/mit/xorg-server/dist/hw/xfree86/os-support/stub/Makefile.in           |     1 +
 external/mit/xorg-server/dist/hw/xfree86/os-support/stub/stub_init.c           |     6 +
 external/mit/xorg-server/dist/hw/xfree86/os-support/xf86_OSproc.h              |     1 +
 external/mit/xorg-server/dist/hw/xfree86/parser/Makefile.in                    |     1 +
 external/mit/xorg-server/dist/hw/xfree86/ramdac/Makefile.in                    |     1 +
 external/mit/xorg-server/dist/hw/xfree86/ramdac/xf86CursorRD.c                 |     6 +-
 external/mit/xorg-server/dist/hw/xfree86/shadowfb/Makefile.in                  |     1 +
 external/mit/xorg-server/dist/hw/xfree86/utils/Makefile.in                     |     1 +
 external/mit/xorg-server/dist/hw/xfree86/utils/cvt/Makefile.in                 |     1 +
 external/mit/xorg-server/dist/hw/xfree86/utils/gtf/Makefile.in                 |     1 +
 external/mit/xorg-server/dist/hw/xfree86/utils/man/Makefile.in                 |     1 +
 external/mit/xorg-server/dist/hw/xfree86/vbe/Makefile.in                       |     1 +
 external/mit/xorg-server/dist/hw/xfree86/vgahw/Makefile.in                     |     1 +
 external/mit/xorg-server/dist/hw/xfree86/x86emu/Makefile.in                    |     1 +
 external/mit/xorg-server/dist/hw/xfree86/xkb/Makefile.in                       |     1 +
 external/mit/xorg-server/dist/hw/xnest/Init.c                                  |     9 +
 external/mit/xorg-server/dist/hw/xnest/Makefile.in                             |     1 +
 external/mit/xorg-server/dist/hw/xnest/man/Makefile.in                         |     1 +
 external/mit/xorg-server/dist/hw/xquartz/GL/Makefile.in                        |     1 +
 external/mit/xorg-server/dist/hw/xquartz/Makefile.in                           |     1 +
 external/mit/xorg-server/dist/hw/xquartz/bundle/Makefile.in                    |     1 +
 external/mit/xorg-server/dist/hw/xquartz/mach-startup/Makefile.in              |     1 +
 external/mit/xorg-server/dist/hw/xquartz/man/Makefile.in                       |     1 +
 external/mit/xorg-server/dist/hw/xquartz/man/Xquartz.man                       |     2 +-
 external/mit/xorg-server/dist/hw/xquartz/pbproxy/Makefile.in                   |     1 +
 external/mit/xorg-server/dist/hw/xquartz/xpr/Makefile.in                       |     1 +
 external/mit/xorg-server/dist/hw/xwayland/Makefile.in                          |     1 +
 external/mit/xorg-server/dist/hw/xwayland/xwayland-glamor-eglstream.c          |     2 +-
 external/mit/xorg-server/dist/hw/xwayland/xwayland-glamor-gbm.c                |    62 +-
 external/mit/xorg-server/dist/hw/xwayland/xwayland-input.c                     |    84 +-
 external/mit/xorg-server/dist/hw/xwayland/xwayland-output.c                    |    41 +-
 external/mit/xorg-server/dist/hw/xwayland/xwayland-present.c                   |   145 +-
 external/mit/xorg-server/dist/hw/xwayland/xwayland-vidmode.c                   |     1 +
 external/mit/xorg-server/dist/hw/xwayland/xwayland.c                           |   146 +-
 external/mit/xorg-server/dist/hw/xwayland/xwayland.h                           |    14 +-
 external/mit/xorg-server/dist/hw/xwin/InitOutput.c                             |     9 +
 external/mit/xorg-server/dist/hw/xwin/Makefile.in                              |     1 +
 external/mit/xorg-server/dist/hw/xwin/dri/Makefile.in                          |     1 +
 external/mit/xorg-server/dist/hw/xwin/glx/Makefile.in                          |     1 +
 external/mit/xorg-server/dist/hw/xwin/man/Makefile.in                          |     1 +
 external/mit/xorg-server/dist/hw/xwin/winclipboard/Makefile.in                 |     1 +
 external/mit/xorg-server/dist/hw/xwin/winprefsyacc.c                           |  1294 ++--
 external/mit/xorg-server/dist/hw/xwin/winprefsyacc.h                           |    86 +-
 external/mit/xorg-server/dist/include/Makefile.in                              |     1 +
 external/mit/xorg-server/dist/include/do-not-use-config.h.in                   |     3 +
 external/mit/xorg-server/dist/include/meson.build                              |     2 +
 external/mit/xorg-server/dist/include/misc.h                                   |     2 +-
 external/mit/xorg-server/dist/ltmain.sh                                        |    10 +
 external/mit/xorg-server/dist/m4/libtool.m4                                    |     9 +-
 external/mit/xorg-server/dist/man/Makefile.in                                  |     1 +
 external/mit/xorg-server/dist/meson.build                                      |     2 +-
 external/mit/xorg-server/dist/mi/Makefile.in                                   |     1 +
 external/mit/xorg-server/dist/miext/Makefile.in                                |     1 +
 external/mit/xorg-server/dist/miext/damage/Makefile.in                         |     1 +
 external/mit/xorg-server/dist/miext/rootless/Makefile.in                       |     1 +
 external/mit/xorg-server/dist/miext/shadow/Makefile.in                         |     1 +
 external/mit/xorg-server/dist/miext/sync/Makefile.in                           |     1 +
 external/mit/xorg-server/dist/os/Makefile.in                                   |     1 +
 external/mit/xorg-server/dist/os/inputthread.c                                 |     2 +
 external/mit/xorg-server/dist/os/ospoll.c                                      |    24 +-
 external/mit/xorg-server/dist/present/Makefile.in                              |     1 +
 external/mit/xorg-server/dist/present/present_execute.c                        |    23 +-
 external/mit/xorg-server/dist/present/present_priv.h                           |     6 +-
 external/mit/xorg-server/dist/present/present_scmd.c                           |    16 +-
 external/mit/xorg-server/dist/present/present_screen.c                         |     8 +-
 external/mit/xorg-server/dist/present/present_vblank.c                         |    18 +-
 external/mit/xorg-server/dist/present/present_wnmd.c                           |    84 +-
 external/mit/xorg-server/dist/pseudoramiX/Makefile.in                          |     1 +
 external/mit/xorg-server/dist/randr/Makefile.in                                |     1 +
 external/mit/xorg-server/dist/randr/rrcrtc.c                                   |     8 +-
 external/mit/xorg-server/dist/record/Makefile.in                               |     1 +
 external/mit/xorg-server/dist/record/record.c                                  |    10 +-
 external/mit/xorg-server/dist/render/Makefile.in                               |     1 +
 external/mit/xorg-server/dist/test/Makefile.in                                 |     1 +
 external/mit/xorg-server/dist/test/misc.c                                      |     2 +-
 external/mit/xorg-server/dist/test/xi2/protocol-common.c                       |     2 +
 external/mit/xorg-server/dist/test/xi2/protocol-common.h                       |     2 +-
 external/mit/xorg-server/dist/test/xi2/protocol-xigetselectedevents.c          |     2 +-
 external/mit/xorg-server/dist/test/xi2/protocol-xipassivegrabdevice.c          |     2 +-
 external/mit/xorg-server/dist/test/xi2/protocol-xiquerydevice.c                |     2 +-
 external/mit/xorg-server/dist/test/xi2/protocol-xiqueryversion.c               |     2 +-
 external/mit/xorg-server/dist/test/xi2/protocol-xiselectevents.c               |     2 +-
 external/mit/xorg-server/dist/test/xi2/protocol-xisetclientpointer.c           |     2 +-
 external/mit/xorg-server/dist/xfixes/Makefile.in                               |     1 +
 external/mit/xorg-server/dist/xkb/Makefile.in                                  |     1 +
 external/mit/xorg-server/dist/xkb/xkbSwap.c                                    |     2 +-
 183 files changed, 5931 insertions(+), 3528 deletions(-)

diffs (truncated from 15007 to 300 lines):

diff -r e841da88dd71 -r 527f279b2b74 external/mit/xorg-server/dist/ChangeLog
--- a/external/mit/xorg-server/dist/ChangeLog   Sat Nov 21 03:02:09 2020 +0000
+++ b/external/mit/xorg-server/dist/ChangeLog   Sat Dec 05 20:27:45 2020 +0000
@@ -1,3 +1,1888 @@
+commit bc111a2e67e16d4e6d4f3196ab86c22c1e278c45
+Author: Matt Turner <mattst88%gmail.com@localhost>
+Date:   Tue Dec 1 10:55:00 2020 -0500
+
+    xserver 1.20.10
+    
+    Signed-off-by: Matt Turner <mattst88%gmail.com@localhost>
+
+commit 06d1a032ee491547f7037c3ff042065dc2aeaa99
+Author: Matthieu Herrb <matthieu%herrb.eu@localhost>
+Date:   Thu Nov 12 19:15:07 2020 +0100
+
+    Check SetMap request length carefully.
+    
+    Avoid out of bounds memory accesses on too short request.
+    
+    ZDI-CAN 11572 /  CVE-2020-14360
+    
+    This vulnerability was discovered by:
+    Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
+    
+    Signed-off-by: Matthieu Herrb <matthieu%herrb.eu@localhost>
+    (cherry picked from commit 446ff2d3177087b8173fa779fa5b77a2a128988b)
+
+commit 7ccb3b0eabb4658daf0ecb2c78a53609ae2c263b
+Author: Matthieu Herrb <matthieu%herrb.eu@localhost>
+Date:   Sun Oct 11 17:05:09 2020 +0200
+
+    Fix XkbSetDeviceInfo() and SetDeviceIndicators() heap overflows
+    
+    ZDI-CAN 11389 / CVE-2020-25712
+    
+    This vulnerability was discovered by:
+    Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
+    
+    Signed-off-by: Matthieu Herrb <matthieu%herrb.eu@localhost>
+    (cherry picked from commit 87c64fc5b0db9f62f4e361444f4b60501ebf67b9)
+
+commit 440ed5948ba5818abf5ea5fdc5a9d98514658fd3
+Author: Michel Dänzer <mdaenzer%redhat.com@localhost>
+Date:   Tue Dec 1 11:25:31 2020 +0100
+
+    present/wnmd: Translate update region to screen space
+    
+    The region as passed in is in the source pixmap's coordinate space, so
+    intersecting it with the clipList (which is in screen space) resulted in
+    disappointment.
+    
+    Fixes Firefox popups such as the hamburger menu when using the EGL
+    backend.
+    
+    v2:
+    * Drop vblank->x/y_off from RegionTranslate call, since they're always
+      0 here (present_wnmd_check_flip rejects flips for x/y_off != 0).
+    
+    Reported-by: Robert Mader <robert.mader%posteo.de@localhost>
+    Tested-by: Robert Mader <robert.mader%posteo.de@localhost>
+    Reviewed-by: Olivier Fourdan <ofourdan%redhat.com@localhost>
+    Tested-by: Joakim Tjernlund <joakim.tjernlund%infinera.com@localhost> # v1
+    (cherry picked from commit 466b8b43fb355c6040cee45406860b8b8c04e948)
+
+commit 54f9af1c61bd10e2e65cbb17069e0c9ec1f9a2c5
+Author: Kishore Kadiyala <kishore.kadiyala%intel.com@localhost>
+Date:   Tue Dec 1 11:13:51 2020 +0100
+
+    modesetting: keep going if a modeset fails on EnterVT
+    
+    There was a time when setting a mode on a CRTC would not depend on the
+    associated connector's state. If a mode had been set successfully once,
+    it would mean it would work later on.
+    
+    This changed with the introduction of new connectors type that now
+    require a link training sequence (DP, HDMI 2.0), and that means that
+    some events may have happened while the X server was not master that
+    would then prevent the mode from successfully be restored to its
+    previous state.
+    
+    This patch relaxes the requirement that all modes should be restored on
+    EnterVT, or the entire X-Server would go down by allowing modesets to
+    fail (with some warnings). If a modeset fails, the CRTC will be
+    disabled, and a RandR event will be sent for the desktop environment to
+    fix the situation as well as possible.
+    
+    Additional patches might be needed to make sure that the user would
+    never be left with all screens black in some scenarios.
+    
+    v2 (Martin Peres):
+     - whitespace fixes
+     - remove the uevent handling (it is done in a previous patch)
+     - improve the commit message
+     - reduce the size of the patch by not changing lines needlessly
+     - return FALSE if one modeset fails in ignore mode
+     - add comments/todos to explain why we do things
+     - disable the CRTCs that failed the modeset
+    
+    Signed-off-by: Kishore Kadiyala <kishore.kadiyala%intel.com@localhost>
+    Signed-off-by: Martin Peres <martin.peres%linux.intel.com@localhost>
+    Reviewed-by: Daniel Vetter <daniel.vetter%ffwll.ch@localhost>
+    Tested-by: Kishore Kadiyala <kishore.kadiyala%intel.com@localhost>
+    Closes: #1010
+    (cherry picked from commit efb3abddd49fb75bd6d0e31046fed43d258c93da)
+
+commit bd0f53725b581e4698f5f3ec366a9507bd2556e2
+Author: Martin Peres <martin.peres%linux.intel.com@localhost>
+Date:   Tue Dec 1 11:10:34 2020 +0100
+
+    modesetting: check the kms state on EnterVT
+    
+    Normally, we would receive a uevent coming from Linux's DRM subsystem,
+    which would trigger the check for disappearing/appearing resources.
+    However, this event is not received when X is not master (another VT
+    is selected), and so the userspace / desktop environment would not be
+    notified about the changes that happened while X wasn't master.
+    
+    To fix the issue, this patch forces a refresh on EnterVT by splitting
+    the kms-checking code from the uevent handling into its own (exported)
+    function called drmmode_update_kms_state. This function is then called
+    from both the uevent-handling function, and on EnterVT right before
+    restoring the modes.
+    
+    Signed-off-by: Martin Peres <martin.peres%linux.intel.com@localhost>
+    Reviewed-by: Daniel Vetter <daniel.vetter%ffwll.ch@localhost>
+    Acked-by: Kishore Kadiyala <kishore.kadiyala%intel.com@localhost>
+    Tested-by: Kishore Kadiyala <kishore.kadiyala%intel.com@localhost>
+    (cherry picked from commit 293cf660c95d7ba36510bcc4114d7fd5c5f3801c)
+
+commit 5c400cae1f9817045378966effa6bca91e45aead
+Author: Olivier Fourdan <ofourdan%redhat.com@localhost>
+Date:   Tue Oct 27 16:33:55 2020 +0100
+
+    configure: Build hashtable for Xres and glvnd
+    
+    With autoconf, hashtable support is built along with Xres support.
+    
+    Yet, glvnd also use it, so when disabling Xres from configure, the
+    build will fail at link time because hashtable functions are not
+    available.
+    
+    Untie the build of hashtable from Xres support, just like meson build
+    does.
+    
+    Signed-off-by: Olivier Fourdan <ofourdan%redhat.com@localhost>
+    Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1091
+    (cherry picked from commit 899cebb76ab7754fea49f7babcd64a7e94052cc8)
+
+commit 253569a3d281996d7c84041020e14313756900da
+Author: Olivier Fourdan <ofourdan%redhat.com@localhost>
+Date:   Thu Nov 5 18:35:54 2020 +0100
+
+    xwayland: Create an xwl_window for toplevel only
+    
+    One general assumption in Xwayland is that the xwl_window remains the
+    same for all the child windows of the toplevel window.
+    
+    When mapping a new X11 window, ensure_surface_for_window() checks for an
+    existing xwl_window by using xwl_window_get() which will just check for
+    the registered xwl_window for the window.
+    
+    That means that a client mapping a child window of an existing window
+    with a xwl_window will get another different xwl_window.
+    
+    If an X11 client issues a Present request on the parent window, hence
+    placed underneath its child window of the same size, the Wayland
+    compositor may not send the frame callback event for the parent's
+    Wayland surface which is reckoned to be not visible, obscured behind
+    the other Wayland surface for the child X11 window.
+    
+    That bug affects some games running in wine which may get 1 fps because
+    the repaint occurs only on timeout with a long interval (as with, e.g.
+    https://bugs.winehq.org/show_bug.cgi?id=47066)
+    
+    Fix ensure_surface_for_window() by using xwl_window_from_window() which
+    will walk the window tree, so that a child window won't get another
+    xwl_window than its parent.
+    
+    https://gitlab.freedesktop.org/xorg/xserver/-/issues/1099
+    See-also: https://bugs.winehq.org/show_bug.cgi?id=47066
+    Signed-off-by: Olivier Fourdan <ofourdan%redhat.com@localhost>
+    Reviewed-by: Michel Dänzer <mdaenzer%redhat.com@localhost>
+    (cherry picked from commit 606ba7fc51e5420646f75c4e672fbe61eb7c7e6e)
+
+commit 0811a9ff783c252b3e4d558bf31c6b066b0633e1
+Author: Olivier Fourdan <ofourdan%redhat.com@localhost>
+Date:   Mon Nov 2 15:44:31 2020 +0100
+
+    xwayland: non-rootless requires the wl_shell protocol
+    
+    When running non-rootless, Xwayland requires that the Wayland compositor
+    supports the wl_shell protocol.
+    
+    Check for wl_shell protocol support at startup and exit cleanly if
+    missing rather than segfaulting later in ensure_surface_for_window()
+    while trying to use wl_shell_get_shell_surface().
+    
+    Signed-off-by: Olivier Fourdan <ofourdan%redhat.com@localhost>
+    Reviewed-by: Michel Dänzer <mdaenzer%redhat.com@localhost>
+    Reviewed-by: Simon Ser <contact%emersion.fr@localhost>
+    (cherry picked from commit ffd02d9b26bd560849c407a6dd4f5c4d7d2c1736)
+
+commit b3ae038c32870a4a1bb42b6e1cf2ebedc8b7bc8d
+Author: Alex Goins <agoins%nvidia.com@localhost>
+Date:   Mon Oct 5 18:19:52 2020 -0500
+
+    glamor: Update pixmap's devKind when making it exportable
+    
+    When making a pixmap exportable, glamor will currently create a temporary
+    exported pixmap backed by a GBM bo, with the devKind updated to the stride of
+    the bo. However, when the backing of the exported pixmap is swapped into the
+    original, the devKind of the original is not updated.
+    
+    Some GBM bos may get implicitly padded, in which case the devKind of the pixmap
+    will not match the stride of the backing bo. For example, an 800x600 pixmap will
+    have a devKind of 3200, but the bo's stride will be 3328. This can cause
+    corruption with PRIME, when the sink uses the wrong stride to display the shared
+    pixmap.
+    
+    This commit changes glamor_make_pixmap_exportable() to update the devKind of the
+    original pixmap after it swaps exported pixmap's backing into it, keeping
+    everything consistent.
+    
+    Fixes issue #1018.
+    
+    Signed-off-by: Alex Goins <agoins%nvidia.com@localhost>
+    Signed-off-by: Aaron Plattner <aplattner%nvidia.com@localhost>
+    Reviewed-by: Michel Dänzer <mdaenzer%redhat.com@localhost>
+    (cherry picked from commit 7a7e55c5c1d6461a9f4d9a4e0129c1c6e1fd3d66)
+
+commit d6c389cb87b220f7005cebf483708267b5f4a1c3
+Author: Bernhard Übelacker <bernhardu%mailbox.org@localhost>
+Date:   Sun Sep 27 18:03:48 2020 +0200
+
+    os: Fix instruction pointer written in xorg_backtrace
+    
+    The address retrieved in "pip.start_ip" is not necessarily the same
+    address as unw_get_proc_name finds as nearest symbol and returns in "off".
+    Therefore using "pip.start_ip + off" is not reliable, at least
+    visible in the binaries from the Debian repository.
+    
+    Bug-Debian: https://bugs.debian.org/971088
+    
+    Signed-off-by: Bernhard Übelacker <bernhardu%mailbox.org@localhost>
+    (cherry picked from commit c15dd0ba4893f79f7181e783cb1ba404edca917a)
+
+commit c3e4c1a0fd5d4d6015e9e6317b758018317e56d1
+Author: Michel Dänzer <mdaenzer%redhat.com@localhost>
+Date:   Tue Jul 28 18:40:47 2020 +0200
+
+    present/wnmd: Execute copies at target_msc-1 already
+    
+    It always takes one update cycle for the copy to become visible on the
+    host windowing system, so waiting for the target MSC resulted in 1 cycle
+    delay.
+    
+    We re-use the idle list for copies which were executed but need their
+    completion event sent.
+    
+    Fixes black seams when resizing the "Builder" sub-window of
+    
+     GDK_BACKEND=x11 gtk4-demo
+    
+    on Xwayland (see
+    https://gitlab.gnome.org/GNOME/mutter/-/issues/1290#note_873557).
+    
+    Unfortunately, this cannot completely fix the seams with apps which
+    queue up multiple frames in advance, since there's always at least one
+    queued frame corresponding to the old window size. But it should at
+    least help a little in that case as well.
+    
+    v2:
+    * Bug fix: Don't update exec_msc in present_wnmd_check_flip_window.
+      (Roman Gilg)
+    * Use exec_msc = target_msc - 1 instead of exec_msc--, and add a
+      comment, for clarity.
+    v3:
+    * Drop exec_msc = target_msc again in present_wnmd_execute.
+    * present_execute_copy should never set vblank->queued in
+      present_wnmd_execute now, so replace that branch with an assertion.
+      (Roman Gilg)
+    
+    Reviewed-by: Roman Gilg <subdiff%gmail.com@localhost>
+    Tested-by: Roman Gilg <subdiff%gmail.com@localhost>
+    (cherry picked from commit 1cccb486d48a5d2e7649836b993805bb65dc09e3)
+    [Since present_wnmd_event_notify hasn't been split up on the 1.20
+    branch, it needs to check vblank->flip. Doing the same in
+    present_wnmd_free_idle_vblanks to be safe, though I'm not sure it's
+    actually possible to hit non-flips there.]
+
+commit 96ef31e0f20fcffb2edfe4cb9510f994c188785f
+Author: Michel Dänzer <mdaenzer%redhat.com@localhost>
+Date:   Tue Jul 28 18:53:45 2020 +0200
+
+    present/wnmd: Move up present_wnmd_queue_vblank
+    
+    Allowing it to be called from more functions than before. No functional
+    change.
+    



Home | Main Index | Thread Index | Old Index