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