Source-Changes-HG archive

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

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



details:   https://anonhg.NetBSD.org/xsrc/rev/4337ce240c76
branches:  xorg
changeset: 10456:4337ce240c76
user:      mrg <mrg%NetBSD.org@localhost>
date:      Sun Feb 23 10:17:32 2020 +0000

description:
initial import of xorg-server-1.20.6

diffstat:

 external/mit/xorg-server/dist/ChangeLog                                  |  2090 +++++--
 external/mit/xorg-server/dist/Xext/panoramiXprocs.c                      |    10 +
 external/mit/xorg-server/dist/Xext/shm.c                                 |    77 +-
 external/mit/xorg-server/dist/Xext/sleepuntil.c                          |     3 +-
 external/mit/xorg-server/dist/Xext/sync.c                                |    50 +-
 external/mit/xorg-server/dist/Xext/syncsdk.h                             |     3 +
 external/mit/xorg-server/dist/Xi/exevents.c                              |    23 +-
 external/mit/xorg-server/dist/aclocal.m4                                 |     7 +-
 external/mit/xorg-server/dist/config.guess                               |   575 +-
 external/mit/xorg-server/dist/config.sub                                 |  2728 +++++----
 external/mit/xorg-server/dist/configure                                  |   130 +-
 external/mit/xorg-server/dist/configure.ac                               |    57 +-
 external/mit/xorg-server/dist/dix/dispatch.c                             |     5 +-
 external/mit/xorg-server/dist/dix/dixutils.c                             |     9 +-
 external/mit/xorg-server/dist/dix/events.c                               |     2 +
 external/mit/xorg-server/dist/dix/pixmap.c                               |     3 +-
 external/mit/xorg-server/dist/doc/Xserver-spec.xml                       |     4 +-
 external/mit/xorg-server/dist/glamor/glamor_egl.c                        |    19 +-
 external/mit/xorg-server/dist/glamor/glamor_egl.h                        |     1 +
 external/mit/xorg-server/dist/glamor/glamor_priv.h                       |     1 +
 external/mit/xorg-server/dist/glx/glxcmds.c                              |     4 +-
 external/mit/xorg-server/dist/glx/glxdriswrast.c                         |     1 +
 external/mit/xorg-server/dist/glx/meson.build                            |     4 +-
 external/mit/xorg-server/dist/glx/vndcmds.c                              |    13 +-
 external/mit/xorg-server/dist/glx/vndext.c                               |    16 +-
 external/mit/xorg-server/dist/glx/vndserver.h                            |    13 +
 external/mit/xorg-server/dist/glx/vndservermapping.c                     |    52 +-
 external/mit/xorg-server/dist/hw/dmx/config/parser.c                     |   200 +-
 external/mit/xorg-server/dist/hw/dmx/config/parser.h                     |     6 +-
 external/mit/xorg-server/dist/hw/xfree86/common/compiler.h               |    30 -
 external/mit/xorg-server/dist/hw/xfree86/common/xf86Init.c               |    60 +-
 external/mit/xorg-server/dist/hw/xfree86/dri2/pci_ids/i965_pci_ids.h     |    53 +-
 external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/Makefile.am |     8 +-
 external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/Makefile.in |   132 +-
 external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/driver.h    |     1 +
 external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/present.c   |     3 +-
 external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting/vblank.c    |   148 +-
 external/mit/xorg-server/dist/hw/xfree86/modes/xf86RandR12.c             |     5 +
 external/mit/xorg-server/dist/hw/xfree86/modes/xf86Rotate.c              |     4 +-
 external/mit/xorg-server/dist/hw/xfree86/os-support/shared/sigio.c       |     5 +-
 external/mit/xorg-server/dist/hw/xnest/Screen.c                          |     1 -
 external/mit/xorg-server/dist/hw/xwayland/xwayland-cursor.c              |     2 +
 external/mit/xorg-server/dist/hw/xwayland/xwayland-glamor-eglstream.c    |     1 +
 external/mit/xorg-server/dist/hw/xwayland/xwayland-glamor-gbm.c          |    40 +-
 external/mit/xorg-server/dist/hw/xwayland/xwayland-glamor.c              |     1 +
 external/mit/xorg-server/dist/hw/xwayland/xwayland-input.c               |     1 +
 external/mit/xorg-server/dist/hw/xwayland/xwayland-output.c              |    39 +-
 external/mit/xorg-server/dist/hw/xwayland/xwayland.c                     |   159 +-
 external/mit/xorg-server/dist/hw/xwayland/xwayland.h                     |     2 +-
 external/mit/xorg-server/dist/hw/xwin/winprefsyacc.c                     |   174 +-
 external/mit/xorg-server/dist/hw/xwin/winprefsyacc.h                     |     6 +-
 external/mit/xorg-server/dist/include/dix-config.h.in                    |     9 +-
 external/mit/xorg-server/dist/include/do-not-use-config.h.in             |     9 +-
 external/mit/xorg-server/dist/include/glxvndabi.h                        |    13 +-
 external/mit/xorg-server/dist/include/meson.build                        |     7 +-
 external/mit/xorg-server/dist/ltmain.sh                                  |    77 +-
 external/mit/xorg-server/dist/m4/libtool.m4                              |    24 +-
 external/mit/xorg-server/dist/meson.build                                |     2 +-
 external/mit/xorg-server/dist/mi/mi.h                                    |     4 +
 external/mit/xorg-server/dist/mi/miscrinit.c                             |     8 +-
 external/mit/xorg-server/dist/miext/sync/misync.c                        |    27 +-
 external/mit/xorg-server/dist/miext/sync/misync.h                        |     1 +
 external/mit/xorg-server/dist/miext/sync/misyncstr.h                     |     5 +-
 external/mit/xorg-server/dist/os/connection.c                            |     8 +
 external/mit/xorg-server/dist/present/present_scmd.c                     |     8 +-
 external/mit/xorg-server/dist/present/present_wnmd.c                     |     2 -
 external/mit/xorg-server/dist/randr/rrcrtc.c                             |    15 +-
 external/mit/xorg-server/dist/record/record.c                            |     4 +-
 external/mit/xorg-server/dist/render/render.c                            |     5 +
 external/mit/xorg-server/dist/xkb/xkb.c                                  |     9 +
 70 files changed, 4383 insertions(+), 2835 deletions(-)

diffs (truncated from 14434 to 300 lines):

diff -r 4c47722a5680 -r 4337ce240c76 external/mit/xorg-server/dist/ChangeLog
--- a/external/mit/xorg-server/dist/ChangeLog   Sun Feb 23 10:08:51 2020 +0000
+++ b/external/mit/xorg-server/dist/ChangeLog   Sun Feb 23 10:17:32 2020 +0000
@@ -1,3 +1,929 @@
+commit 6b3fafa9bfa94b9b04a1a44dc52afb7c4bc250ce
+Author: Matt Turner <mattst88%gmail.com@localhost>
+Date:   Fri Nov 22 17:52:04 2019 -0500
+
+    xserver 1.20.6
+    
+    Signed-off-by: Matt Turner <mattst88%gmail.com@localhost>
+
+commit 88f12aa74bf4fea25d5b8d8002b3088432feb405
+Author: Matt Turner <mattst88%gmail.com@localhost>
+Date:   Thu Nov 21 11:23:18 2019 -0500
+
+    xfree86: Test presence of isastream()
+    
+    isastream() was never more than a stub in glibc, and was removed in
+    glibc-2.30 by commit a0a0dc83173c ("Remove obsolete, never-implemented
+    XSI STREAMS declarations").
+    
+    Bug: https://bugs.gentoo.org/700838
+    Reviewed-by: Julien Cristau <jcristau%debian.org@localhost>
+    Signed-off-by: Matt Turner <mattst88%gmail.com@localhost>
+    (cherry picked from commit e6ab7f9f342f463092c45226f3294074351fdd5e)
+
+commit 0e60139064b84b856c59e5a456e26c60710b1b69
+Author: Olivier Fourdan <ofourdan%redhat.com@localhost>
+Date:   Mon Nov 18 17:28:45 2019 +0100
+
+    present/wnmd: Relax assertion on CRTC on abort_vblank()
+    
+    Currently, the function `present_wnmd_abort_vblank()` would fail if the
+    given `crtc` is NULL.
+    
+    However, `xwl_present_get_crtc()` can return `NULL` under some
+    circumstances, which would cause an unexpected termination of Xwayland
+    in such a case, caused by the assertion failure being triggered.
+    
+    Remove the assertion, considering that the `crtc` isn't actually used in
+    neither `present_wnmd_abort_vblank()` nor `xwl_present_abort_vblank()`.
+    
+    Signed-off-by: Olivier Fourdan <ofourdan%redhat.com@localhost>
+    Reviewed-by: Michel Dänzer <mdaenzer%redhat.com@localhost>
+    Closes: https://gitlab.freedesktop.org/xorg/xserver/issues/937
+    (cherry picked from commit 4f984fc06bd57cabfa38f6191f10714878dc8969)
+
+commit 2edadf26f1f8deddbe171115fa502337ac62df02
+Author: Aaron Plattner <aplattner%nvidia.com@localhost>
+Date:   Tue Nov 19 10:08:51 2019 -0800
+
+    os: Don't crash in AttendClient if the client is gone
+    
+    If a client is in the process of being closed down, then its client->osPrivate
+    pointer will be set to NULL by CloseDownConnection. This can cause a crash if
+    freeing the client's resources results in a call to AttendClient. For example,
+    if the client has a pending sync fence:
+    
+     Thread 1 "X" received signal SIGSEGV, Segmentation fault.
+     AttendClient (client=0x5571c4aed9a0) at ../os/connection.c:942
+     (gdb) bt
+     #0  AttendClient (client=0x5571c4aed9a0) at ../os/connection.c:942
+     #1  0x00005571c3dbb865 in SyncAwaitTriggerFired (pTrigger=<optimized out>) at ../Xext/sync.c:694
+     #2  0x00005571c3dd5749 in miSyncDestroyFence (pFence=0x5571c5063980) at ../miext/sync/misync.c:120
+     #3  0x00005571c3dbbc69 in FreeFence (obj=<optimized out>, id=<optimized out>) at ../Xext/sync.c:1909
+     #4  0x00005571c3d7a01d in doFreeResource (res=0x5571c506e3d0, skip=skip@entry=0) at ../dix/resource.c:880
+     #5  0x00005571c3d7b1dc in FreeClientResources (client=0x5571c4aed9a0) at ../dix/resource.c:1146
+     #6  FreeClientResources (client=0x5571c4aed9a0) at ../dix/resource.c:1109
+     #7  0x00005571c3d5525f in CloseDownClient (client=0x5571c4aed9a0) at ../dix/dispatch.c:3473
+     #8  0x00005571c3d55eeb in Dispatch () at ../dix/dispatch.c:492
+     #9  0x00005571c3d59e96 in dix_main (argc=3, argv=0x7ffe7854bc28, envp=<optimized out>) at ../dix/main.c:276
+     #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
+     #11 0x00005571c3d1d09a in _start () at ../Xext/sync.c:2378
+     (gdb) print client->osPrivate
+     $1 = (void *) 0x0
+    
+    Since the client is about to be freed, its ignore count doesn't matter and
+    AttendClient can simply be a no-op. Check for client->clientGone in AttendClient
+    and remove similar checks from two callers that had them.
+    
+    Signed-off-by: Aaron Plattner <aplattner%nvidia.com@localhost>
+    (cherry picked from commit 4308f5d3d1fbd0f5dce81e22c0c3f08c65a7c9d8)
+
+commit 68cfee97bc59580724d594c82f5ee55a980dadf0
+Author: Adam Jackson <ajax%redhat.com@localhost>
+Date:   Wed Oct 9 11:57:18 2019 -0400
+
+    dix: Call SourceValidate before GetImage
+    
+    This ensures that any prep work for the drawable we're about to read
+    from is already done before we call down to GetImage. This should be no
+    functional change as most of the callers with a non-trivial
+    SourceValidate are already wrapping GetImage and doing the equivalent
+    thing, but we'll be simplifying that shortly.
+    
+    More importantly this ensures that if any of that prep work would
+    generate events - like automatic compositing flushing rendering to a
+    parent pixmap which then triggers damage - then it happens entirely
+    before we start writing the GetImage reply header.
+    
+    Note that we do not do the same for GetSpans, but that's okay. The only
+    way to get to GetSpans is through miCopyArea or miCopyPlane - where the
+    callers must already call SourceValidate - or miGetImage - which this
+    commit now protects with SourceValidate.
+    
+    Fixes: xorg/xserver#902
+    Reviewed-by: Michel Dänzer <mdaenzer%redhat.com@localhost>
+    (cherry picked from commit 516e75dbb6bbf97c7af9c2226242ffd9259fec11)
+
+commit 2320fd4b52a60411714170d516fc58e6ec516353
+Author: Adam Jackson <ajax%redhat.com@localhost>
+Date:   Wed Oct 9 11:27:12 2019 -0400
+
+    mi: Add a default no-op miSourceValidate
+    
+    Slightly simplifies the callers since they don't need to check for
+    non-NULL anymore.
+    
+    I do extremely hate the workarounds here to suppress misprite taking the
+    cursor down though. Surely there's a better way.
+    
+    [1.20: Do not in fact simplify the callers as above, since it would
+    change the ABI. - ajax]
+    
+    Reviewed-by: Michel Dänzer <mdaenzer%redhat.com@localhost>
+    (cherry picked from commit ff310903f34ac34c916ad74e919d1ac12aea4715)
+
+commit 07efd81b819f21046afc0bb7e19a6cdf7f3c7ea9
+Author: Olivier Fourdan <ofourdan%redhat.com@localhost>
+Date:   Mon Jul 1 13:20:39 2019 +0200
+
+    compiler.h: Do not include sys/io.h on ARM with glibc
+    
+    <sys/io.h> on ARM hasn't worked for a long, long time, so it was removed
+    it from glibc upstream.
+    
+    Remove the include to avoid a compilation failure on ARM with glibc.
+    
+    Signed-off-by: Olivier Fourdan <ofourdan%redhat.com@localhost>
+    Closes: https://gitlab.freedesktop.org/xorg/xserver/issues/840
+    (cherry picked from commit fe4cd0e7f5c58fa94db36326aadc1bd4e6d73eba)
+
+commit 03b91e17ce72649b2d6946213f5a7d152bfe7098
+Author: Aaron Plattner <aplattner%nvidia.com@localhost>
+Date:   Wed Nov 6 10:45:43 2019 -0800
+
+    xfree86: Call ScreenInit for protocol screens before GPU screens
+    
+    During startup, the xfree86 DDX's InitOutput() calls PreInit for
+    protocol screens first, and then GPU screens. On teardown, dix_main()
+    calls CloseScreen in the reverse order: GPU screens first starting with
+    the last one and then working backwards, and then protocol screens also
+    in reverse order.
+    
+    InitOutput() calls ScreenInit in the wrong order: for GPU screens first and then
+    for protocol screens. This causes a problem for drivers that have global state
+    that is tied to the first screen that calls ScreenInit.
+    
+    Fix this by simply re-ordering the for loops to call PreInit for
+    protocol screens first and then for GPU screens second.
+    
+    (cherry picked from commit e5e9a8ca91d1c087edd8788a110251ad940dbc94)
+
+commit 325f694e97a117aec47aa2e1a9b2b28c3c47994e
+Author: Alex Goins <agoins%nvidia.com@localhost>
+Date:   Tue Sep 17 18:36:35 2019 -0500
+
+    modesetting: Implement ms_covering_randr_crtc() for ms_present_get_crtc()
+    
+    ms_present_get_crtc() returns an RRCrtcPtr, but derives it from a xf86CrtcPtr
+    found via ms_dri2_crtc_covering_drawable()=>ms_covering_crtc(). As a result, it
+    depends on all associated DIX ScreenRecs having an xf86CrtcConfigPtr DDX
+    private.
+    
+    Some DIX ScreenRecs don't have an xf86CrtcConfigPtr DDX private, but do have an
+    rrScrPrivPtr DDX private. Given that we can derive all of the information we
+    need from RandR, we can support these screens by avoiding the use of xf86Crtc.
+    This change implements an RandR-based path for ms_present_get_crtc(), allowing
+    drawables to successfully fall back to syncing to the primary output, even if
+    the slave doesn't have an xf86CrtcConfigPtr DDX private.
+    
+    Without this change, if a slave doesn't have an xf86CrtcConfigPtr DDX private,
+    drawables will fall back to 1 FPS if they overlap an output on that slave.
+    
+    Signed-off-by: Alex Goins <agoins%nvidia.com@localhost>
+    (cherry picked from commit 562c7888be538c4d043ec1f374a9d9afa0b305a4)
+
+commit aa43dce15f69624ce939bb69bafc3df5a9b78dbb
+Author: Alex Goins <agoins%nvidia.com@localhost>
+Date:   Tue Sep 17 18:03:34 2019 -0500
+
+    modesetting: Fix ms_covering_crtc() segfault with non-xf86Crtc slave
+    
+    DIX ScreenRecs don't necessarily have an xf86CrtcConfigPtr DDX private.
+    ms_covering_crtc() assumes that they do, which can result in a segfault.
+    
+    Update ms_covering_crtc() to check the XF86_CRTC_CONFIG_PTR() returned pointer
+    before dereferencing it. This will still mean that ms_covering_crtc() can't fall
+    back to the primary output when a drawable overlaps a slave output (going to the
+    1 FPS default instead), but it won't segfault.
+    
+    Signed-off-by: Alex Goins <agoins%nvidia.com@localhost>
+    (cherry picked from commit 797e7a0ceb673fe2870c673e248835526a84d000)
+
+commit 341a4787157c68597951727d5d11a2813a31ec7e
+Author: Alex Goins <agoins%nvidia.com@localhost>
+Date:   Wed Aug 28 18:24:16 2019 -0500
+
+    modesetting: Fix ms_covering_crtc() segfault with non-modesetting slave primary
+    
+    ms_covering_crtc() uses RRFirstOutput() to determine a primary output to fall
+    back to if a drawable is overlapping a slave output.
+    
+    If the primary output is a slave output, RRFirstOutput() will return a slave
+    output even if passed a master ScreenPtr. ms_covering_crtc() dereferences the
+    output's devPrivate, which is invalid for non-modesetting outputs, and can
+    crash.
+    
+    Changing RRFirstOutput() could have unintended side effects for other callers,
+    so this change replaces the call to RRFirstOutput() with ms_first_output().
+    ms_first_output() ignores the primary output if it doesn't match the given
+    ScreenPtr, choosing the first connected output instead.
+    
+    Signed-off-by: Alex Goins <agoins%nvidia.com@localhost>
+    (cherry picked from commit 3ef9029ace4245d9f8929aa71e22bc6a6f40b7b3)
+
+commit 2dd9dfc8d9a5dc906ee06d667a756ab267f55e64
+Author: Alex Goins <agoins%nvidia.com@localhost>
+Date:   Wed Sep 4 12:25:31 2019 -0500
+
+    randr: Fix RRCrtcDetachScanoutPixmap() segfault during server teardown
+    
+    During server teardown, mrootdraw is NULL, which can cause segfaults if
+    master->Stop{,Flipping}PixmapTracking() don't do NULL checking. In this case we
+    shouldn't need to do master->Stop{,Flipping}PixmapTracking() anyway, so just
+    skip it.
+    
+    Signed-off-by: Alex Goins <agoins%nvidia.com@localhost>
+    (cherry picked from commit c82f814313a813d7e1a2d7d3b1f7561810446b34)
+
+commit 642c1f83b9ed2452ceb20457a4423a8f52a7a8c4
+Author: Hans de Goede <hdegoede%redhat.com@localhost>
+Date:   Mon Nov 4 20:03:17 2019 +0100
+
+    glamor/xwayland: Define EGL_NO_X11
+    
+    Define EGL_NO_X11 everywhere were we also define MESA_EGL_NO_X11_HEADERS,
+    EGL_NO_X11 is the MESA_EGL_NO_X11_HEADERS equivalent for the egl headers
+    shipped with libglvnd.
+    
+    This fixes the xserver not building with the libglvnd-1.2.0 headers:
+    
+    In file included from /usr/include/EGL/eglplatform.h:128,
+                     from /usr/include/epoxy/egl_generated.h:11,
+                     from /usr/include/epoxy/egl.h:46,
+                     from glamor_priv.h:43,
+                     from glamor_composite_glyphs.c:25:
+    /usr/include/X11/Xlib.h:222:2: error: conflicting types for 'GC'
+      222 | *GC;
+          |  ^~
+    In file included from glamor.h:34,
+                     from glamor_priv.h:32,
+                     from glamor_composite_glyphs.c:25:
+    ../include/gcstruct.h:282:3: note: previous declaration of 'GC' was here
+      282 | } GC;
+          |   ^~
+    
+    Signed-off-by: Hans de Goede <hdegoede%redhat.com@localhost>
+    (cherry picked from commit 741bd73429e337071f49509ddcc5fb392e20b0f6)
+
+commit 2f55e8dc270fb65e8ff013c5e846a1a510c761e0
+Author: Adam Jackson <ajax%redhat.com@localhost>
+Date:   Wed Oct 9 16:03:17 2019 -0400
+
+    meson: Apparently 1.2 is < 1.2.0
+    
+    Siiiigh.
+    
+    (cherry picked from commit 3340ddf37743fdf197dfc16a97107435ff53c6e4)
+
+commit e16eb696f2238796827794d2d3b23f268cf4daf0
+Author: Adam Jackson <ajax%redhat.com@localhost>
+Date:   Wed Oct 9 15:17:47 2019 -0400
+
+    meson: Fix another reference to "gl" 9.2.0
+    
+    Previous commit e6ef2b12 missed a spot.
+    
+    (cherry picked from commit c7486613b0dc586f93f6ba293d9b55c69995b05c)
+
+commit a57729d3180ee4bc3ae012cfd03fe5188d858a83
+Author: Marvin Schmidt <marv%exherbo.org@localhost>
+Date:   Tue Sep 24 09:58:43 2019 +0200
+
+    build: glx: Lower gl version to work with libglvnd
+    
+    When using mesa with libglvnd support, mesa will no longer install the
+    gl, glx, egl pkg-config files but instead let libglvnd provide them.
+    libglvnd maintainers decided to change the versioning as it was



Home | Main Index | Thread Index | Old Index