[Xquartz-changes] [XQuartz/xorg-server] 28d885: xfree86: use the right option traversal list to se...

Jeremy Huddleston Sequoia jeremyhu at apple.com
Thu Jul 20 01:12:31 PDT 2017


  Branch: refs/heads/master
  Home:   https://github.com/XQuartz/xorg-server
  Commit: 28d8855cd4e3be8831fb1c17bf1d205bd8465d1e
      https://github.com/XQuartz/xorg-server/commit/28d8855cd4e3be8831fb1c17bf1d205bd8465d1e
  Author: Peter Hutterer <peter.hutterer at who-t.net>
  Date:   2016-10-26 (Wed, 26 Oct 2016)

  Changed paths:
    M hw/xfree86/common/xf86Xinput.c

  Log Message:
  -----------
  xfree86: use the right option traversal list to search for an option

They're identically laid-out structs but let's use the right type to search
for our desired value.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Hans de Goede <hdegoede at redhat.com>


  Commit: 8fcf2fa78f09257933b17e7dc9a03a2034e3076f
      https://github.com/XQuartz/xorg-server/commit/8fcf2fa78f09257933b17e7dc9a03a2034e3076f
  Author: Peter Hutterer <peter.hutterer at who-t.net>
  Date:   2016-10-26 (Wed, 26 Oct 2016)

  Changed paths:
    M hw/xfree86/common/xf86Xinput.c

  Log Message:
  -----------
  xfree86: swap the list of paused devices to an xorg_list

No functional changes but it makes it easier to remove elements from the
middle of the list (future patch).

We don't have an init call into this file, so the list is manually
initialized.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Hans de Goede <hdegoede at redhat.com>


  Commit: d13cb974426f7f1110b0bdb08c4ebb46ff8975f7
      https://github.com/XQuartz/xorg-server/commit/d13cb974426f7f1110b0bdb08c4ebb46ff8975f7
  Author: Peter Hutterer <peter.hutterer at who-t.net>
  Date:   2016-10-26 (Wed, 26 Oct 2016)

  Changed paths:
    M Xi/stubs.c
    M config/config.c
    M hw/dmx/dmxinput.c
    M hw/kdrive/src/kinput.c
    M hw/xfree86/common/xf86Xinput.c
    M hw/xquartz/darwinXinput.c
    M include/input.h

  Log Message:
  -----------
  ddx: add new call to purge input devices that weren't added

Special case for the systemd-logind case in xfree86: when we're vt-switched
away and a device is plugged in, we get a paused fd from logind. Since we
can't probe the device or do anything with it, we store that device in the
xfree86 and handle it later when we vt-switch back. The device is not added to
inputInfo.devices until that time.

When the device is removed while still vt-switched away, the the config system
never notifies the DDX. It only runs through inputInfo.devices and our device
was never added to that.

When a device is plugged in, removed, and plugged in again while vt-switched
away, we have two entries in the xfree86-specific list that refer to the same
device node, both pending for addition later. On VT switch back, the first one
(the already removed one) will be added successfully, the second one (the
still plugged-in one) fails. Since the fd is correct, the device works until
it is removed again. The removed devices' config_info (i.e. the syspath)
doesn't match the actual device we addded tough (the input number increases
with each plug), it doesn't get removed, the fd remains open and we lose track
of the fd count. Plugging the device in again leads to a dead device.

Fix this by adding a call to notify the DDX to purge any remainders of devices
with the given config_info, that's the only identifiable bit we have at this
point.

https://bugs.freedesktop.org/show_bug.cgi?id=97928

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Hans de Goede <hdegoede at redhat.com>


  Commit: 8fee6a917b6468e1b116d922f86484498874fb5c
      https://github.com/XQuartz/xorg-server/commit/8fee6a917b6468e1b116d922f86484498874fb5c
  Author: Mihail Konev <k.mvc at ya.ru>
  Date:   2016-10-26 (Wed, 26 Oct 2016)

  Changed paths:
    M configure.ac

  Log Message:
  -----------
  xwin: make glx optional again

Commit 501d8e2b removed --enable-aiglx, but made xwin always be
--enable-glx.

Signed-off-by: Mihail Konev <k.mvc at ya.ru>
Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Jon Turney <jon.turney at dronecode.org.uk>
Signed-off-by: Hans de Goede <hdegoede at redhat.com>


  Commit: f6ff2e974c5de3071c899eba828789f1d4d8645a
      https://github.com/XQuartz/xorg-server/commit/f6ff2e974c5de3071c899eba828789f1d4d8645a
  Author: Mihail Konev <k.mvc at ya.ru>
  Date:   2016-10-26 (Wed, 26 Oct 2016)

  Changed paths:
    M hw/xfree86/drivers/modesetting/driver.c

  Log Message:
  -----------
  modesetting: fix glamor ifdef

Add a missing ifdef needed for --disable-glamor.

Signed-off-by: Mihail Konev <k.mvc at ya.ru>
Reviewed-by: Jon Turney <jon.turney at dronecode.org.uk>
Signed-off-by: Hans de Goede <hdegoede at redhat.com>


  Commit: 7d91063aca4e4d326c294e246bc2dc36cb05318e
      https://github.com/XQuartz/xorg-server/commit/7d91063aca4e4d326c294e246bc2dc36cb05318e
  Author: Michel Dänzer <michel.daenzer at amd.com>
  Date:   2016-10-26 (Wed, 26 Oct 2016)

  Changed paths:
    M hw/xfree86/dri2/pci_ids/radeonsi_pci_ids.h

  Log Message:
  -----------
  DRI2: Sync radeonsi_pci_ids.h from Mesa

Fixes DRI2 client driver name mapping for newer AMD GPUs with the
modesetting driver, allowing the DRI2 extension to initialize.

Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Hans de Goede <hdegoede at redhat.com>


  Commit: 4aaeeda4774397dd6d80aa240ca623ae795ec5dc
      https://github.com/XQuartz/xorg-server/commit/4aaeeda4774397dd6d80aa240ca623ae795ec5dc
  Author: Hans de Goede <hdegoede at redhat.com>
  Date:   2016-10-26 (Wed, 26 Oct 2016)

  Changed paths:
    M hw/xfree86/xorg-wrapper.c

  Log Message:
  -----------
  xfree86: Xorg.wrap: Do not require root rights for cards with 0 outputs

Prior to this commit the Xorg.wrap code to detect if root rights are
necessary checked for DRM_IOCTL_MODE_GETRESOURCES succeeding *and*
reporting more then 0 output connectors.

DRM_IOCTL_MODE_GETRESOURCES succeeding alone is enough to differentiate
between old drm only cards (which need ums and thus root) and kms capable
cards.

Some hybrid gfx laptops have 0 output connectors on one of their 2 GPUs,
resulting in Xorg needlessly running as root. This commits removes the
res.count_connectors > 0 check, fixing this.

Signed-off-by: Hans de Goede <hdegoede at redhat.com>
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>


  Commit: f5c6d751d08c6de77c2ca49ba2a48f8023758cef
      https://github.com/XQuartz/xorg-server/commit/f5c6d751d08c6de77c2ca49ba2a48f8023758cef
  Author: Nikhil Mahale <nmahale at nvidia.com>
  Date:   2016-10-26 (Wed, 26 Oct 2016)

  Changed paths:
    M hw/xfree86/drivers/modesetting/drmmode_display.c

  Log Message:
  -----------
  modesetting: unifdef MODESETTING_OUTPUT_SLAVE_SUPPORT

Commit c7e8d4a6ee9542f56cd241cf7a960fb8223a6b22 had already unifdef
MODESETTING_OUTPUT_SLAVE_SUPPORT but commit
9257b1252da9092ddc676fec9aabe2b33dfad272 didn't notice that.

Signed-off-by: Nikhil Mahale <nmahale at nvidia.com>
Reviewed-by: Hans de Goede <hdegoede at redhat.com>
Signed-off-by: Hans de Goede <hdegoede at redhat.com>


  Commit: f68ba7b81ffe765380664fccc92f3e689c6c48c2
      https://github.com/XQuartz/xorg-server/commit/f68ba7b81ffe765380664fccc92f3e689c6c48c2
  Author: Rui Matos <tiagomatos at gmail.com>
  Date:   2016-10-26 (Wed, 26 Oct 2016)

  Changed paths:
    M hw/xwayland/xwayland-input.c

  Log Message:
  -----------
  xwayland: Transform pointer enter event coordinates

Pointer enter event coordinates are surface relative and we need them to
be screen relative for pScreen->SetCursorPosition().

https://bugzilla.gnome.org/show_bug.cgi?id=758283

Signed-off-by: Rui Matos <tiagomatos at gmail.com>
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
Signed-off-by: Hans de Goede <hdegoede at redhat.com>


  Commit: 007f8ee61a35ceda36b43e772a9a1074b8e27a06
      https://github.com/XQuartz/xorg-server/commit/007f8ee61a35ceda36b43e772a9a1074b8e27a06
  Author: Olivier Fourdan <ofourdan at redhat.com>
  Date:   2016-10-26 (Wed, 26 Oct 2016)

  Changed paths:
    M hw/xwayland/xwayland-input.c

  Log Message:
  -----------
  xwayland: Activate and enable touch devices

On some random condition, a touch event may trigger a crash in Xwayland
in GetTouchEvents().

The (simplified) backtrace goes as follow:

 (gdb) bt
 #0  GetTouchEvents() at getevents.c:1892
 #1  QueueTouchEvents() at getevents.c:1866
 #2  xwl_touch_send_event() at xwayland-input.c:652
 #5  wl_closure_invoke() from libwayland-client.so.0
 #6  dispatch_event() from libwayland-client.so.0
 #7  wl_display_dispatch_queue_pending() from libwayland-client.so.0
 #8  xwl_read_events() at xwayland.c:483
 #9  ospoll_wait() at ospoll.c:412
 #10 WaitForSomething() at WaitFor.c:222
 #11 Dispatch() at dispatch.c:412
 #12 dix_main() at main.c:287
 #13 __libc_start_main() at libc-start.c:289
 #14 _start ()

The crash occurs when trying to access the sprite associated with the
touch device, which appears to be NULL. Reason being the device itself
is more a keyboard device than a touch device.

Moreover, it appears the device is neither enabled nor activated
(inited=0, enabled=0) which doesn't seem right, but matches the code in
init_touch() from xwayland-input.c which would enable the device if it
was previously existing and otherwise would create the device but not
activate it.

Make sure we do activate and enable touch devices just like we do for
other input devices such as keyboard and pointer.

Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
Reviewed-by: Hans de Goede <hdegoede at redhat.com>


  Commit: 5cb328338684d8e5b03913c47475bfcd7acffec4
      https://github.com/XQuartz/xorg-server/commit/5cb328338684d8e5b03913c47475bfcd7acffec4
  Author: Peter Hutterer <peter.hutterer at who-t.net>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

  Changed paths:
    M os/inputthread.c

  Log Message:
  -----------
  inputthread: On Linux leave the main thread's name as-is

On Linux, setting the main thread's name changes the program name
(/proc/self/comm). Setting it to MainThread breaks scripts that rely on
the command name, e.g. ps -C Xorg.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Hans de Goede <hdegoede at redhat.com>


  Commit: 03d99ef729178dd99268f185fb45320a29382091
      https://github.com/XQuartz/xorg-server/commit/03d99ef729178dd99268f185fb45320a29382091
  Author: Jon Turney <jon.turney at dronecode.org.uk>
  Date:   2016-10-27 (Thu, 27 Oct 2016)

  Changed paths:
    M glx/Makefile.am
    M hw/xfree86/dixmods/Makefile.am

  Log Message:
  -----------
  glx/dri2: Don't build DRI loader if DRI2 isn't enabled

This partially reverts 501d8e2b.

Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>
Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>


  Commit: cba5a10fd93310702cad9dbe1e6d48da99f5552f
      https://github.com/XQuartz/xorg-server/commit/cba5a10fd93310702cad9dbe1e6d48da99f5552f
  Author: Alex Goins <agoins at nvidia.com>
  Date:   2016-10-28 (Fri, 28 Oct 2016)

  Changed paths:
    M hw/xfree86/ramdac/xf86HWCurs.c

  Log Message:
  -----------
  ramdac: Check sPriv != NULL in xf86CheckHWCursor()

xf86CheckHWCursor() would dereference sPriv without NULL checking it. If Option
"SWCursor" is specified, sPriv == NULL. In this case we should assume that HW
cursors are not supported.

Signed-off-by: Alex Goins <agoins at nvidia.com>
Reviewed-by: Andy Ritger <aritger at nvidia.com>
Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 2c91f3235a4e1655e18cb014922529161051ffbb
      https://github.com/XQuartz/xorg-server/commit/2c91f3235a4e1655e18cb014922529161051ffbb
  Author: Keith Packard <keithp at keithp.com>
  Date:   2016-10-28 (Fri, 28 Oct 2016)

  Changed paths:
    M hw/kdrive/ephyr/hostx.c

  Log Message:
  -----------
  ephyr: Leave window unmapped for -glamor-skip-present [v2]

If we're never painting anything in the window, we probably don't need
to map it.

v2: Drop ephyr_glamor_gles2 from hostx.c

Signed-off-by: Keith Packard <keithp at keithp.com>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: 9ed5b263542e5245317927828f0515db6c0a54c8
      https://github.com/XQuartz/xorg-server/commit/9ed5b263542e5245317927828f0515db6c0a54c8
  Author: Keith Packard <keithp at keithp.com>
  Date:   2016-10-28 (Fri, 28 Oct 2016)

  Changed paths:
    M os/WaitFor.c

  Log Message:
  -----------
  os: Recompute whether any clients are ready after ProcessWorkQueue() (bug 98030)

If a work proc wakes up a sleeping client and it is ready to execute,
we need to re-compute the local 'are_ready' value before deciding
what timeout value to use in WaitForSomething.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98030
Signed-off-by: Keith Packard <keithp at keithp.com>
Reviewed-by: Hans de Goede <hdegoede at redhat.com>


  Commit: 356db2340f5b473a7191c7969586ca5b0396c48f
      https://github.com/XQuartz/xorg-server/commit/356db2340f5b473a7191c7969586ca5b0396c48f
  Author: Keith Packard <keithp at keithp.com>
  Date:   2016-10-28 (Fri, 28 Oct 2016)

  Changed paths:
    M glx/Makefile.am
    M hw/xfree86/dixmods/Makefile.am

  Log Message:
  -----------
  Merge remote-tracking branch 'jturney/master'


  Commit: c85f81825e196e96337347e0ce3a538fb2e38f16
      https://github.com/XQuartz/xorg-server/commit/c85f81825e196e96337347e0ce3a538fb2e38f16
  Author: Keith Packard <keithp at keithp.com>
  Date:   2016-10-28 (Fri, 28 Oct 2016)

  Changed paths:
    M dix/resource.c

  Log Message:
  -----------
  dix: Bump MAXHASHSIZE for the resource db [v2]

[This was originally a workaround for a client-side resource leak:

http://lists.freedesktop.org/archives/xorg-devel/2012-November/034555.html

Obviously that's a broken app, but the performance problem it
illustrates - that walking the linked list ends up burning all your CPU
time - is real enough. - ajax]

v2: Replace with a shorter code sequence which computes the same
    results for all but numBits == 7

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 512e75a23b7f6339593c3ae6942f0c420a975fd3
      https://github.com/XQuartz/xorg-server/commit/512e75a23b7f6339593c3ae6942f0c420a975fd3
  Author: Keith Packard <keithp at keithp.com>
  Date:   2016-10-28 (Fri, 28 Oct 2016)

  Changed paths:
    M configure.ac

  Log Message:
  -----------
  Bump to 1.18.99.902 (1.19 RC2)

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 4cfee398726adf89db4b632ade7d6cab8b78282e
      https://github.com/XQuartz/xorg-server/commit/4cfee398726adf89db4b632ade7d6cab8b78282e
  Author: Ian Ray <ian.ray at ge.com>
  Date:   2016-11-01 (Tue, 01 Nov 2016)

  Changed paths:
    M hw/xwayland/xwayland-shm.c

  Log Message:
  -----------
  xwayland-shm: block signals during fallocate

posix_fallocate() does an explicit rollback if it gets EINTR, and
this is a problem on slow systems because when the allocation size
is sufficiently large posix_fallocate() will always be interrupted
by the smart scheduler's SIGALRM.

Changes since v1 - big comment in the code to explain what is going on

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Ian Ray <ian.ray at ge.com>
Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Acked-by: Daniel Stone <daniels at collabora.com>


  Commit: 7513da40a656317ad3aa101651d29373de99c798
      https://github.com/XQuartz/xorg-server/commit/7513da40a656317ad3aa101651d29373de99c798
  Author: Timo Aaltonen <tjaalton at ubuntu.com>
  Date:   2016-11-02 (Wed, 02 Nov 2016)

  Changed paths:
    M hw/xfree86/dri2/pci_ids/i965_pci_ids.h

  Log Message:
  -----------
  dri2: Sync i965_pci_ids.h from mesa

Import changes from these mesa commits:
85ea8deb26da420 i965: Removing PCI IDs that are no longer listed as Kabylake.
bdff2e554735ed9 i956: Add more Kabylake PCI IDs.
f1fa8b4a1ca73fa i965/bxt: Add 2x6 variant
d1ab544bb883d04 i965/chv: Display proper branding
20e8ee36627f874 i965/skl: Update Skylake renderer strings
644c8a515192d28 i965/skl: Add two missing device IDs

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Timo Aaltonen <tjaalton at ubuntu.com>


  Commit: ea8efb3a997e15d27d362762e6c85d59487f9864
      https://github.com/XQuartz/xorg-server/commit/ea8efb3a997e15d27d362762e6c85d59487f9864
  Author: Keith Packard <keithp at keithp.com>
  Date:   2016-11-15 (Tue, 15 Nov 2016)

  Changed paths:
    M dix/dispatch.c
    M include/dixstruct.h

  Log Message:
  -----------
  dix: Make sure client is not in output_pending chain after closed (RH 1382444)

I think it is possible that output could get queued to a client during
CloseDownClient. After it is removed from the pending queue, active
grabs are released, the client is awoken if sleeping and any work
queue entries related to the client are processed.

To fix this, move the call removing it from the output_pending chain
until after clientGone has been set and then check clientGone in
output_pending_mark.

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1382444
Signed-off-by: Keith Packard <keithp at keithp.com>
Reviewed-by: Hans de Goede <hdegoede at redhat.com>


  Commit: 7e5c9bdf73e4185ac4cf7f044da0793a5cc3e62c
      https://github.com/XQuartz/xorg-server/commit/7e5c9bdf73e4185ac4cf7f044da0793a5cc3e62c
  Author: Keith Packard <keithp at keithp.com>
  Date:   2016-11-15 (Tue, 15 Nov 2016)

  Changed paths:
    M configure.ac

  Log Message:
  -----------
  Bump version to 1.19.0

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 45af7fcb522464922831005d63cc362dc09f19a9
      https://github.com/XQuartz/xorg-server/commit/45af7fcb522464922831005d63cc362dc09f19a9
  Author: Olivier Fourdan <ofourdan at redhat.com>
  Date:   2016-11-18 (Fri, 18 Nov 2016)

  Changed paths:
    M hw/xwayland/xwayland-input.c

  Log Message:
  -----------
  xwayland: Remove MIPOINTER() definition

Not needed anymore now that mipointer exposes an API for that,
miPointerInvalidateSprite()

Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: f0f8d5bb535814d5803df541b0ef4cb0354fabbe
      https://github.com/XQuartz/xorg-server/commit/f0f8d5bb535814d5803df541b0ef4cb0354fabbe
  Author: Keith Packard <keithp at keithp.com>
  Date:   2016-11-18 (Fri, 18 Nov 2016)

  Changed paths:
    M configure.ac

  Log Message:
  -----------
  Bump to post-1.19 development version

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: cf8860786c3e301486cd2853bc82977ba75e6b17
      https://github.com/XQuartz/xorg-server/commit/cf8860786c3e301486cd2853bc82977ba75e6b17
  Author: Rhys Kidd <rhyskidd at gmail.com>
  Date:   2016-11-19 (Sat, 19 Nov 2016)

  Changed paths:
    M test/Makefile.am

  Log Message:
  -----------
  test: Fix stray Makefile reference to removed os test

Fixes the following warning:

test/Makefile.am:69: warning: variable 'os_LDADD' is defined but no program or
test/Makefile.am:69: library has 'os' as canonical name (possible typo)

Introduced upon the removal of test/os in:

commit 6a5a4e60373c1386b311b2a8bb666c32d68a9d99
Author: Keith Packard <keithp at keithp.com>
Date:   Tue Dec 8 14:39:46 2015 -0800

    Remove SIGIO support for input [v5]

    This removes all of the SIGIO handling support used for input
    throughout the X server, preparing the way for using threads for input
    handling instead.

    Places calling OsBlockSIGIO and OsReleaseSIGIO are marked with calls
    to stub functions input_lock/input_unlock so that we don't lose this
    information.

    xfree86 SIGIO support is reworked to use internal versions of
    OsBlockSIGIO and OsReleaseSIGIO.

    v2: Don't change locking order (Peter Hutterer)
    v3: Comment weird && FALSE in xf86Helper.c
  Leave errno save/restore in xf86ReadInput
  Squash with stub adding patch (Peter Hutterer)
    v4: Leave UseSIGIO config parameter so that
  existing config files don't break (Peter Hutterer)
    v5: Split a couple of independent patch bits out
  of kinput.c (Peter Hutterer)

    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>

Signed-off-by: Rhys Kidd <rhyskidd at gmail.com>
Reviewed-by: Keith Packard <keithp at keithp.com>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 2de37eb71b928f6f50c109536c2f7b77293ad8e3
      https://github.com/XQuartz/xorg-server/commit/2de37eb71b928f6f50c109536c2f7b77293ad8e3
  Author: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
  Date:   2016-11-25 (Fri, 25 Nov 2016)

  Changed paths:
    M hw/xwayland/xwayland-input.c
    M hw/xwayland/xwayland-output.c
    M hw/xwayland/xwayland.c

  Log Message:
  -----------
  xwayland: fix order of calloc() args

The definition by the manual is:
	calloc(size_t nmemb, size_t size)

Swap the arguments of calloc() calls to be the right way around.

Presumably this makes no functional difference, but better follow the
spec.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 5611585b87ce48428a66f98ece319a083f55d205
      https://github.com/XQuartz/xorg-server/commit/5611585b87ce48428a66f98ece319a083f55d205
  Author: Rui Matos <tiagomatos at gmail.com>
  Date:   2016-11-29 (Tue, 29 Nov 2016)

  Changed paths:
    M Xi/exevents.c
    M dix/getevents.c
    M hw/xwayland/xwayland-input.c

  Log Message:
  -----------
  xwayland: Don't send KeyRelease events on wl_keyboard::leave

Commits 816015648ffe660ddaa0f7d4d192e555b723c372 and
fee0827a9a695600765f3d04376fc9babe497401 made it so that
wl_keyboard::enter doesn't result in X clients getting KeyPress events
while still updating our internal xkb state to be in sync with the
host compositor.

wl_keyboard::leave needs to be handled in the same way as its
semantics from an X client POV should be the same as an X grab getting
triggered, i.e. X clients shouldn't get KeyRelease events for keys
that are still down at that point.

This patch uses LeaveNotify for these events on wl_keyboard::leave and
changes the current use of KeymapNotify to EnterNotify instead just to
keep some symmetry between both cases.

On ProcessDeviceEvent() we still need to deactivate X grabs if needed
for KeyReleases.

Signed-off-by: Rui Matos <tiagomatos at gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: d6a6e1d6abb110ff00ad31b94cd29d92ca7c71a5
      https://github.com/XQuartz/xorg-server/commit/d6a6e1d6abb110ff00ad31b94cd29d92ca7c71a5
  Author: Peter Hutterer <peter.hutterer at who-t.net>
  Date:   2016-11-30 (Wed, 30 Nov 2016)

  Changed paths:
    M Xi/xichangehierarchy.c

  Log Message:
  -----------
  Xi: when creating a new master device, update barries for all clients

The previous code only worked when the barrier was created by the same client
as the one calling XIChangeDeviceHierarchy.

http://bugzilla.redhat.com/show_bug.cgi?id=1384432

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Daniel Stone <daniels at collabora.com>


  Commit: f43207c1c4a8487600cf3ea116c10437417c861b
      https://github.com/XQuartz/xorg-server/commit/f43207c1c4a8487600cf3ea116c10437417c861b
  Author: Olivier Fourdan <ofourdan at redhat.com>
  Date:   2016-11-30 (Wed, 30 Nov 2016)

  Changed paths:
    M glamor/glamor.c

  Log Message:
  -----------
  glamor: restore vfunc handlers on init failure

In glamor_init(), if the minimum requirements are not met, glamor may
fail after setting up its own CloseScreen() and DestroyPixmap()
routines, leading to a crash when either of the two routines is called
if glamor failed to complete its initialization, e.g:

  (EE) Backtrace:
  (EE) 0:  Xwayland (OsSigHandler+0x29)
  (EE) 1: /lib64/libpthread.so.0 (__restore_rt+0x0)
  (EE) 2: Xwayland (glamor_sync_close+0x2a)
  (EE) 3: Xwayland (glamor_close_screen+0x52)
  (EE) 4: Xwayland (CursorCloseScreen+0x88)
  (EE) 5: Xwayland (AnimCurCloseScreen+0xa4)
  (EE) 6: Xwayland (present_close_screen+0x42)
  (EE) 7: Xwayland (dix_main+0x4f9)
  (EE) 8: /lib64/libc.so.6 (__libc_start_main+0xf1)
  (EE) 9:  Xwayland (_start+0x2a)

Restore the previous CloseScreen() and DestroyPixmap() vfunc handlers in
case of failure when checking for the minimum requirements, so that if
any of the requirement is not met we don't leave the CloseScreen() and
DestroyPixmap() from glamor handlers in place.

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1390018

Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
Reviewed-by: Hans de Goede <hdegoede at redhat.com>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: 59ad0e6a416d8e23f9d962af67a16ee28ec7867b
      https://github.com/XQuartz/xorg-server/commit/59ad0e6a416d8e23f9d962af67a16ee28ec7867b
  Author: Olivier Fourdan <ofourdan at redhat.com>
  Date:   2016-11-30 (Wed, 30 Nov 2016)

  Changed paths:
    M hw/xwayland/xwayland-input.c

  Log Message:
  -----------
  xwayland: Fix use after free of cursors

Sometimes, Xwayland will try to use a cursor that has just been freed,
leading to a crash when trying to access that cursor data either in
miPointerUpdateSprite() or AnimCurTimerNotify().

CheckMotion() updates the pointer's cursor based on which xwindow
XYToWindow() returns, and Xwayland implements its own xwl_xy_to_window()
to fake a crossing to the root window when the pointer has left the
Wayland surface but is still within the xwindow.

But after an xwindow is unrealized, the last xwindow used to match the
xwindows is cleared so two consecutive calls to xwl_xy_to_window() may
not return the same xwindow.

To avoid this issue, update the last_xwindow based on enter and leave
notifications instead of xwl_xy_to_window(), and check if the xwindow
found by the regular miXYToWindow() is a child of the known last
xwindow, so that multiple consecutive calls to xwl_xy_to_window()
return the same xwindow, being either the one found by miXYToWindow()
or the root window.

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1385258
Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
Tested-by: Vít Ondruch <vondruch at redhat.com>
Tested-by: Satish Balay <balay at fastmail.fm>
Reviewed-by: Jonas Ådahl <jadahl at gmail.com>


  Commit: e1d30075c923f96a375895d74ea12a3c92a640c6
      https://github.com/XQuartz/xorg-server/commit/e1d30075c923f96a375895d74ea12a3c92a640c6
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2016-11-30 (Wed, 30 Nov 2016)

  Changed paths:
    M configure.ac

  Log Message:
  -----------
  configure: Enable glamor when building just Xwayland

Signed-off-by: Adam Jackson <ajax at redhat.com>
Acked-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Tested-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: 3b624aa9a9df86dc7d48149e0f18ca223b4355f1
      https://github.com/XQuartz/xorg-server/commit/3b624aa9a9df86dc7d48149e0f18ca223b4355f1
  Author: Hans de Goede <hdegoede at redhat.com>
  Date:   2016-12-05 (Mon, 05 Dec 2016)

  Changed paths:
    M randr/rrcrtc.c

  Log Message:
  -----------
  randr: rrCheckPixmapBounding: Do not substract crtc non 0 x,y from screen size

The purpose of rrCheckPixmapBounding is to make sure that the
screen_pixmap is large enough for the slave-output which crtc is
being configured.

This should include crtc->x and crtc->y, otherwise the crtc might
still end up scanning out an area outside of the screen-pixmap.

For example: Take a laptop with an external monitor on a slave-output at
1920x1080+0+0 and its internal-screen at 3840x2160+1920+0 and in
gnome-settings-daemon move the external monitor to be on the ri ght of
the internal screen rather then on the left. First g-s-d will do a
RRSetScreenSize to 5760*2160 (which is a nop), then it calls RRSetCrtc
to move the slave output to 1920x1080+3840+0, since this is a slave
output, rrCheckPixmapBounding gets called, since the 2 crtcs now overlap
the code before this commit would shrinks the screen_pixmap to 3180*2160.
Then g-s-d calls RRSetCrtc to move the internal screen to 3180*2160+0+0.

And we end up with the slave-output configured to scan-out an area
which completely falls outside of the screen-pixmap (and end up with
a black display on the external monitor).

This commit fixes this by not substracting the x1 and y1 coordinates
of the union-ed region when determining the new screen_pixmap size.

Cc: Nikhil Mahale <nmahale at nvidia.com>
Cc: Dave Airlie <airlied at redhat.com>
Signed-off-by: Hans de Goede <hdegoede at redhat.com>
Reviewed-by: Dave Airlie <airlied at redhat.com>


  Commit: a46afee84d45fbff4e4dad9376afc95bbcc31d7c
      https://github.com/XQuartz/xorg-server/commit/a46afee84d45fbff4e4dad9376afc95bbcc31d7c
  Author: Hans de Goede <hdegoede at redhat.com>
  Date:   2016-12-05 (Mon, 05 Dec 2016)

  Changed paths:
    M randr/rrcrtc.c

  Log Message:
  -----------
  randr: rrCheckPixmapBounding: do not shrink the screen_pixmap

The purpose of rrCheckPixmapBounding is to make sure that the
screen_pixmap is *large* enough for the slave-output which crtc is
being configured.

However until now rrCheckPixmapBounding would also shrink the
screen_pixmap in certain scenarios leading to various problems.

For example: Take a laptop with its internalscreen on a slave-output and
currently disabled and an external monitor at 1920x1080+0+0.
Now lets say that we want to drive the external monitor at its native
resolution of 2560x1440 and have the internal screen mirror the top left
part of the external monitor, so we run:

  $ xrandr --output eDP --mode 1920x1080 --pos 0x0 --output HDMI \
  --mode 2560x1440 --pos 0x0

Here xrandr utility first calls RRSetScreenSize to 2560x1440, then it
calls RRSetCrtc 1920x1080+0+0 on the eDP, since this is a slave output,
rrCheckPixmapBounding gets called and resizes the screen_pixmap to
1920x1080, undoing the RRSetScreenSize. Then RRSetCrtc 2560x1440+0+0
gets called on the HDMI, depending on crtc->transforms this will
either result in a BadValue error from ProcRRSetCrtcConfig; or
it will succeed, but the monitor ends up running at 2560x1440
while showing a 1920x1080 screen_pixmap + black borders on the right
and bottom. Neither of which is what we want.

This commit removes the troublesome shrinking behavior, fixing this.

Note:

1) One could argue that this will leave us with a too large screen_pixmap
in some cases, but rrCheckPixmapBounding only gets called for slave
outputs, so xrandr clients already must manually shrink the screen_pixmap
after disabling crtcs in normal setups.

2) An alternative approach would be to also call rrCheckPixmapBounding
on RRSetCrtc on normal (non-slave) outputs, but that would result in
2 unnecessary resizes of the screen_pixmap in the above example, which
seems undesirable.

Cc: Nikhil Mahale <nmahale at nvidia.com>
Cc: Dave Airlie <airlied at redhat.com>
Signed-off-by: Hans de Goede <hdegoede at redhat.com>
Reviewed-by: Dave Airlie <airlied at redhat.com>


  Commit: b72d161cad15bec9dd082d30521c5383be526c56
      https://github.com/XQuartz/xorg-server/commit/b72d161cad15bec9dd082d30521c5383be526c56
  Author: Hans de Goede <hdegoede at redhat.com>
  Date:   2016-12-05 (Mon, 05 Dec 2016)

  Changed paths:
    M hw/xfree86/common/xf86Bus.c

  Log Message:
  -----------
  xfree86: Remove redundant ServerIsNotSeat0 check from xf86CallDriverProbe

If foundScreen is TRUE, then all the code below the removed if
will not execute until we reach the return foundScreen; at the
end, so this entire if block is redundant.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Hans de Goede <hdegoede at redhat.com>


  Commit: 7121b03d324fccf687d49b63c53da7c8d93038c9
      https://github.com/XQuartz/xorg-server/commit/7121b03d324fccf687d49b63c53da7c8d93038c9
  Author: Hans de Goede <hdegoede at redhat.com>
  Date:   2016-12-05 (Mon, 05 Dec 2016)

  Changed paths:
    M hw/xfree86/common/xf86Bus.c
    M hw/xfree86/common/xf86platformBus.c
    M hw/xfree86/common/xf86platformBus.h

  Log Message:
  -----------
  xfree86: Make adding unclaimed devices as GPU devices a separate step

This is primarily a preparation patch for fixing the xserver exiting with
a "no screens found" error even though there are supported video cards,
due to the server not recognizing any card as the primary card.

This also fixes the (mostly theoretical) case of a platformBus capable
driver adding a device as GPUscreen before a driver which only supports
the old PCI probe method gets a chance to claim it as a normal screen.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Hans de Goede <hdegoede at redhat.com>


  Commit: 75c4f6e412e07c5d416fa9ad8d7defd972d2baa9
      https://github.com/XQuartz/xorg-server/commit/75c4f6e412e07c5d416fa9ad8d7defd972d2baa9
  Author: Hans de Goede <hdegoede at redhat.com>
  Date:   2016-12-05 (Mon, 05 Dec 2016)

  Changed paths:
    M hw/xfree86/common/xf86.h
    M hw/xfree86/common/xf86Bus.c
    M hw/xfree86/common/xf86Globals.c
    M hw/xfree86/common/xf86pciBus.c
    M hw/xfree86/common/xf86platformBus.c

  Log Message:
  -----------
  xfree86: Try harder to find atleast 1 non GPU Screen

If we did not find any non GPU Screens, try again ignoring the notion
of any video devices being the primary device. This fixes Xorg exiting
with a "no screens found" error when using virtio-vga in a
virtual-machine and when using a device driven by simpledrm.

This is a somewhat ugly solution, but it is the best I can come up with
without major surgery to the bus and probe code.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Hans de Goede <hdegoede at redhat.com>


  Commit: f31875510d818ba517f082e124adb294db906e51
      https://github.com/XQuartz/xorg-server/commit/f31875510d818ba517f082e124adb294db906e51
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2016-12-07 (Wed, 07 Dec 2016)

  Changed paths:
    M composite/compalloc.c
    M composite/compint.h
    M composite/compwindow.c

  Log Message:
  -----------
  composite: Fix repaint of borders (v2)

When going from border width zero to a non-zero border width, the
Composite extension is informed via the ConfigNotify callback. The
call-chain looks like this: compConfigNotify -> compReallocPixmap ->
compSetPixmap -> TraverseTree -> compSetPixmapVisitWindow. However, at
this time, pWindow->borderWidth was not yet updated. Thus, HasBorder()
is false and the window border will not be repainted.

To fix this, thread the new bw through to the window visitor, and
inspect that rather than HasBorder(). For the other callers of
compSetPixmap the border does not change size, so we can pass
pWin->borderWidth instead.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98499
Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: b365c5d16894a259dbf29db4ca2640d8ed768063
      https://github.com/XQuartz/xorg-server/commit/b365c5d16894a259dbf29db4ca2640d8ed768063
  Author: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
  Date:   2016-12-07 (Wed, 07 Dec 2016)

  Changed paths:
    M test/Makefile.am

  Log Message:
  -----------
  test: fix distributing scripts

Fix the following error on 'make distcheck':

make[6]: *** No rule to make target 'scripts/xvfb-piglit.sh', needed by 'scripts/xvfb-piglit.sh.log'.  Stop.
make[6]: Leaving directory '/home/pq/git/xserver/xorg-server-1.19.99.1/_build/sub/test'
Makefile:1367: recipe for target 'check-TESTS' failed

The setup to trigger this is:
  $ ./configure --prefix=/home/pq/local --disable-docs
  --disable-devel-docs --enable-xwayland --disable-xorg --disable-xvfb
  --disable-xnest --disable-xquartz --disable-xwin --enable-debug

SCRIPT_TESTS is populated conditionally, but we should distribute the
scripts in any case.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>


  Commit: 8b335d9068fe4e1f1423a4d86c22b69ffcb819a5
      https://github.com/XQuartz/xorg-server/commit/8b335d9068fe4e1f1423a4d86c22b69ffcb819a5
  Author: Ben Crocker <bcrocker at redhat.com>
  Date:   2016-12-07 (Wed, 07 Dec 2016)

  Changed paths:
    M hw/xfree86/common/xf86AutoConfig.c
    M hw/xfree86/parser/read.c
    M hw/xfree86/parser/xf86Parser.h

  Log Message:
  -----------
  Fix a segfault that occurs if xorg.conf.d is absent:

In InitOutput, if xf86HandleConfigFile returns CONFIG_NOFILE
(which it does if no config file or directory is present), the
autoconfig flag is set, causing xf86AutoConfig to be called
later on.

xf86AutoConfig calls xf86OutputClassDriverList via the
call tree:

xf86AutoConfig =>
  listPossibleVideoDrivers =>
    xf86PlatformMatchDriver =>
      xf86OutputClassDriverList

and xf86OutputClassDriverList attempts to traverse a linked list
that is a member of the XF86ConfigRec struct pointed to by the
global xf86configptr, which is NULL at this point because the
XF86ConfigRec struct is only allocated (by xf86readConfigFile)
AFTER the config file and directory have been successfully
opened; the CONFIG_NOFILE return from xf86HandleConfigFile
occurs BEFORE the call to xf86readConfigFile which allocates
the XF86ConfigRec struct.

Rx: In read.c (for symmetry with xf86freeConfig, which already
appears in this file), add a new function xf86allocateConfig
which tests the value of xf86configptr and, if it's NULL,
allocates the XF86ConfigRec struct and deposits the pointer
in xf86configptr.  In xf86Parser.h, add a prototype for the
new xf86allocateConfig function.

Back in read.c, #include "xf86Config.h".  In xf86readConfigFile,
change the open-code call to calloc to a call to the new
xf86allocateConfig function.

In xf86AutoConfig.c, add a call to the new xf86allocateConfig function
to the beginning of xf86AutoConfig to make sure the XF86ConfigRec struct
is allocated.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Ben Crocker <bcrocker at redhat.com>


  Commit: e900a00f8dc5a1db63bafddd4ad1cde744975db1
      https://github.com/XQuartz/xorg-server/commit/e900a00f8dc5a1db63bafddd4ad1cde744975db1
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2016-12-12 (Mon, 12 Dec 2016)

  Changed paths:
    M dix/gc.c
    M hw/dmx/dmxextension.c
    M hw/xnest/Screen.c
    M include/scrnintstr.h

  Log Message:
  -----------
  dix: Rename (and retype) PixmapPerDepth[1] to defaultStipple

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: 98caba9f5669291e84f8610cc3071a9ac2df205f
      https://github.com/XQuartz/xorg-server/commit/98caba9f5669291e84f8610cc3071a9ac2df205f
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2016-12-12 (Mon, 12 Dec 2016)

  Changed paths:
    M dix/gc.c

  Log Message:
  -----------
  dix: Clear graphicsExposures for scratch GCs in one place

... instead of in all the CreateScratchGC callers.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: 2b486f052d8a7d3bada9eb2615aa19d79e999cbe
      https://github.com/XQuartz/xorg-server/commit/2b486f052d8a7d3bada9eb2615aa19d79e999cbe
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2016-12-12 (Mon, 12 Dec 2016)

  Changed paths:
    M hw/xfree86/shadowfb/Makefile.am
    R hw/xfree86/shadowfb/shadow.c
    A hw/xfree86/shadowfb/shadowfb.c

  Log Message:
  -----------
  shadowfb: Rename this particular shadow.c to shadowfb.c

So as not to conflict with the one in miext/shadow.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: 1ae09800863992cfb1d5d21c600e2bc29e3b6ab2
      https://github.com/XQuartz/xorg-server/commit/1ae09800863992cfb1d5d21c600e2bc29e3b6ab2
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2016-12-12 (Mon, 12 Dec 2016)

  Changed paths:
    M hw/xfree86/drivers/modesetting/Makefile.am
    M hw/xfree86/drivers/modesetting/driver.c
    R hw/xfree86/drivers/modesetting/sh3224.c
    R hw/xfree86/drivers/modesetting/sh3224.h
    M miext/shadow/Makefile.am
    A miext/shadow/sh3224.c
    M miext/shadow/shadow.h

  Log Message:
  -----------
  shadow: Lift 32->24 conversion from modesetting to dix

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: a530dc2a62349d922de77a75786a3795102aec11
      https://github.com/XQuartz/xorg-server/commit/a530dc2a62349d922de77a75786a3795102aec11
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2016-12-12 (Mon, 12 Dec 2016)

  Changed paths:
    M miext/shadow/shadow.h
    M miext/shadow/shpacked.c
    M miext/shadow/shplanar.c
    M miext/shadow/shrotate.c

  Log Message:
  -----------
  shadow: Remove indirection stubs

These are no longer used in the drivers.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: 8d985c1e696bf46edaea0021f03f6f613ce37860
      https://github.com/XQuartz/xorg-server/commit/8d985c1e696bf46edaea0021f03f6f613ce37860
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2016-12-12 (Mon, 12 Dec 2016)

  Changed paths:
    M hw/xwin/winshadddnl.c
    M hw/xwin/winshadgdi.c
    M miext/shadow/sh3224.c
    M miext/shadow/shadow.c
    M miext/shadow/shadow.h
    M miext/shadow/shafb4.c
    M miext/shadow/shafb8.c
    M miext/shadow/shiplan2p4.c
    M miext/shadow/shiplan2p8.c
    M miext/shadow/shpacked.c
    M miext/shadow/shplanar.c
    M miext/shadow/shplanar8.c
    M miext/shadow/shrotate.c
    M miext/shadow/shrotpack.h
    M miext/shadow/shrotpackYX.h

  Log Message:
  -----------
  shadow: Macro cleanup

shadowDamage is just obfuscation. The other two macros won't work
outside shadow.c since the private key is in fact static there (meaning
the extern decl is a lie).

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: 6dd65a6e9bd41237afe7615bea1cc9510e82781a
      https://github.com/XQuartz/xorg-server/commit/6dd65a6e9bd41237afe7615bea1cc9510e82781a
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2016-12-12 (Mon, 12 Dec 2016)

  Changed paths:
    M miext/shadow/Makefile.am
    M miext/shadow/shadow.h
    R miext/shadow/shalloc.c

  Log Message:
  -----------
  shadow: Remove unused shadowAlloc

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: 32e632e85894eddc3ace83f16f1e973b1be478fe
      https://github.com/XQuartz/xorg-server/commit/32e632e85894eddc3ace83f16f1e973b1be478fe
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2016-12-13 (Tue, 13 Dec 2016)

  Changed paths:
    M miext/damage/damage.c

  Log Message:
  -----------
  Revert "damage: Make damageRegionProcessPending take a damage not a drawable"

The commit message makes the assertion that the code below damage is not
allowed to change whether there's a damage monitor for the drawable.
That turns out not to be the case! exa's mixed code, at least, will
create and destroy a damage in PrepareAccess. The destroy path can then
be catastrophic, as damageRegionProcessPending will attempt to
RegionEmpty memory from the middle of a freed block.

I'd wanted that invariant for performance, but faster isn't worth
broken, so revert it. I think what exa's doing is reasonable, so the
better way to improve performance for the unmonitored case is to either
revisit dynamically wrapping into the GC, or inline damage into dix.

This reverts commit 4e124203f2260daaf54155f4a05fe469733e0b97.

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1389886
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: c57c1e53ea3d76ebba5b2a23b7260817d3e6b921
      https://github.com/XQuartz/xorg-server/commit/c57c1e53ea3d76ebba5b2a23b7260817d3e6b921
  Author: Hans De Goede <hdegoede at redhat.com>
  Date:   2016-12-14 (Wed, 14 Dec 2016)

  Changed paths:
    M hw/xfree86/common/xf86platformBus.c

  Log Message:
  -----------
  xfree86: Free devlist returned by xf86MatchDevice

xf86MatchDevice returns a dynamically allocated list of GDevPtr-s,
free this when we're done with it.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Hans de Goede <hdegoede at redhat.com>


  Commit: 08b84d72878e43401e99059c3c926dfa42a360c3
      https://github.com/XQuartz/xorg-server/commit/08b84d72878e43401e99059c3c926dfa42a360c3
  Author: Hans De Goede <hdegoede at redhat.com>
  Date:   2016-12-14 (Wed, 14 Dec 2016)

  Changed paths:
    M hw/xfree86/common/xf86platformBus.c

  Log Message:
  -----------
  xfree86: Make OutputClassMatches take a xf86_platform_device

Make OutputClassMatches directly take a xf86_platform_device as argument,
rather then an index into xf86_platform_devices. This makes things
easier for callers which already have a xf86_platform_device pointer.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Hans de Goede <hdegoede at redhat.com>


  Commit: 9cd3cc75269d9196898487b5712ee47b8291e077
      https://github.com/XQuartz/xorg-server/commit/9cd3cc75269d9196898487b5712ee47b8291e077
  Author: Hans De Goede <hdegoede at redhat.com>
  Date:   2016-12-14 (Wed, 14 Dec 2016)

  Changed paths:
    M hw/xfree86/common/xf86Option.c
    M hw/xfree86/common/xf86platformBus.c
    M hw/xfree86/common/xf86platformBus.h
    M hw/xfree86/man/xorg.conf.man
    M hw/xfree86/parser/OutputClass.c
    M hw/xfree86/parser/xf86Parser.h

  Log Message:
  -----------
  xfree86: Add options support for OutputClass Options

Add support for setting options in OutputClass Sections and having these
applied to any matching output devices.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Hans de Goede <hdegoede at redhat.com>


  Commit: ab1a65b7755d081b41188104b21f4d21eaa3187b
      https://github.com/XQuartz/xorg-server/commit/ab1a65b7755d081b41188104b21f4d21eaa3187b
  Author: Hans De Goede <hdegoede at redhat.com>
  Date:   2016-12-14 (Wed, 14 Dec 2016)

  Changed paths:
    M hw/xfree86/common/xf86platformBus.c

  Log Message:
  -----------
  xfree86: xf86platformProbe: split finding pci-info and setting primary GPU

This is a preparation patch for allowing an OutputClass section to
override the default primary GPU device selection.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Hans de Goede <hdegoede at redhat.com>


  Commit: d75ffcdbf8c1e3c8e0d46debcd533a9f2560f0a8
      https://github.com/XQuartz/xorg-server/commit/d75ffcdbf8c1e3c8e0d46debcd533a9f2560f0a8
  Author: Hans De Goede <hdegoede at redhat.com>
  Date:   2016-12-14 (Wed, 14 Dec 2016)

  Changed paths:
    M hw/xfree86/common/xf86platformBus.c
    M hw/xfree86/man/xorg.conf.man

  Log Message:
  -----------
  xfree86: Allow overriding primary GPU detection from an OutputClass section

Allow using:

Option "PrimaryGPU" "yes"

In an OutputClass section to override the default primary GPU device
selection which selects the GPU used as output by the firmware.

If multiple output devices match an OutputClass section with
the PrimaryGPU option set, the first one enumerated becomes the
primary GPU.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Hans de Goede <hdegoede at redhat.com>


  Commit: b5dffbbac193aa640ffcfa0a431c21b862854e53
      https://github.com/XQuartz/xorg-server/commit/b5dffbbac193aa640ffcfa0a431c21b862854e53
  Author: Hans De Goede <hdegoede at redhat.com>
  Date:   2016-12-14 (Wed, 14 Dec 2016)

  Changed paths:
    M hw/xfree86/common/xf86platformBus.c
    M hw/xfree86/loader/loadmod.c
    M hw/xfree86/man/xorg.conf.man
    M hw/xfree86/parser/OutputClass.c
    M hw/xfree86/parser/xf86Parser.h

  Log Message:
  -----------
  xfree86: Add ModulePath support for OutputClass config Sections

Allow OutputClass config snippets to modify the module-path.

Note that any specified ModulePaths will be pre-pended to the normal
ModulePath. The idea behind this is that any output hardware specific
modules should have preference over the normal modules.

One use-case for this is the nvidia binary driver, this allows a
config snippet like this:

Section "OutputClass"
    MatchDriver "nvidia"
    Modulepath "/usr/lib64/nvidia/modules"
EndSection

To get the nvidia glx specific glx module loaded, but only when the
nvidia kernel driver is loaded.

Together with the glvnd work done recently, this allows the nouveau
+ mesa and nvidia-binary userspace stacks to co-exist on the same
system without any ldconfig / xorg.conf tweaking and the xserver will
automatically do the right thing depending on which kernel driver
(nouveau or nvidia) is loaded.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Hans de Goede <hdegoede at redhat.com>


  Commit: 5b74e260e009d8bdf26433724495802b85cce7c3
      https://github.com/XQuartz/xorg-server/commit/5b74e260e009d8bdf26433724495802b85cce7c3
  Author: Mihail Konev <k.mvc at ya.ru>
  Date:   2017-01-02 (Mon, 02 Jan 2017)

  Changed paths:
    M dix/Makefile.am
    M os/Makefile.am

  Log Message:
  -----------
  os,dix: Depend custom libs on libs, not objects

The custom os/os.O library reuses *.o files of os/libos.la.

The current rule assumes automake puts all the objects into per-target
am__*_la_OBJECTS variable.  At least with AC_REPLACE_FUNCS, this no
longer holds (as wanted objects are put into LTLIBOBJS instead).

Depend on automake's result, the *.la library instead, to express demand
of any its dependencies being built.

Should be fixing randomly occuring "undefined reference to `strlcpy'"
errors when linking Xvfb and other DDX-es that could use os.O.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Mihail Konev <k.mvc at ya.ru>


  Commit: 05e19644250698aa126a60bc671e85425df784d1
      https://github.com/XQuartz/xorg-server/commit/05e19644250698aa126a60bc671e85425df784d1
  Author: Hans De Goede <hdegoede at redhat.com>
  Date:   2017-01-02 (Mon, 02 Jan 2017)

  Changed paths:
    M glamor/glamor_egl.c
    M glamor/glamor_egl.h

  Log Message:
  -----------
  glamor: Trust eglGetPlatformDisplayEXT if it exists

If the libEGL we are using has eglGetPlatformDisplayEXT, yet it still
returns NULL, then this very likely means that it does not support the
type (e.g. EGL_PLATFORM_GBM_MESA) passed in, and then returning NULL is
the right thing to do.

This avoids falling back to an eglGetDisplay() implementation which does
not understands the passed in gbm handle, treats it as a pointer to
something else completely, followed by a crash sooner or later.

Specifically this fixes using the nvidia binary driver, with nvidia's
libEGL + the modesetting driver on a secondary GPU crashing inside
glamor_egl_init() sometimes.

Cc: Eric Anholt <eric at anholt.net>
Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Hans de Goede <hdegoede at redhat.com>


  Commit: c96c860b6420adf0d004707a323af30491a1d7d3
      https://github.com/XQuartz/xorg-server/commit/c96c860b6420adf0d004707a323af30491a1d7d3
  Author: Michal Srb <msrb at suse.com>
  Date:   2017-01-02 (Mon, 02 Jan 2017)

  Changed paths:
    M randr/rrxinerama.c

  Log Message:
  -----------
  xinerama: Swap the response in RRXineramaWriteMonitor

Reviewed-by: Adam Jackson <ajax at redhat.com>


  Commit: 1b42f9505ff3a39b441464f553442079b750fe88
      https://github.com/XQuartz/xorg-server/commit/1b42f9505ff3a39b441464f553442079b750fe88
  Author: Peter Hutterer <peter.hutterer at who-t.net>
  Date:   2017-01-02 (Mon, 02 Jan 2017)

  Changed paths:
    M os/WaitFor.c

  Log Message:
  -----------
  os: return 0 from check_timers if we touched any of them

Fixes a regression introduced in 0b2f30834b1a9f. If a driver posts input
events during a timer function (wacom and synaptics do this during tap
timeouts), ProcessInputEvents() is not called for these events. There are no
new events on any fds, so the events just sit in the queue waiting for
something else to happen.

Fix this by simply returning 0 from check_timers if we ran at least one of
them or reset them all. This way the callers ospoll_wait will exit and
continue with normal processing.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: 9874f73e88678c9eacbcba05e52336fc63a32712
      https://github.com/XQuartz/xorg-server/commit/9874f73e88678c9eacbcba05e52336fc63a32712
  Author: Kai-Heng Feng <kai.heng.feng at canonical.com>
  Date:   2017-01-02 (Mon, 02 Jan 2017)

  Changed paths:
    M hw/xfree86/modes/xf86EdidModes.c

  Log Message:
  -----------
  edid: Add quirk for ADA 1024x600 7" display.

Detailed mode reports 108 mm x 68 mm which is for smaller display.
Maximum image size reports 15 cm x 10 cm which aligns with its physical
size, use this size instead.

Signed-off-by: Kai-Heng Feng <kai.heng.feng at canonical.com>
Acked-by: Alex Deucher <alexander.deucher at amd.com>


  Commit: 29a4f3db60fdeaef7bca3aa2746bb43a1850fddd
      https://github.com/XQuartz/xorg-server/commit/29a4f3db60fdeaef7bca3aa2746bb43a1850fddd
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-01-02 (Mon, 02 Jan 2017)

  Changed paths:
    M glamor/glamor_egl.h

  Log Message:
  -----------
  glamor: Squash unused variable warning

Accidentally introduced in 05e19644.

Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 9d32b71c93cf6187e9320c99ae857e34a51b7102
      https://github.com/XQuartz/xorg-server/commit/9d32b71c93cf6187e9320c99ae857e34a51b7102
  Author: Mihail Konev <k.mvc at ya.ru>
  Date:   2017-01-04 (Wed, 04 Jan 2017)

  Changed paths:
    M include/xkbsrv.h
    M xkb/xkbInit.c
    M xkb/xkbPrKeyEv.c

  Log Message:
  -----------
  xkb: Match key releases with an overlaid press

Testcase:

In ~/.xbindkeysrc:
  "xterm &"
       XF86LaunchA

In ~/ov.xkb:
  xkb_keymap {
      xkb_keycodes { include "evdev" };
      xkb_types    { include "complete" };
      xkb_compat   { include "complete"
    interpret Overlay1_Enable+AnyOfOrNone(all) {
        action= SetControls(controls=Overlay1);
    };
      };
      xkb_symbols  { include "pc+inet(evdev)+us"
    key <INS> { [ Overlay1_Enable ] };
    key <AE01> { overlay1 = <AE02> }; // Insert+1 => 2
    key <TLDE> { overlay1 = <I128> }; // Insert+~ => XF86LaunchA
      };
      xkb_geometry { include "pc(pc104)" };
  };

Apply this layout: 'xkbcomp ~/ov.xkb $DISPLAY'.
Run "xbindkeys -n -v"
In the exact order:
- press Insert
- press Tilde
- release Insert
- wait
- release Tilde
Keyboard input in the new terminal window(s) would be locked
until another Insert+Tilde .

Reported-by: Mariusz Mazur <mariusz.g.mazur at gmail.com>
Signed-off-by: Mihail Konev <k.mvc at ya.ru>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: e473b2bc016adacfe3fa47fdf6a8ce9f8cddff62
      https://github.com/XQuartz/xorg-server/commit/e473b2bc016adacfe3fa47fdf6a8ce9f8cddff62
  Author: Michel Dänzer <michel.daenzer at amd.com>
  Date:   2017-01-10 (Tue, 10 Jan 2017)

  Changed paths:
    M present/present.c

  Log Message:
  -----------
  present: Only call present_flip_notify if vblank->queued == FALSE

We are no longer using the present_flip_queue list only for presents
which have already been submitted to the driver for page flipping, but
also for those which we are queueing up to be flipped later, marked
with vblank->queued == TRUE. We were incorrectly calling
present_flip_notify for such entries, failing the assertion in
present_flip_notify (or presumably resulting in other undesirable
behaviour with assertions disabled).

Reproduction recipe: Run the JavaFX test case referenced by
https://bugs.freedesktop.org/show_bug.cgi?id=98831#c6 and alt-tab out
of it while it's fullscreen. May take a few attempts to hit the
assertion failure.

Fixes: bab0f450a719 ("present: Fix presentation of flips out of order")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98854
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>


  Commit: 1012510620de7dadd0ab18b19a8e11facd884601
      https://github.com/XQuartz/xorg-server/commit/1012510620de7dadd0ab18b19a8e11facd884601
  Author: Qiang Yu <Qiang.Yu at amd.com>
  Date:   2017-01-11 (Wed, 11 Jan 2017)

  Changed paths:
    M hw/xfree86/common/xf86Option.c

  Log Message:
  -----------
  xfree86: fix wrong usage of xf86optionListMerge

Signed-off-by: Qiang Yu <Qiang.Yu at amd.com>
Reviewed-by: Hans de Goede <hdegoede at redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 555e0a42d138ac8d83af62638752a1bebad602d6
      https://github.com/XQuartz/xorg-server/commit/555e0a42d138ac8d83af62638752a1bebad602d6
  Author: Qiang Yu <Qiang.Yu at amd.com>
  Date:   2017-01-11 (Wed, 11 Jan 2017)

  Changed paths:
    M randr/rrprovider.c

  Log Message:
  -----------
  randr: fix xserver crash when xrandr setprovideroutputsource

xrandr --setprovideroutputsource <screen> <gpu screen>
Xorg: ../../../xserver/dix/dispatch.c:4018: AttachOutputGPU:
Assertion `new->isGPU' failed.

GPUScreen is not allowed to be sink output.

Signed-off-by: Qiang Yu <Qiang.Yu at amd.com>
Reviewed-by: Hans de Goede <hdegoede at redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 436da935bde43076f3052a758a463ed080e8a747
      https://github.com/XQuartz/xorg-server/commit/436da935bde43076f3052a758a463ed080e8a747
  Author: Qiang Yu <Qiang.Yu at amd.com>
  Date:   2017-01-11 (Wed, 11 Jan 2017)

  Changed paths:
    M hw/xfree86/drivers/modesetting/driver.c
    M hw/xfree86/drivers/modesetting/driver.h

  Log Message:
  -----------
  modesetting: cleanup pci device open

Signed-off-by: Qiang Yu <Qiang.Yu at amd.com>
Reviewed-by: Hans de Goede <hdegoede at redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 785053d033e73d2deb0ded4b97eabfd881991978
      https://github.com/XQuartz/xorg-server/commit/785053d033e73d2deb0ded4b97eabfd881991978
  Author: Keith Packard <keithp at keithp.com>
  Date:   2017-01-11 (Wed, 11 Jan 2017)

  Changed paths:
    M dix/dispatch.c
    M include/dixstruct.h
    M os/connection.c

  Log Message:
  -----------
  AttendClient of grab-pervious client must queue to saved_ready_clients [v2]

A client which is attended while a grab is blocking execution of its
requests needs to be placed in the saved_ready_clients list so that it
will get scheduled once the grab terminates. Otherwise, if the client
never sends another request, there is no way for it to be placed in
the ready_clients list.

v2: Wrap comment above mark_client_saved_ready.
    Remove test for OS_COMM_IGNORED which will always be true.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99333
Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 45546219e117c1b6129fd9f9be2ce5b592486feb
      https://github.com/XQuartz/xorg-server/commit/45546219e117c1b6129fd9f9be2ce5b592486feb
  Author: Mihail Konev <k.mvc at ya.ru>
  Date:   2017-01-12 (Thu, 12 Jan 2017)

  Changed paths:
    M hw/xfree86/os-support/linux/Makefile.am
    M hw/xfree86/ramdac/Makefile.am
    R hw/xfree86/ramdac/xf86Cursor.c
    A hw/xfree86/ramdac/xf86CursorRD.c
    M test/Makefile.am
    A test/test_xkb.c
    R test/xkb.c

  Log Message:
  -----------
  tests: Avoid libtool message

The "copying selected object files" message appears as some source
files have the same name, and some objects are included twice.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Mihail Konev <k.mvc at ya.ru>


  Commit: ff66bca3e8797db709e03572d296358dc4b95653
      https://github.com/XQuartz/xorg-server/commit/ff66bca3e8797db709e03572d296358dc4b95653
  Author: Mihail Konev <k.mvc at ya.ru>
  Date:   2017-01-12 (Thu, 12 Jan 2017)

  Changed paths:
    M test/xi1/Makefile.am
    M test/xi1/protocol-xchangedevicecontrol.c
    M test/xi2/Makefile.am
    M test/xi2/protocol-common.c
    M test/xi2/protocol-eventconvert.c
    M test/xi2/protocol-xigetclientpointer.c
    M test/xi2/protocol-xigetselectedevents.c
    M test/xi2/protocol-xipassivegrabdevice.c
    M test/xi2/protocol-xiquerydevice.c
    M test/xi2/protocol-xiquerypointer.c
    M test/xi2/protocol-xiqueryversion.c
    M test/xi2/protocol-xiselectevents.c
    M test/xi2/protocol-xisetclientpointer.c
    M test/xi2/protocol-xiwarppointer.c
    M test/xi2/xi2.c

  Log Message:
  -----------
  tests: Refactor wraps into protocol-common.c

Part of refactoring the tests into a single binary,
to make partial rebuild slightly faster and less verbose.

Prepares for joining test/xi2/protocol-* into a single binary.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Mihail Konev <k.mvc at ya.ru>


  Commit: 371576f64baa99c4ab1e736fbae7975a32577275
      https://github.com/XQuartz/xorg-server/commit/371576f64baa99c4ab1e736fbae7975a32577275
  Author: Mihail Konev <k.mvc at ya.ru>
  Date:   2017-01-12 (Thu, 12 Jan 2017)

  Changed paths:
    A test/tests-common.c
    A test/tests-common.h
    A test/tests.h
    M test/xi1/.gitignore
    M test/xi1/Makefile.am
    M test/xi1/protocol-xchangedevicecontrol.c
    A test/xi1/tests.c
    M test/xi2/Makefile.am
    M test/xi2/protocol-common.h

  Log Message:
  -----------
  tests: Convert test/xi1/ to single binary

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Mihail Konev <k.mvc at ya.ru>


  Commit: 773fc07e4c2f816966809492a924a9bd1a15d059
      https://github.com/XQuartz/xorg-server/commit/773fc07e4c2f816966809492a924a9bd1a15d059
  Author: Mihail Konev <k.mvc at ya.ru>
  Date:   2017-01-12 (Thu, 12 Jan 2017)

  Changed paths:
    M test/tests.h
    M test/xi2/.gitignore
    M test/xi2/Makefile.am
    M test/xi2/protocol-common.c
    M test/xi2/protocol-eventconvert.c
    M test/xi2/protocol-xigetclientpointer.c
    M test/xi2/protocol-xigetselectedevents.c
    M test/xi2/protocol-xipassivegrabdevice.c
    M test/xi2/protocol-xiquerydevice.c
    M test/xi2/protocol-xiquerypointer.c
    M test/xi2/protocol-xiqueryversion.c
    M test/xi2/protocol-xiselectevents.c
    M test/xi2/protocol-xisetclientpointer.c
    M test/xi2/protocol-xiwarppointer.c
    A test/xi2/tests.c
    M test/xi2/xi2.c

  Log Message:
  -----------
  tests: Convert test/xi2/ to single binary

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Mihail Konev <k.mvc at ya.ru>


  Commit: ead5064581665ff40c177dd1b447949f1420e209
      https://github.com/XQuartz/xorg-server/commit/ead5064581665ff40c177dd1b447949f1420e209
  Author: Mihail Konev <k.mvc at ya.ru>
  Date:   2017-01-12 (Thu, 12 Jan 2017)

  Changed paths:
    M test/.gitignore
    M test/Makefile.am
    M test/fixes.c
    M test/hashtabletest.c
    M test/input.c
    M test/list.c
    M test/misc.c
    M test/signal-logging.c
    M test/string.c
    M test/test_xkb.c
    M test/tests-common.h
    A test/tests.c
    M test/tests.h
    M test/touch.c
    M test/xfree86.c
    M test/xtest.c

  Log Message:
  -----------
  tests: Convert test/ to single binary

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Mihail Konev <k.mvc at ya.ru>


  Commit: 23f6dbc96e47be6cbeed78cc9ef303987c3e29a9
      https://github.com/XQuartz/xorg-server/commit/23f6dbc96e47be6cbeed78cc9ef303987c3e29a9
  Author: Mihail Konev <k.mvc at ya.ru>
  Date:   2017-01-12 (Thu, 12 Jan 2017)

  Changed paths:
    M configure.ac
    M test/Makefile.am
    M test/tests.c
    R test/xi1/.gitignore
    R test/xi1/Makefile.am
    R test/xi1/tests.c
    R test/xi2/.gitignore
    R test/xi2/Makefile.am
    R test/xi2/tests.c

  Log Message:
  -----------
  tests: Move test/{xi1,xi2}/tests to test/

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Mihail Konev <k.mvc at ya.ru>


  Commit: 704a867f8fb7652a8b7d5569bbe44e188457db4e
      https://github.com/XQuartz/xorg-server/commit/704a867f8fb7652a8b7d5569bbe44e188457db4e
  Author: Mihail Konev <k.mvc at ya.ru>
  Date:   2017-01-12 (Thu, 12 Jan 2017)

  Changed paths:
    M test/Makefile.am

  Log Message:
  -----------
  tests: Remove obsolete libxservertest.la

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Mihail Konev <k.mvc at ya.ru>


  Commit: 730fd8c05f56da21894691bbd2e7ff37f67b45f4
      https://github.com/XQuartz/xorg-server/commit/730fd8c05f56da21894691bbd2e7ff37f67b45f4
  Author: Mihail Konev <k.mvc at ya.ru>
  Date:   2017-01-16 (Mon, 16 Jan 2017)

  Changed paths:
    M test/Makefile.am
    M test/tests.c

  Log Message:
  -----------
  tests: fix --disable-xorg build


  Commit: b44bef513bd83249036cb5a237dc20eb6088c17c
      https://github.com/XQuartz/xorg-server/commit/b44bef513bd83249036cb5a237dc20eb6088c17c
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-01-16 (Mon, 16 Jan 2017)

  Changed paths:
    M test/Makefile.am
    M test/tests.c

  Log Message:
  -----------
  Revert "tests: fix --disable-xorg build"

Pushed the wrong thing.

This reverts commit 730fd8c05f56da21894691bbd2e7ff37f67b45f4.


  Commit: 3f8c2f94483bf0b96e129c97ef4950170a3f05b4
      https://github.com/XQuartz/xorg-server/commit/3f8c2f94483bf0b96e129c97ef4950170a3f05b4
  Author: Giuseppe Bilotta <giuseppe.bilotta at gmail.com>
  Date:   2017-01-16 (Mon, 16 Jan 2017)

  Changed paths:
    M test/Makefile.am

  Log Message:
  -----------
  tests: Fix without-dtrace build

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta at gmail.com>
Reviewed-by: Mihail Konev <k.mvc at ya.ru>
Signed-off-by: Mihail Konev <k.mvc at ya.ru>


  Commit: 6f531b0cdf8c9d7f711dd46071a26c50db3f1a16
      https://github.com/XQuartz/xorg-server/commit/6f531b0cdf8c9d7f711dd46071a26c50db3f1a16
  Author: Mihail Konev <k.mvc at ya.ru>
  Date:   2017-01-16 (Mon, 16 Jan 2017)

  Changed paths:
    M test/Makefile.am

  Log Message:
  -----------
  tests: Fix typo

Remove redundrant/incorrect automake assignment.

Buglink: https://lists.x.org/archives/xorg-devel/2017-January/052320.html
Reported-by: Michel Dänzer <michel at daenzer.net>
Signed-off-by: Mihail Konev <k.mvc at ya.ru>
Reviewed-by: Jon Turney <jon.turney at dronecode.org.uk>


  Commit: d740e1830a7ef32433fdf338c1e04dc6c9a927cb
      https://github.com/XQuartz/xorg-server/commit/d740e1830a7ef32433fdf338c1e04dc6c9a927cb
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-01-19 (Thu, 19 Jan 2017)

  Changed paths:
    M configure.ac
    M hw/dmx/input/Makefile.am
    M hw/dmx/input/dmxinputinit.c
    R hw/dmx/input/lnx-keyboard.c
    R hw/dmx/input/lnx-keyboard.h
    R hw/dmx/input/lnx-ms.c
    R hw/dmx/input/lnx-ms.h
    R hw/dmx/input/lnx-ps2.c
    R hw/dmx/input/lnx-ps2.h
    M hw/dmx/man/Xdmx.man

  Log Message:
  -----------
  dmx: Remove non-evdev hardware input drivers

Use evdev.

Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: e7b8b7b131d8283c96ed0aff4593ab41441b5d3b
      https://github.com/XQuartz/xorg-server/commit/e7b8b7b131d8283c96ed0aff4593ab41441b5d3b
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-01-19 (Thu, 19 Jan 2017)

  Changed paths:
    M configure.ac
    M hw/kdrive/linux/Makefile.am
    R hw/kdrive/linux/keyboard.c
    M hw/kdrive/linux/linux.c
    R hw/kdrive/linux/mouse.c
    R hw/kdrive/linux/ms.c
    R hw/kdrive/linux/ps2.c
    M include/kdrive-config.h.in

  Log Message:
  -----------
  kdrive: Remove non-evdev input drivers

Use evdev.

Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 86463981361064dd0352ec215abf1696ce7fc5ea
      https://github.com/XQuartz/xorg-server/commit/86463981361064dd0352ec215abf1696ce7fc5ea
  Author: Olivier Fourdan <ofourdan at redhat.com>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M glamor/glamor_render.c

  Log Message:
  -----------
  glamor: Two pass won't work on memory pixmaps

When selecting "CA_TWO_PASS" in glamor_composite_clipped_region() when
the hardware does not support "GL_ARB_blend_func_extended", we call
glamor_composite_choose_shader() twice in a row, which in turn calls
glamor_pixmap_ensure_fbo().

On memory pixmaps, the first call will set the FBO and the second one
will fail an assertion in glamor_upload_picture_to_texture() because
the FBO is already set.

Bail out earlier when the mask pixmap is in memory and the hardware
capabilities would require to use two pass, so that the assertion is not
failed and the rendering is correct.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99346
Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: bccbaf7c113b1300071601879002682ebbe8b1c1
      https://github.com/XQuartz/xorg-server/commit/bccbaf7c113b1300071601879002682ebbe8b1c1
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M composite/compwindow.c

  Log Message:
  -----------
  composite: Remove a misleading comment

This comment is above compIsAlternateVisual, which used to be the only
thing determining whether implicit redirect was needed. It's not anymore
due to the redirection exception list. That job is now performed by
compImplicitRedirect, whose code is self-explanitory.

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: ef2345aaa28461a76f77c65240ce5facc180f98e
      https://github.com/XQuartz/xorg-server/commit/ef2345aaa28461a76f77c65240ce5facc180f98e
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M composite/compositeext.h
    M composite/compwindow.c

  Log Message:
  -----------
  composite: Export compIsAlternateVisual

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 43efaa6e4fd903229dc9c508da4177ad4bbdd4d8
      https://github.com/XQuartz/xorg-server/commit/43efaa6e4fd903229dc9c508da4177ad4bbdd4d8
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M glx/glxcmds.c

  Log Message:
  -----------
  glx: Send GLX_VISUAL_SELECT_GROUP_SGIX attribute for visuals

We already send this for fbconfigs. Mesa happens to implement
glXChooseVisual relative to the fbconfig data, but that might not be
true of NVIDIA's libGL.

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: ea483af99a6351323afe00a0b630cd63310efdb1
      https://github.com/XQuartz/xorg-server/commit/ea483af99a6351323afe00a0b630cd63310efdb1
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M glx/glxscreens.c

  Log Message:
  -----------
  glx: Move Composite's synthetic visuals to a different select group

Should you find yourself using a 16bpp display while also using a
compositor, you poor soul, you may find that your GLX applications
behave strangely; in particular, glxgears will be transparent. This is
because it clears to (0,0,0,0) which is transparent if you honor alpha,
and it will choose the synthetic visual because it has the most
available r/g/b bits.

To avoid this, bump synthetic visuals to a higher (less-preferred)
select group. Unless the client explicitly asks for non-zero alpha bits,
this will prefer any rgb565 visual ahead of the argb8888 visual.

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 2196bb50383bd96d364f799018c0693c9309ed7f
      https://github.com/XQuartz/xorg-server/commit/2196bb50383bd96d364f799018c0693c9309ed7f
  Author: Emil Velikov <emil.l.velikov at gmail.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M hw/xfree86/common/xf86Helper.c
    M hw/xfree86/common/xf86Init.c
    M hw/xfree86/doc/ddxDesign.xml
    M hw/xfree86/loader/loaderProcs.h
    M hw/xfree86/loader/loadmod.c

  Log Message:
  -----------
  xfree86: remove unused path from the LoadModule API

Similar to its little brother - LoadSubModule. Currently all call sites
provide NULL anyway ;-)

Reviewed-by: Aaron Plattner <aplattner at nvidia.com>
Reviewed-by: Julien Cristau <jcristau at debian.org>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>


  Commit: 57eec704c3ddea0fecea2d8fbd1c3547f0b8fccf
      https://github.com/XQuartz/xorg-server/commit/57eec704c3ddea0fecea2d8fbd1c3547f0b8fccf
  Author: Emil Velikov <emil.l.velikov at gmail.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M hw/xfree86/doc/ddxDesign.xml

  Log Message:
  -----------
  xfree86: remove references to LoadSubModule's path from the doc

Afaics the argument hasn't been part of the API since the documentation
has been converted to xml with commit fc6ebe1e1d3 "Convert LinuxDoc
documents to DocBook/XML"

Reviewed-by: Julien Cristau <jcristau at debian.org>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>


  Commit: 7b71055fc65242a9c4b651e72bb07dbb3f00c4e6
      https://github.com/XQuartz/xorg-server/commit/7b71055fc65242a9c4b651e72bb07dbb3f00c4e6
  Author: Emil Velikov <emil.l.velikov at gmail.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M hw/xfree86/loader/loaderProcs.h

  Log Message:
  -----------
  xfree86: remove dummy/dead function prototype for LoadDriver

Reviewed-by: Julien Cristau <jcristau at debian.org>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>


  Commit: 778cfc59762cdf528cf8672bfb5696844e91ebc3
      https://github.com/XQuartz/xorg-server/commit/778cfc59762cdf528cf8672bfb5696844e91ebc3
  Author: Emil Velikov <emil.l.velikov at gmail.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M hw/xfree86/loader/loadmod.c

  Log Message:
  -----------
  xfree86: flatten pathlist management in the loader

Now that users can set the path only via LoaderSetPath(), we can simplify
things.

Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Julien Cristau <jcristau at debian.org>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>


  Commit: a6fcb15472bb7663ae917f5913bf07b6d3c7f186
      https://github.com/XQuartz/xorg-server/commit/a6fcb15472bb7663ae917f5913bf07b6d3c7f186
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M hw/xfree86/loader/loader.c
    M hw/xfree86/loader/loadmod.c

  Log Message:
  -----------
  loader: Port from xfree86 to dix API

Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Julien Cristau <jcristau at debian.org>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 97bd6e453676516891250389ec0fd695c110087c
      https://github.com/XQuartz/xorg-server/commit/97bd6e453676516891250389ec0fd695c110087c
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M hw/xfree86/common/xf86.h
    M hw/xfree86/common/xf86Helper.c
    M hw/xfree86/common/xf86Module.h
    M hw/xfree86/loader/Makefile.am
    M hw/xfree86/loader/loadmod.c
    R hw/xfree86/loader/os.c

  Log Message:
  -----------
  loader: Remove *GetOS

This API is dumb.  uname(3) exists, feel free to use it, but ideally
write to the interface not to the OS.  There are a couple of drivers
using this API, they could all reasonably just not.

This also removes the OS name from the loader subdirectory path search.
Having /usr/lib/xorg shared across OSes is a non-goal here.

Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Julien Cristau <jcristau at debian.org>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 49fa76801348f6d044128f7ec743693d0759d683
      https://github.com/XQuartz/xorg-server/commit/49fa76801348f6d044128f7ec743693d0759d683
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M hw/xfree86/loader/loadmod.c

  Log Message:
  -----------
  loader: Don't add internal/ to the search path

Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Julien Cristau <jcristau at debian.org>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 7e3cccf8e4426a4b25a7a94d52775d334693572f
      https://github.com/XQuartz/xorg-server/commit/7e3cccf8e4426a4b25a7a94d52775d334693572f
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M hw/xfree86/common/xf86Module.h

  Log Message:
  -----------
  loader: Include fewer headers from xf86Module.h

This looks like more, but only if you don't compare it to the number
pulled in by misc.h.

Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Julien Cristau <jcristau at debian.org>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: ef533a912d18db31456b29a18c8bced649309565
      https://github.com/XQuartz/xorg-server/commit/ef533a912d18db31456b29a18c8bced649309565
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M hw/xfree86/common/xf86Module.h
    M hw/xfree86/loader/loadmod.c

  Log Message:
  -----------
  loader: Remove unused loader error codes and dead enum

The enum has been unused since at least the removal of elfloader.

Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Julien Cristau <jcristau at debian.org>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 2e3ad7e2506d9eb6667a5f229b5213d215451a5a
      https://github.com/XQuartz/xorg-server/commit/2e3ad7e2506d9eb6667a5f229b5213d215451a5a
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M hw/xfree86/common/xf86Module.h
    M hw/xfree86/doc/ddxDesign.xml
    M hw/xfree86/loader/loadmod.c

  Log Message:
  -----------
  loader: Remove silly "unspecified" version handling

Everybody using this functionality specifies a major version, which
makes sense. If you don't care about a minor version, that's equivalent
to saying you require minor >= 0, so just say so; likewise patch level.

Likewise ABI class is always specified.

Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Julien Cristau <jcristau at debian.org>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 5c577da5f3a65c68d2ee12e4afca8f20c3e8ccf4
      https://github.com/XQuartz/xorg-server/commit/5c577da5f3a65c68d2ee12e4afca8f20c3e8ccf4
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M hw/xfree86/common/xf86Helper.c
    M hw/xfree86/common/xf86str.h

  Log Message:
  -----------
  xfree86: Remove DriverRec1 compat struct

The idea here is that the driver might have once been old enough to not
have the driverFunc slot in DriverRec, with the module ABI not having
changed when it was added. That was ages ago, and drivers always declare
themselves with DriverRec not DriverRec1, so uninitialized slots will
simply be zero.

Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Julien Cristau <jcristau at debian.org>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: d7879c46724a36bfd9a3a08e49903d001ffbf93e
      https://github.com/XQuartz/xorg-server/commit/d7879c46724a36bfd9a3a08e49903d001ffbf93e
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M hw/xfree86/common/xf86Configure.c

  Log Message:
  -----------
  xfree86: Fix up some bad indentation

indent(1) gets confused by function-like macros with no trailing
semicolon, which is fair enough really.

Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Julien Cristau <jcristau at debian.org>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: d55284e8638ede15be851aa8a19a98dbbff0ce20
      https://github.com/XQuartz/xorg-server/commit/d55284e8638ede15be851aa8a19a98dbbff0ce20
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M hw/xfree86/common/xf86Configure.c

  Log Message:
  -----------
  xfree86: Remove a stray reference to font modules

Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Julien Cristau <jcristau at debian.org>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: c54a9ca152898ec2ffe50f6d5b70d483b85c1c34
      https://github.com/XQuartz/xorg-server/commit/c54a9ca152898ec2ffe50f6d5b70d483b85c1c34
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M hw/xfree86/common/xf86Config.c
    M hw/xfree86/common/xf86Configure.c
    M hw/xfree86/common/xf86Module.h
    M hw/xfree86/loader/loaderProcs.h

  Log Message:
  -----------
  loader: Move loader list details to internal header

There's no reason a driver should ever care about this.

Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Julien Cristau <jcristau at debian.org>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: ba726ba6a73efe1bd19708b058f481f28068a85b
      https://github.com/XQuartz/xorg-server/commit/ba726ba6a73efe1bd19708b058f481f28068a85b
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M hw/xfree86/common/xf86Config.c
    M hw/xfree86/common/xf86Config.h
    M hw/xfree86/common/xf86Configure.c
    M hw/xfree86/loader/loaderProcs.h
    M hw/xfree86/loader/loadmod.c

  Log Message:
  -----------
  loader: Turn LoaderListDirs into LoaderListDir

Callers only ever use this for a single directory anyway.

While we're at it, also move xf86DriverListFromCompile near its only
user in the X -configure code (and inline it out of existence), and
remove LoaderFreeDirList as it's unused (since X -configure is just
going to exit anyway, none of that code cares about cleanup).

Reviewed-by: Julien Cristau <jcristau at debian.org>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 8920dca0091675f1202c1198336cd4d8e0259100
      https://github.com/XQuartz/xorg-server/commit/8920dca0091675f1202c1198336cd4d8e0259100
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M hw/xfree86/common/xf86Helper.c
    M hw/xfree86/common/xf86Init.c
    M hw/xfree86/doc/ddxDesign.xml
    M hw/xfree86/loader/loader.c
    M hw/xfree86/loader/loader.h
    M hw/xfree86/loader/loaderProcs.h
    M hw/xfree86/loader/loadmod.c

  Log Message:
  -----------
  loader: Remove unused arguments from LoadModule

Nobody was ever calling this with a non-null argument for subdir list or
pattern list.  Having done this, InitSubdirs is only ever called with a
NULL argument, so it's really just a complicated way of duplicating the
default list; we can remove that and just walk the list directly.

The minor error code was only ever used to distinguish among two cases
of LDR_BADUSAGE. Whatever.

Reviewed-by: Julien Cristau <jcristau at debian.org>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 8e83eacb9e2d2c6c2b9f8cdb9e82c976a0237f24
      https://github.com/XQuartz/xorg-server/commit/8e83eacb9e2d2c6c2b9f8cdb9e82c976a0237f24
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M hw/xfree86/loader/loaderProcs.h
    M hw/xfree86/loader/loadmod.c

  Log Message:
  -----------
  loader: Remove unused path and name from ModuleDescPtr

Just a waste of memory. Path was never referenced at all, and name was
only used when unloading the module; we can just as well get the
module's internal idea of its name from VersionInfo.

Reviewed-by: Julien Cristau <jcristau at debian.org>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: cc0f173ea2936d1405e382329c1bd58c7af67ea7
      https://github.com/XQuartz/xorg-server/commit/cc0f173ea2936d1405e382329c1bd58c7af67ea7
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M hw/xfree86/loader/loadmod.c

  Log Message:
  -----------
  loader: Learn about the joy of snprintf

Reviewed-by: Julien Cristau <jcristau at debian.org>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: b1a6986395f85b0194646a34b49367086dc9239d
      https://github.com/XQuartz/xorg-server/commit/b1a6986395f85b0194646a34b49367086dc9239d
  Author: Martin Peres <martin.peres at linux.intel.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M test/Makefile.am

  Log Message:
  -----------
  tests: shuffle around the linking order to please GNU ld

Classic GNU ld resolves symbol dependencies only forward, while GOLD
seems to work regardless of the specified library order.

Suggested-by: Eero Tamminen <eero.t.tamminen at intel.com>
Reviewed-by: Mihail Konev <k.mvc at ya.ru>
Signed-off-by: Martin Peres <martin.peres at linux.intel.com>


  Commit: 7617a0a180a2cd3427a8ffa9534152df6a8fecbf
      https://github.com/XQuartz/xorg-server/commit/7617a0a180a2cd3427a8ffa9534152df6a8fecbf
  Author: Qiang Yu <Qiang.Yu at amd.com>
  Date:   2017-01-25 (Wed, 25 Jan 2017)

  Changed paths:
    M configure.ac
    M hw/xfree86/dri2/dri2.c

  Log Message:
  -----------
  dri2: refine dri2_probe_driver_name (v2)

V2:
1. update comment
2. check bustype if PCI
3. configure add libdrm version check for drmGetDevice

Get PCI information from info->fd with drmGetDevice instead of
assuming the info->fd is the first entity of scrn which is not
true for multi entities scrn.

Signed-off-by: Qiang Yu <Qiang.Yu at amd.com>
Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>


  Commit: 45e0eb4b156f2155687cce268b07f10540fc507b
      https://github.com/XQuartz/xorg-server/commit/45e0eb4b156f2155687cce268b07f10540fc507b
  Author: Michel Dänzer <michel.daenzer at amd.com>
  Date:   2017-02-01 (Wed, 01 Feb 2017)

  Changed paths:
    M hw/xfree86/loader/loadmod.c

  Log Message:
  -----------
  loader: Handle mod->VersionInfo == NULL

This can happen when a module fails to load:

Program received signal SIGSEGV, Segmentation fault.
UnloadModule (_mod=0x5555559d9280) at ../../../../hw/xfree86/loader/loadmod.c:848
848	    name = mod->VersionInfo->modname;
(gdb) bt
#0  UnloadModule (_mod=0x5555559d9280) at ../../../../hw/xfree86/loader/loadmod.c:848
#1  0x00005555555ddd1b in LoadModule (module=module at entry=0x5555559c7ce0 "fbdev", options=0x0, modreq=modreq at entry=0x0, errmaj=errmaj at entry=0x7fffffffe8ec) at ../../../../hw/xfree86/loader/loadmod.c:824
#2  0x00005555555edfe9 in xf86LoadModules (list=list at entry=0x5555559dcf50, optlist=optlist at entry=0x0) at ../../../../hw/xfree86/common/xf86Init.c:1506
#3  0x00005555555ee7bc in InitOutput (pScreenInfo=pScreenInfo at entry=0x5555559abf80 <screenInfo>, argc=argc at entry=4, argv=argv at entry=0x7fffffffeb18) at ../../../../hw/xfree86/common/xf86Init.c:484
#4  0x00005555555a885c in dix_main (argc=4, argv=0x7fffffffeb18, envp=<optimized out>) at ../../dix/main.c:197
#5  0x00007ffff5d582b1 in __libc_start_main (main=0x555555593130 <main>, argc=4, argv=0x7fffffffeb18, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffeb08) at ../csu/libc-start.c:291
#6  0x000055555559316a in _start ()

Fixes: 8e83eacb9e2d ("loader: Remove unused path and name from ModuleDescPtr")
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: bb9128fdc86decd6f6e3b0e145011a8c08b1d2b5
      https://github.com/XQuartz/xorg-server/commit/bb9128fdc86decd6f6e3b0e145011a8c08b1d2b5
  Author: Qiang Yu <Qiang.Yu at amd.com>
  Date:   2017-02-01 (Wed, 01 Feb 2017)

  Changed paths:
    M present/present.c

  Log Message:
  -----------
  present: disable page flip only when a slave crtc is active

This prevents the tearing of moving window in a composite WM
desktop when output slave is attached but none of its crtc is
really active.

Signed-off-by: Qiang Yu <Qiang.Yu at amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>


  Commit: 7198a6d4e74f684cb383b3e0f70dd2bae405e6e7
      https://github.com/XQuartz/xorg-server/commit/7198a6d4e74f684cb383b3e0f70dd2bae405e6e7
  Author: Chris Wilson <chris at chris-wilson.co.uk>
  Date:   2017-02-06 (Mon, 06 Feb 2017)

  Changed paths:
    M hw/xfree86/ramdac/xf86HWCurs.c

  Log Message:
  -----------
  xfree86: Take the input lock for xf86RecolorCursor

xf86RecolorCursor() may be called directly from XRecolorCursor as well
as from xf86ScreenSetCursor(). In the latter case, the input lock is
already held, but not for the former and so we need to add a wrapper
function that acquires the input lock before performing
xf86RecolorCursor()

References: https://bugs.freedesktop.org/show_bug.cgi?id=99358


  Commit: cfddd919cce4178baba07959e5e862d02e166522
      https://github.com/XQuartz/xorg-server/commit/cfddd919cce4178baba07959e5e862d02e166522
  Author: Chris Wilson <chris at chris-wilson.co.uk>
  Date:   2017-02-06 (Mon, 06 Feb 2017)

  Changed paths:
    M hw/xfree86/ramdac/xf86HWCurs.c

  Log Message:
  -----------
  xfree86: Take input lock for xf86TransparentCursor


  Commit: 3eb964e25243056dd998f52d3b00171b71c89189
      https://github.com/XQuartz/xorg-server/commit/3eb964e25243056dd998f52d3b00171b71c89189
  Author: Chris Wilson <chris at chris-wilson.co.uk>
  Date:   2017-02-06 (Mon, 06 Feb 2017)

  Changed paths:
    M hw/xfree86/ramdac/xf86HWCurs.c

  Log Message:
  -----------
  xfree86: Take input_lock() for xf86ScreenCheckHWCursor


  Commit: 0702f2e840370be53d129fc5e3c243dac47ee720
      https://github.com/XQuartz/xorg-server/commit/0702f2e840370be53d129fc5e3c243dac47ee720
  Author: Peter Hutterer <peter.hutterer at who-t.net>
  Date:   2017-02-08 (Wed, 08 Feb 2017)

  Changed paths:
    M hw/xwayland/xwayland-input.c
    M hw/xwayland/xwayland-output.c

  Log Message:
  -----------
  xwayland: replace hardcoded function name with __func__ in error msg

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Olivier Fourdan <ofourdan at redhat.com>


  Commit: e50da50118408a195d4d2e1b39817fe7c4447c56
      https://github.com/XQuartz/xorg-server/commit/e50da50118408a195d4d2e1b39817fe7c4447c56
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-02-08 (Wed, 08 Feb 2017)

  Changed paths:
    M hw/xfree86/dri/xf86dri.c

  Log Message:
  -----------
  dri1: Remove some dead event code

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>


  Commit: 3ef16dfb9830bd6b41ae428f4f213ae0c35c1056
      https://github.com/XQuartz/xorg-server/commit/3ef16dfb9830bd6b41ae428f4f213ae0c35c1056
  Author: Mihail Konev <k.mvc at ya.ru>
  Date:   2017-02-08 (Wed, 08 Feb 2017)

  Changed paths:
    M hw/dmx/Makefile.am

  Log Message:
  -----------
  dmx: fix linking

Reviewed-by: Adam Jackson <ajax at redhat.com>


  Commit: c02f6a687c3d6bd0727322b055ee788f8fefa005
      https://github.com/XQuartz/xorg-server/commit/c02f6a687c3d6bd0727322b055ee788f8fefa005
  Author: Michael Thayer <michael.thayer at oracle.com>
  Date:   2017-02-08 (Wed, 08 Feb 2017)

  Changed paths:
    M hw/xfree86/modes/xf86Crtc.h
    M hw/xfree86/modes/xf86Cursors.c
    M hw/xfree86/ramdac/xf86Cursor.h
    M hw/xfree86/ramdac/xf86HWCurs.c

  Log Message:
  -----------
  xfree86: Immediately handle failure to set HW cursor, v5

Based on v4 by Alexandre Courbot <acourbot at nvidia.com>

There is currently no reliable way to report failure to set a HW
cursor. Still such failures can happen if e.g. the MODE_CURSOR DRM
ioctl fails (which currently happens at least with modesetting on Tegra
for format incompatibility reasons).

As failures are currently handled by setting the HW cursor size to
(0,0), the fallback to SW cursor will not happen until the next time the
cursor changes and xf86CursorSetCursor() is called again. In the
meantime, the cursor will be invisible to the user.

This patch addresses that by adding _xf86CrtcFuncs::set_cursor_check and
_xf86CursorInfoRec::ShowCursorCheck hook variants that return booleans.
This allows to propagate errors up to xf86CursorSetCursor(), which can
then fall back to using the SW cursor immediately.

v5: Updated the patch to apply to current git HEAD, split up into two
patches (server and modesetting driver) and adjusted the code slightly
to match surrounding code.  I also removed the new exported function
ShowCursorCheck(), as instead just changing ShowCursor() to return Bool
should not affect its current callers.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Michael Thayer <michael.thayer at oracle.com>


  Commit: ecd0a62323f26b333c49bddd7237dd5118482a35
      https://github.com/XQuartz/xorg-server/commit/ecd0a62323f26b333c49bddd7237dd5118482a35
  Author: Michael Thayer <michael.thayer at oracle.com>
  Date:   2017-02-08 (Wed, 08 Feb 2017)

  Changed paths:
    M hw/xfree86/drivers/modesetting/drmmode_display.c
    M hw/xfree86/drivers/modesetting/drmmode_display.h

  Log Message:
  -----------
  modesetting: Immediately handle failure to set HW cursor, v5

Based on v4 by Alexandre Courbot <acourbot at nvidia.com>

There is currently no reliable way to report failure to set a HW
cursor. Still such failures can happen if e.g. the MODE_CURSOR DRM
ioctl fails (which currently happens at least with modesetting on Tegra
for format incompatibility reasons).

As failures are currently handled by setting the HW cursor size to
(0,0), the fallback to SW cursor will not happen until the next time the
cursor changes and xf86CursorSetCursor() is called again. In the
meantime, the cursor will be invisible to the user.

This patch addresses that by adding _xf86CrtcFuncs::set_cursor_check and
_xf86CursorInfoRec::ShowCursorCheck hook variants that return booleans.
This allows to propagate errors up to xf86CursorSetCursor(), which can
then fall back to using the SW cursor immediately.

v5:
 - Removed parts of patch already committed as part of 14c21ea1.
 - Adjusted code slightly to match surrounding code.
 - Effectively reverted af916477 which is made unnecessary by this patch.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Michael Thayer <michael.thayer at oracle.com>


  Commit: eb04b20160d706d4e0e67122d0adb1e723c0da92
      https://github.com/XQuartz/xorg-server/commit/eb04b20160d706d4e0e67122d0adb1e723c0da92
  Author: Michael Thayer <michael.thayer at oracle.com>
  Date:   2017-02-08 (Wed, 08 Feb 2017)

  Changed paths:
    M hw/xfree86/drivers/modesetting/drmmode_display.c
    M hw/xfree86/drivers/modesetting/drmmode_display.h

  Log Message:
  -----------
  modesetting: allow switching from software to hardware cursors (v5).

Currently if modesetting ever fails to set a hardware cursor it will switch
to using a software cursor and never go back.  Change this to only
permanently switch to a software cursor if -ENXIO is returned (which means
hardware cursors not supported), and to otherwise still try a hardware
cursor first every time a new one is set.  This is needed because hardware
may be able to handle some cursors in hardware and others not, or virtual
hardware may be able to handle hardware cursors at some times and not
others.

Changes since v1, v2 and v3:
 * take into account the switch to load_cursor_argb_check
 * keep the permanent software cursor fall-back if -ENXIO is returned
 * move parts of v3 into separate patches

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Michael Thayer <michael.thayer at oracle.com>


  Commit: b5b292896f647c85f03f53b20b2f03c0e94de428
      https://github.com/XQuartz/xorg-server/commit/b5b292896f647c85f03f53b20b2f03c0e94de428
  Author: Michel Dänzer <michel.daenzer at amd.com>
  Date:   2017-02-08 (Wed, 08 Feb 2017)

  Changed paths:
    M dix/pixmap.c

  Log Message:
  -----------
  prime: Sync shared pixmap from root window instead of screen pixmap

The screen pixmap doesn't receive updates while there's a Present flip
window.

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>


  Commit: 542d9f6807ac06b70f564ccab10af69fa21a1221
      https://github.com/XQuartz/xorg-server/commit/542d9f6807ac06b70f564ccab10af69fa21a1221
  Author: Michel Dänzer <michel.daenzer at amd.com>
  Date:   2017-02-08 (Wed, 08 Feb 2017)

  Changed paths:
    M present/present.c

  Log Message:
  -----------
  present: Allow flipping with PRIME slave outputs

Works fine now.

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>


  Commit: 1c78bec9ca3cd1975a38bf5ebdba7dea65b309ab
      https://github.com/XQuartz/xorg-server/commit/1c78bec9ca3cd1975a38bf5ebdba7dea65b309ab
  Author: Svitozar Cherepii <razotivs at gmail.com>
  Date:   2017-02-08 (Wed, 08 Feb 2017)

  Changed paths:
    M hw/xwayland/xwayland-cvt.c

  Log Message:
  -----------
  xwayland: Add hack for FWXGA resolution #99574

For some applications (like fullscreen games) it matters for XRandr
resolution to be correctly set and equal to root window resolution.

In XServer there is already hack for this, adapted it for XWayland.

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=99574

Signed-off-by: Svitozar Cherepii <razotivs at gmail.com>
Tested-by: Svitozar Cherepii <razotivs at gmail.com>
Acked-by: Olivier Fourdan <ofourdan at redhat.com>


  Commit: 38696ea56854e055c31bd2730adfc7c39aa115b0
      https://github.com/XQuartz/xorg-server/commit/38696ea56854e055c31bd2730adfc7c39aa115b0
  Author: Michel Dänzer <michel.daenzer at amd.com>
  Date:   2017-02-08 (Wed, 08 Feb 2017)

  Changed paths:
    M configure.ac
    M miext/damage/damage.c

  Log Message:
  -----------
  damage: Validate source pictures bound to windows before unwrapping

The lower layers also do this, but no damage may be reported there,
since we unwrap before calling down.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99220
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>


  Commit: afeace27d3818274b75d59375771dc964d2f56bb
      https://github.com/XQuartz/xorg-server/commit/afeace27d3818274b75d59375771dc964d2f56bb
  Author: Olivier Fourdan <ofourdan at redhat.com>
  Date:   2017-02-08 (Wed, 08 Feb 2017)

  Changed paths:
    M hw/xwayland/xwayland-output.c

  Log Message:
  -----------
  xwayland: CRTC should support all rotations

If the Wayland compositor sets a rotation on the output, Xwayland
translates the transformation as an xrandr rotation for the given
output.

However, if the rotation is not supported by the CRTC, this is not
a valid setup and xrandr queries will fail.

Pretend we support all rotations and reflections so that the
configuration remains a valid xrandr setup.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99663
Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
Reviewed-by: Adam Jackson <ajax at redhat.com>


  Commit: 058809c43ec578a407cf40d4c3e54a42503e3562
      https://github.com/XQuartz/xorg-server/commit/058809c43ec578a407cf40d4c3e54a42503e3562
  Author: Olivier Fourdan <ofourdan at redhat.com>
  Date:   2017-02-08 (Wed, 08 Feb 2017)

  Changed paths:
    M hw/xwayland/xwayland-output.c

  Log Message:
  -----------
  xwayland: Apply output rotation for screen size

Previously, we would swap the width/height of the Xwayland output based
on the output rotation, so that the overall screen size would match the
actual rotation of each output.

Problem is the RandR's ConstrainCursorHarder() handler will also apply
the output rotation, meaning that when the output is rotated, the
pointer will be constrained within the wrong dimension.

Moreover, XRandR assumes the original output width/height are unchanged
when the output is rotated, so by changing the Xwayland output width and
height based on rotation, Xwayland causes XRandr to report the wrong
output sizes (an output of size 1024x768 rotated left or right should
remain 1024x768, not 768x1024).

So to avoid this issue and keep things consistent between Wayland and
Xwayland outputs, leave the actual width/height unchanged but apply the
rotation when computing the screen size. This fixes both the output size
being wrong in "xrandr -q" and the pointer being constrained in the
wrong dimension with rotated with weston.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99663
Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
Reviewed-by: Adam Jackson <ajax at redhat.com>


  Commit: 3f9507ed2f7246b2c8cf2bbc430cc99c5f35c92a
      https://github.com/XQuartz/xorg-server/commit/3f9507ed2f7246b2c8cf2bbc430cc99c5f35c92a
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-02-09 (Thu, 09 Feb 2017)

  Changed paths:
    M hw/xfree86/common/xf86Module.h

  Log Message:
  -----------
  xfree86: Bump video ABI to 24.0

c02f6a68 changed the layout of xf86CrtcFuncs.

Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 4c00609c370dab130b69207cb2684c2b92bd3084
      https://github.com/XQuartz/xorg-server/commit/4c00609c370dab130b69207cb2684c2b92bd3084
  Author: Alan Coopersmith <alan.coopersmith at oracle.com>
  Date:   2017-02-14 (Tue, 14 Feb 2017)

  Changed paths:
    M os/client.c

  Log Message:
  -----------
  DetermineClientCmd: try using /proc/pid/cmdline on Solaris too

Solaris 11.3.5 introduced support for /proc/pid/cmdline, so try it
first, and if we can't open it, then fallback to /proc/pid/psinfo
as we did before.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>


  Commit: 3e1a23281dd64ee7457f36208cac77c01846a28f
      https://github.com/XQuartz/xorg-server/commit/3e1a23281dd64ee7457f36208cac77c01846a28f
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-02-16 (Thu, 16 Feb 2017)

  Changed paths:
    M hw/xfree86/common/xf86str.h

  Log Message:
  -----------
  xfree86: Fix a comment about ScrnInfoRec

We don't actually need (or intend) to keep this struct the same across
revisions.

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Reviewed-by: Aaron Plattner <aplattner at nvidia.com>
Acked-by: Keith Packard <keithp at keithp.com>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 5a945f54e738f6e9c5a489febdd8b87cd8a41210
      https://github.com/XQuartz/xorg-server/commit/5a945f54e738f6e9c5a489febdd8b87cd8a41210
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-02-16 (Thu, 16 Feb 2017)

  Changed paths:
    M hw/xfree86/common/xf86Mode.c
    M hw/xfree86/common/xf86str.h
    M hw/xfree86/doc/ddxDesign.xml

  Log Message:
  -----------
  xfree86: Remove max[HV]Value from ScrnInfoRec

Only mach64 and rendition actually use this feature.  Everyone else just
checks it in their ValidMode hook, they can too.

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Reviewed-by: Aaron Plattner <aplattner at nvidia.com>
Acked-by: Keith Packard <keithp at keithp.com>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 76ef102be3b47d23ebfaaaa04fb5cfc0511d43f1
      https://github.com/XQuartz/xorg-server/commit/76ef102be3b47d23ebfaaaa04fb5cfc0511d43f1
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-02-16 (Thu, 16 Feb 2017)

  Changed paths:
    M hw/xfree86/common/xf86Mode.c
    M hw/xfree86/common/xf86str.h
    M hw/xfree86/doc/ddxDesign.xml

  Log Message:
  -----------
  xfree86: Drop virtualFrom from ScrnInfoRec

Seriously not worth the effort of tracking this, especially now that
competent drivers don't have a limit.  The sis driver does inspect this
member, but hilariously does so only so it can print the same information
as the core does.

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Reviewed-by: Aaron Plattner <aplattner at nvidia.com>
Acked-by: Keith Packard <keithp at keithp.com>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 0b6f2806029493afa246b4472ee88fc173976c5a
      https://github.com/XQuartz/xorg-server/commit/0b6f2806029493afa246b4472ee88fc173976c5a
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-02-16 (Thu, 16 Feb 2017)

  Changed paths:
    M hw/xfree86/common/xf86Config.c
    M hw/xfree86/common/xf86Configure.c
    M hw/xfree86/common/xf86str.h
    M hw/xfree86/doc/ddxDesign.xml
    M hw/xfree86/man/xorg.conf.man
    M hw/xfree86/parser/Device.c
    M hw/xfree86/parser/xf86Parser.h

  Log Message:
  -----------
  xfree86: Remove Option "BiosBase" (v2)

Just no.

The ddxDesign chunk removes the whole para about xf86FixPciResource,
since it turns out that function doesn't exist at all anymore.

The only drivers that reference this at all are i128 and mga, and even
then only in the non-pciaccess path.

v2:
- Update commentary about i128/mga
- Don't remove the BiosBase keyword from the config parser since that
  would turn a no-op into a fatal error (Aaron Plattner)

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Reviewed-by: Aaron Plattner <aplattner at nvidia.com>
Acked-by: Keith Packard <keithp at keithp.com>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 4dcf68e41857cdf78387a6232160cba5cb467fb0
      https://github.com/XQuartz/xorg-server/commit/4dcf68e41857cdf78387a6232160cba5cb467fb0
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-02-16 (Thu, 16 Feb 2017)

  Changed paths:
    M hw/xfree86/common/xf86str.h
    M hw/xfree86/doc/ddxDesign.xml

  Log Message:
  -----------
  xfree86: Remove memClk from ScrnInfoRec

Never set by the core, not used in any modern driver.

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Reviewed-by: Aaron Plattner <aplattner at nvidia.com>
Acked-by: Keith Packard <keithp at keithp.com>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 47db92473f7da2b7d6775ff681ec747009f8cf3f
      https://github.com/XQuartz/xorg-server/commit/47db92473f7da2b7d6775ff681ec747009f8cf3f
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-02-16 (Thu, 16 Feb 2017)

  Changed paths:
    M hw/xfree86/common/xf86str.h

  Log Message:
  -----------
  xfree86: Remove unused chipID/Rev from ScrnInfoRec

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Reviewed-by: Aaron Plattner <aplattner at nvidia.com>
Acked-by: Keith Packard <keithp at keithp.com>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 5d29b493666f728eccd8dd91992ea020bd4be9f9
      https://github.com/XQuartz/xorg-server/commit/5d29b493666f728eccd8dd91992ea020bd4be9f9
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-02-16 (Thu, 16 Feb 2017)

  Changed paths:
    M hw/xfree86/common/xf86str.h

  Log Message:
  -----------
  xfree86: Reorganize the reserved ScrnInfoRec slots

First, move them to the end of the struct, for marginally better cache
locality for the struct members that actually have meaning; move the
existing slots at the end of the struct up near some others with similar
meanings. Second, only keep four slots each of integer, data pointer,
and function pointer; we've rarely used this escape hatch so this is
still plenty.

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Reviewed-by: Aaron Plattner <aplattner at nvidia.com>
Acked-by: Keith Packard <keithp at keithp.com>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 371ff0c969a38a0013688391bbd7375bc7b6f933
      https://github.com/XQuartz/xorg-server/commit/371ff0c969a38a0013688391bbd7375bc7b6f933
  Author: Olivier Fourdan <ofourdan at redhat.com>
  Date:   2017-02-16 (Thu, 16 Feb 2017)

  Changed paths:
    M configure.ac

  Log Message:
  -----------
  xwayland: bump wayland-protocols version to 1.7

Xwayland support for pointer locking in confinement requires
wayland-protocols version 1.7 or later.

Update the required version in configure.ac to match the minimal
required version of wayland-protocols.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>


  Commit: a6566f9e4dbf9ea9568a14e22cb5d004e10dbd4d
      https://github.com/XQuartz/xorg-server/commit/a6566f9e4dbf9ea9568a14e22cb5d004e10dbd4d
  Author: Michel Dänzer <michel.daenzer at amd.com>
  Date:   2017-02-16 (Thu, 16 Feb 2017)

  Changed paths:
    M dix/pixmap.c

  Log Message:
  -----------
  prime: Clear PixmapDirtyUpdateRec::damage when it's destroyed

The root window, and by extension any damage records referencing it,
may be destroyed before shared pixmaps referencing it, which resulted in
use-after-free / double-free in PixmapStopDirtyTracking.

Fixes: b5b292896f64 ("prime: Sync shared pixmap from root window instead of screen pixmap")
Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>


  Commit: 790c1c0b10968776440a962e1fc6d1d3157b1559
      https://github.com/XQuartz/xorg-server/commit/790c1c0b10968776440a962e1fc6d1d3157b1559
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-02-16 (Thu, 16 Feb 2017)

  Changed paths:
    M fb/wfbrename.h

  Log Message:
  -----------
  wfb: Add missing rename for fbGlyphs

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 706e6d9cd074da606016ed4ecff51e9c2a822087
      https://github.com/XQuartz/xorg-server/commit/706e6d9cd074da606016ed4ecff51e9c2a822087
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-02-16 (Thu, 16 Feb 2017)

  Changed paths:
    M fb/fb.h

  Log Message:
  -----------
  wfb: Hide init function decls behind FB_ACCESS_WRAPPER

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 4c7d229582a97e07014091909745ac7dc4d5e93e
      https://github.com/XQuartz/xorg-server/commit/4c7d229582a97e07014091909745ac7dc4d5e93e
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-02-16 (Thu, 16 Feb 2017)

  Changed paths:
    M fb/fb.h

  Log Message:
  -----------
  fb: Remove unused fbGetFreeCompClip macro

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: e161853f380a0b176c81284024066cb2776136c3
      https://github.com/XQuartz/xorg-server/commit/e161853f380a0b176c81284024066cb2776136c3
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-02-16 (Thu, 16 Feb 2017)

  Changed paths:
    M fb/fb.h
    M fb/wfbrename.h

  Log Message:
  -----------
  fb: Remove stray references to fbHasVisualTypes

Removed in 84e8de12.

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 8b170c4447868c8d4656cf2143f009db20885f3a
      https://github.com/XQuartz/xorg-server/commit/8b170c4447868c8d4656cf2143f009db20885f3a
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-02-16 (Thu, 16 Feb 2017)

  Changed paths:
    M mi/migc.h

  Log Message:
  -----------
  mi: Add include guards to migc.h

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 23d85c54421ebdd12460566918fcb7f309d2ee30
      https://github.com/XQuartz/xorg-server/commit/23d85c54421ebdd12460566918fcb7f309d2ee30
  Author: Olivier Fourdan <ofourdan at redhat.com>
  Date:   2017-02-20 (Mon, 20 Feb 2017)

  Changed paths:
    M os/io.c

  Log Message:
  -----------
  os: remove unused define MAX_TIMES_PER

Remove leftover from commit e10ba9e, MAX_TIMES_PER is not used anymore.

Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: dcb63deb1b6337781943a7bea5bb2b04c6d76b55
      https://github.com/XQuartz/xorg-server/commit/dcb63deb1b6337781943a7bea5bb2b04c6d76b55
  Author: Chris Wilson <chris at chris-wilson.co.uk>
  Date:   2017-02-23 (Thu, 23 Feb 2017)

  Changed paths:
    M os/inputthread.c

  Log Message:
  -----------
  inputthread: Initialise inputThreadInfo->changed before use

==8734== Thread 2 InputThread:
==8734== Conditional jump or move depends on uninitialised value(s)
==8734==    at 0x2FDB05: InputThreadDoWork (inputthread.c:333)
==8734==    by 0x6924423: start_thread (pthread_create.c:333)
==8734==    by 0x6C229BE: clone (clone.S:105)

Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: acdb5bf2de57c0080d2a6e730c788a0a428e13dc
      https://github.com/XQuartz/xorg-server/commit/acdb5bf2de57c0080d2a6e730c788a0a428e13dc
  Author: Chris Wilson <chris at chris-wilson.co.uk>
  Date:   2017-02-23 (Thu, 23 Feb 2017)

  Changed paths:
    M os/busfault.c

  Log Message:
  -----------
  os: Fix iteration over busfaults

Fixes a regression from

commit 41da295eb50fa08eaacd0ecde99f43a716fcb41a
Author: Keith Packard <keithp at keithp.com>
Date:   Sun Nov 3 13:12:40 2013 -0800

    Trap SIGBUS to handle truncated shared memory segments

that causes the SIGBUS handler to fail to chain up correctly and
corrupts nearby memory instead.

Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: d8161aeb50891ae10c5656487ce8f982deed5f9f
      https://github.com/XQuartz/xorg-server/commit/d8161aeb50891ae10c5656487ce8f982deed5f9f
  Author: Dr.-Ing. Dieter Jurzitza <dieter.jurzitza at t-online.de>
  Date:   2017-02-23 (Thu, 23 Feb 2017)

  Changed paths:
    M glamor/glamor_dash.c

  Log Message:
  -----------
  glamor: Fix missing declaration in dash vertex shader

Fixes a GLSL compilation error:

Failed to compile VS: 0:13(43): error: `pos' undeclared
0:13(14): error: operands to arithmetic operators must be numeric
0:13(13): error: operands to arithmetic operators must be numeric

Tested-by: Stefan Dirsch <sndirsch at suse.com>
Reviewed-by: Adam Jackson <ajax at redhat.com>


  Commit: fde5cd78488f3370c92397868ca78929296f7ad1
      https://github.com/XQuartz/xorg-server/commit/fde5cd78488f3370c92397868ca78929296f7ad1
  Author: Mihail Konev <k.mvc at ya.ru>
  Date:   2017-02-23 (Thu, 23 Feb 2017)

  Changed paths:
    M test/Makefile.am
    M test/tests.c

  Log Message:
  -----------
  tests: Fix guards for ld -wrap

Fixes XQuartz build.

Regressed-in: 23f6dbc96e47be6cbeed78cc9ef303987c3e29a9
Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Mihail Konev <k.mvc at ya.ru>


  Commit: 50bcea8be337ea983e464f2b5b8b2dc6d1024532
      https://github.com/XQuartz/xorg-server/commit/50bcea8be337ea983e464f2b5b8b2dc6d1024532
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-02-23 (Thu, 23 Feb 2017)

  Changed paths:
    M dix/property.c

  Log Message:
  -----------
  dix: Pass the whole property into deliverPropertyNotifyEvent

Instead of just the atom.  No functional change.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>


  Commit: 8e3f9ce6c06e7605832c55dfd180396f66ec8b66
      https://github.com/XQuartz/xorg-server/commit/8e3f9ce6c06e7605832c55dfd180396f66ec8b66
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-02-23 (Thu, 23 Feb 2017)

  Changed paths:
    M dix/property.c
    M include/property.h

  Log Message:
  -----------
  dix: Add a callback chain for window property state change

This will be used by in-server features that need to react to property
changes. The first one will be _XWAYLAND_ALLOW_COMMITS.

Signed-off-by: Adam Jackson <ajax at redhat.com>
[Pekka: add commit message body]
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>


  Commit: f7b8560f23ac5582e2f97dc9f6de32a42e61e520
      https://github.com/XQuartz/xorg-server/commit/f7b8560f23ac5582e2f97dc9f6de32a42e61e520
  Author: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
  Date:   2017-02-23 (Thu, 23 Feb 2017)

  Changed paths:
    M hw/xwayland/xwayland.c

  Log Message:
  -----------
  xwayland: refactor into xwl_window_post_damage()

Refactor xwl_screen_post_damage() and split the window specific code
into a new function xwl_window_post_damage().

This is a pure refactoring, there are no behavioral changes. An assert
is added to xwl_window_post_damage() to ensure frame callbacks are not
leaked if a future patch changes the call.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Olivier Fourdan <ofourdan at redhat.com>


  Commit: a6308cea602f688ac653e3466cd57767e02093a9
      https://github.com/XQuartz/xorg-server/commit/a6308cea602f688ac653e3466cd57767e02093a9
  Author: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
  Date:   2017-02-23 (Thu, 23 Feb 2017)

  Changed paths:
    M hw/xwayland/xwayland.c

  Log Message:
  -----------
  xwayland: fix 'buffer' may be used uninitialized warning

Fix the following warning due to --disable-glamor:

  CC       Xwayland-xwayland.o
In file included from /home/pq/local/include/wayland-client.h:40:0,
           from xwayland.h:35,
           from xwayland.c:26:
xwayland.c: In function ‘block_handler’:
/home/pq/local/include/wayland-client-protocol.h:3446:2: warning: ‘buffer’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  wl_proxy_marshal((struct wl_proxy *) wl_surface,
  ^
xwayland.c:466:23: note: ‘buffer’ was declared here
     struct wl_buffer *buffer;
                 ^

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Olivier Fourdan <ofourdan at redhat.com>


  Commit: 9f4d308cdad957a354912f17febe5bcad7f44812
      https://github.com/XQuartz/xorg-server/commit/9f4d308cdad957a354912f17febe5bcad7f44812
  Author: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
  Date:   2017-02-23 (Thu, 23 Feb 2017)

  Changed paths:
    M hw/xwayland/xwayland.c
    M hw/xwayland/xwayland.h

  Log Message:
  -----------
  xwayland: use _XWAYLAND_ALLOW_COMMITS property

The X11 window manager (XWM) of a Wayland compositor can use the
_XWAYLAND_ALLOW_COMMITS property to control when Xwayland sends
wl_surface.commit requests. If the property is not set, the behaviour
remains what it was.

XWM uses the property to inhibit commits until the window is ready to be
shown. This gives XWM time to set up the window decorations and internal
state before Xwayland does the first commit. XWM can use this to ensure
the first commit carries fully drawn decorations and the window
management state is correct when the window becomes visible.

Setting the property to zero inhibits further commits, and setting it to
non-zero allows commits. Deleting the property allows commits.

When the property is changed from zero to non-zero, there will be a
commit on next block_handler() call provided that some damage has been
recorded.

Without this patch (i.e. with the old behaviour) Xwayland can and will
commit the surface very soon as the application window has been realized
and drawn into.  This races with XWM and may cause visible glitches.

v3:
- introduced a simple setter for xwl_window::allow_commits
- split xwl_window_property_allow_commits() out of
  xwl_property_callback()
- check MakeAtom(_XWAYLAND_ALLOW_COMMITS)

v2:
- use PropertyStateCallback instead of XACE, based on the patch
  "xwayland: Track per-window support for netwm frame sync" by
  Adam Jackson
- check property type is XA_CARDINAL
- drop a useless memcpy()

Weston Bug: https://phabricator.freedesktop.org/T7622
Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>


  Commit: 7d7788e0f2fbbf5d05cb918df11a5e1b7e047e48
      https://github.com/XQuartz/xorg-server/commit/7d7788e0f2fbbf5d05cb918df11a5e1b7e047e48
  Author: Olivier Fourdan <ofourdan at redhat.com>
  Date:   2017-02-23 (Thu, 23 Feb 2017)

  Changed paths:
    M configure.ac

  Log Message:
  -----------
  Revert "xwayland: bump wayland-protocols version to 1.7"

This reverts commit 371ff0c969a38a0013688391bbd7375bc7b6f933.

Reviewed-by: Adam Jackson <ajax at redhat.com>


  Commit: 1b12249fd6d4d3b566043d556503f3f625b9b4ba
      https://github.com/XQuartz/xorg-server/commit/1b12249fd6d4d3b566043d556503f3f625b9b4ba
  Author: Peter Hutterer <peter.hutterer at who-t.net>
  Date:   2017-02-27 (Mon, 27 Feb 2017)

  Changed paths:
    M include/input.h
    M os/inputthread.c
    M os/io.c

  Log Message:
  -----------
  os: log a bug whenever WriteToClient is called from the input thread

The input thread should generate events, not send them. Make it easier to
find the instances where it's doing so.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Tested-by: Olivier Fourdan <ofourdan at redhat.com>
Reviewed-by: Olivier Fourdan <ofourdan at redhat.com>


  Commit: d7ac755f0b618eb1259d93c8a16ec6e39a18627c
      https://github.com/XQuartz/xorg-server/commit/d7ac755f0b618eb1259d93c8a16ec6e39a18627c
  Author: Matthieu Herrb <matthieu at herrb.eu>
  Date:   2017-02-28 (Tue, 28 Feb 2017)

  Changed paths:
    M configure.ac
    M include/dix-config.h.in
    M include/os.h
    M os/mitauth.c
    A os/timingsafe_memcmp.c

  Log Message:
  -----------
  Use timingsafe_memcmp() to compare MIT-MAGIC-COOKIES CVE-2017-2624

Provide the function definition for systems that don't have it.

Signed-off-by: Matthieu Herrb <matthieu at herrb.eu>
Reviewed-by: Alan Coopersmith <alan.coopersmith at oracle.com>


  Commit: 957e8db38f27932d353e86e9aa69cf16778b18f1
      https://github.com/XQuartz/xorg-server/commit/957e8db38f27932d353e86e9aa69cf16778b18f1
  Author: Matthieu Herrb <matthieu at herrb.eu>
  Date:   2017-02-28 (Tue, 28 Feb 2017)

  Changed paths:
    M configure.ac
    M include/dix-config.h.in
    M os/auth.c

  Log Message:
  -----------
  Use arc4random_buf(3) if available to generate cookies.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Matthieu Herrb <matthieu at herrb.eu>


  Commit: 2855f759b1e7bf7f5e57cac36c1f0d0e5ac1a683
      https://github.com/XQuartz/xorg-server/commit/2855f759b1e7bf7f5e57cac36c1f0d0e5ac1a683
  Author: Matthieu Herrb <matthieu at herrb.eu>
  Date:   2017-02-28 (Tue, 28 Feb 2017)

  Changed paths:
    M os/auth.c
    M os/mitauth.c
    M os/osdep.h
    M os/rpcauth.c
    M os/xdmauth.c

  Log Message:
  -----------
  auth: remove AuthToIDFunc and associated functions. Not used anymore.

And the current code for MitToId has a use-after-free() issue.

[Also remove the actual implementations - ajax]

Signed-off-by: Matthieu Herrb <matthieu at herrb.eu>
Reviewed-by: Alan Coopersmith <alan.coopersmith at oracle.com>


  Commit: c9cbdada755f1d00d164bef7833f1aef139ffeb0
      https://github.com/XQuartz/xorg-server/commit/c9cbdada755f1d00d164bef7833f1aef139ffeb0
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-02-28 (Tue, 28 Feb 2017)

  Changed paths:
    M hw/vfb/InitOutput.c

  Log Message:
  -----------
  vfb: Bump default depth to 24

Signed-off-by: Adam Jackson <ajax at redhat.com>
Acked-by: Keith Packard <keithp at keithp.com>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: 8c9909a99292b2fb4a86de694bb0029f61e35662
      https://github.com/XQuartz/xorg-server/commit/8c9909a99292b2fb4a86de694bb0029f61e35662
  Author: Olivier Fourdan <ofourdan at redhat.com>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M hw/xwayland/xwayland-input.c

  Log Message:
  -----------
  xwayland: Make sure we have a focus window

During the InitInput() phase, the wayland events get dequeued so we
can possibly end up calling dispatch_pointer_motion_event().

If this occurs before xwl_seat->focus_window is set, it leads to a NULL
pointer derefence and a segfault.

Check for xwl_seat->focus_window in both pointer_handle_frame() and
relative_pointer_handle_relative_motion() prior to calling
dispatch_pointer_motion_event()  like it's done in
pointer_handle_motion().

Bugzilla: https://bugzilla.redhat.com/1410804
Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: dc7ceda90fdedb2212f105095fe8d449bfdb0eb4
      https://github.com/XQuartz/xorg-server/commit/dc7ceda90fdedb2212f105095fe8d449bfdb0eb4
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M Xext/dpms.c
    M Xext/geext.c
    M Xext/panoramiXSwap.c
    M Xext/saver.c
    M Xext/security.c
    M Xext/shape.c
    M Xext/shm.c
    M Xext/sync.c
    M Xext/vidmode.c
    M Xext/xcmisc.c
    M Xext/xf86bigfont.c
    M Xext/xres.c
    M Xext/xselinux_ext.c
    M Xext/xtest.c
    M Xext/xvdisp.c
    M Xext/xvmain.c
    M Xext/xvmc.c
    M Xi/allowev.c
    M Xi/chgdctl.c
    M Xi/chgfctl.c
    M Xi/chgkbd.c
    M Xi/chgkmap.c
    M Xi/chgprop.c
    M Xi/chgptr.c
    M Xi/closedev.c
    M Xi/devbell.c
    M Xi/extinit.c
    M Xi/getbmap.c
    M Xi/getdctl.c
    M Xi/getfctl.c
    M Xi/getfocus.c
    M Xi/getkmap.c
    M Xi/getmmap.c
    M Xi/getprop.c
    M Xi/getselev.c
    M Xi/getvers.c
    M Xi/grabdev.c
    M Xi/grabdevb.c
    M Xi/grabdevk.c
    M Xi/gtmotion.c
    M Xi/listdev.c
    M Xi/opendev.c
    M Xi/queryst.c
    M Xi/selectev.c
    M Xi/sendexev.c
    M Xi/setbmap.c
    M Xi/setdval.c
    M Xi/setfocus.c
    M Xi/setmmap.c
    M Xi/setmode.c
    M Xi/ungrdev.c
    M Xi/ungrdevb.c
    M Xi/ungrdevk.c
    M Xi/xiallowev.c
    M Xi/xibarriers.c
    M Xi/xichangecursor.c
    M Xi/xichangehierarchy.c
    M Xi/xigetclientpointer.c
    M Xi/xigrabdev.c
    M Xi/xipassivegrab.c
    M Xi/xiproperty.c
    M Xi/xiquerydevice.c
    M Xi/xiquerypointer.c
    M Xi/xiqueryversion.c
    M Xi/xiselectev.c
    M Xi/xisetclientpointer.c
    M Xi/xisetdevfocus.c
    M Xi/xiwarppointer.c
    M composite/compext.c
    M damageext/damageext.c
    M dbe/dbe.c
    M dix/swaprep.c
    M dix/swapreq.c
    M dri3/dri3_request.c
    M hw/dmx/dmx.c
    M hw/xfree86/common/xf86DGA.c
    M hw/xfree86/dri/xf86dri.c
    M hw/xfree86/dri2/dri2ext.c
    M present/present_request.c
    M randr/randr.c
    M randr/rrsdispatch.c
    M randr/rrxinerama.c
    M record/record.c
    M render/render.c
    M xfixes/cursor.c
    M xfixes/region.c
    M xfixes/saveset.c
    M xfixes/select.c
    M xfixes/xfixes.c
    M xkb/xkbSwap.c

  Log Message:
  -----------
  dispatch: Mark swapped dispatch as _X_COLD

This touches everything that ends up in the Xorg binary; the big missing
part is GLX since that's all generated code. Cuts about 14k from the
binary on amd64.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: 386fbbe410a1168b724136e54cf3bd37fb64ad4e
      https://github.com/XQuartz/xorg-server/commit/386fbbe410a1168b724136e54cf3bd37fb64ad4e
  Author: Matthieu Herrb <matthieu at herrb.eu>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M configure.ac
    M os/auth.c

  Log Message:
  -----------
  Brown bag commit to fix 957e8d (arc4random_buf() support)

- typo in #ifdef check
- also need to add AC_CHECK_FUNCS([arc4random_buf])

Reported-by Eric Engestrom. Thanks

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Matthieu Herrb <matthieu at herrb.eu>


  Commit: 3dad57b121fdf001e75fffa7e3007a9a0a154f67
      https://github.com/XQuartz/xorg-server/commit/3dad57b121fdf001e75fffa7e3007a9a0a154f67
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M hw/xfree86/sdksyms.sh

  Log Message:
  -----------
  sdksyms: Tighten up the symbols we add to the magic table

The code as written would match anything declared extern. _X_EXPORT is
what we really mean here. That's a macro, so check for what it expands
to and skip if not found.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 35fbcb3f9987758bc26a87d5d7c033f4367cbd39
      https://github.com/XQuartz/xorg-server/commit/35fbcb3f9987758bc26a87d5d7c033f4367cbd39
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M configure.ac
    M hw/kdrive/Makefile.am
    R hw/kdrive/fake/.gitignore
    R hw/kdrive/fake/Makefile.am
    R hw/kdrive/fake/fake.c
    R hw/kdrive/fake/fake.h
    R hw/kdrive/fake/fakeinit.c
    R hw/kdrive/fake/kbd.c
    R hw/kdrive/fake/mouse.c
    R hw/kdrive/fake/os.c

  Log Message:
  -----------
  xfake: Remove

We already have Xvfb for a dummy DDX.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Acked-by: Alex Deucher <alexander.deucher at amd.com>


  Commit: feed7e3f982a7ac14f6fe85ed2e1ec4a83700841
      https://github.com/XQuartz/xorg-server/commit/feed7e3f982a7ac14f6fe85ed2e1ec4a83700841
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M configure.ac
    M hw/kdrive/Makefile.am
    R hw/kdrive/fbdev/.gitignore
    R hw/kdrive/fbdev/Makefile.am
    R hw/kdrive/fbdev/Xfbdev.man
    R hw/kdrive/fbdev/fbdev.c
    R hw/kdrive/fbdev/fbdev.h
    R hw/kdrive/fbdev/fbinit.c

  Log Message:
  -----------
  xfbdev: Remove

With the shadow framebuffer overallocation bug fixed (ref below), Xorg +
fbdev has tens to hundreds of kilobytes more baseline memory usage than
Xfbdev. That's not nothing, but it's little enough that we should focus
our efforts on the server that actually gets development attention.

https://cgit.freedesktop.org/xorg/driver/xf86-video-fbdev/commit/?id=2c5eba8

Signed-off-by: Adam Jackson <ajax at redhat.com>
Acked-by: Alex Deucher <alexander.deucher at amd.com>


  Commit: 27819950e4158326e0f83a30f2e8968b932625ef
      https://github.com/XQuartz/xorg-server/commit/27819950e4158326e0f83a30f2e8968b932625ef
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M configure.ac
    M hw/kdrive/Makefile.am
    R hw/kdrive/linux/Makefile.am
    R hw/kdrive/linux/evdev.c
    R hw/kdrive/linux/linux.c
    R hw/kdrive/linux/tslib.c

  Log Message:
  -----------
  kdrive: Remove now-unused linux backend

With Xfbdev gone this has no consumers.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Acked-by: Alex Deucher <alexander.deucher at amd.com>


  Commit: fe5c340046c8cf755b92763a49b2dc475e856a76
      https://github.com/XQuartz/xorg-server/commit/fe5c340046c8cf755b92763a49b2dc475e856a76
  Author: Olivier Fourdan <ofourdan at redhat.com>
  Date:   2017-03-02 (Thu, 02 Mar 2017)

  Changed paths:
    M hw/xwayland/xwayland-input.c

  Log Message:
  -----------
  xwayland: do not set checkRepeat on master kbd

keyboard_check_repeat() fetches the XWayland seat from the
dev->public.devicePrivate do do its thing.

If a key event is sent programmatically through Xtest, our device is the
virtual core keyboard and that has a dev->public.devicePrivate of NULL,
leading to a segfault in keyboard_check_repeat().

This is the case with "antimicro" which sends key events based on the
joystick buttons.

Don't set the checkRepeat handler on the VCK since it cannot possibly work
anyway and it has no effect on the actual checkRepeat intended functionality.

Bugzilla: https://bugzilla.redhat.com/1416244
Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 9426c5500b72e1fe004fef4c3b259023c4ec49f7
      https://github.com/XQuartz/xorg-server/commit/9426c5500b72e1fe004fef4c3b259023c4ec49f7
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-02 (Thu, 02 Mar 2017)

  Changed paths:
    M mi/miarc.c

  Log Message:
  -----------
  miarc: Style cleanup for miWideArc

Outdent, normalize comment formatting, and use 'goto out' idiom for
error paths. No functional change.

Reviewed-by: Keith Packard <keithp at keithp.com>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 849c825855b82caf44d25edb8155bc9f17869256
      https://github.com/XQuartz/xorg-server/commit/849c825855b82caf44d25edb8155bc9f17869256
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-02 (Thu, 02 Mar 2017)

  Changed paths:
    M mi/miarc.c

  Log Message:
  -----------
  miarc: Make the caller free the arc span data

drawArc does some fairly expensive computation, but it's only sensitive
to arc width/height. Thread the span data up through the call chain so
it's at least possible for the caller to cache things.

Reviewed-by: Keith Packard <keithp at keithp.com>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 0d7f05ed99b71a4641415c9f26e245c3bb24a9a0
      https://github.com/XQuartz/xorg-server/commit/0d7f05ed99b71a4641415c9f26e245c3bb24a9a0
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-02 (Thu, 02 Mar 2017)

  Changed paths:
    M mi/miarc.c

  Log Message:
  -----------
  miarc: "Cache" arc span data for dashed arcs

This avoids recomputing the span data for every dash. x11perf thinks
this is a pretty modest speedup:

    832919.4       840471.1 ( 1.009)   100-pixel dashed ellipse
    672353.1       680652.2 ( 1.012)   100-pixel double-dashed ellipse
     13748.9        24287.9 ( 1.767)   100-pixel wide dashed ellipse
      9236.3        21298.2 ( 2.306)   100-pixel wide double-dashed ellipse

But part of the reason it's so modest there is that the arcs are
relatively small (100 pixel diameter at line width 10, so ~6000 pixels)
and the dashes relatively large (30 on 20 off so ~6 dashes per
quadrant).

With larger arcs and finer dashes this is much more impressive. A fairly
trivial testcase of a single 15000x13000 arc with the default {2, 2}
dash pattern drops from ~3500 milliseconds to 10 milliseconds.

Reviewed-by: Keith Packard <keithp at keithp.com>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 5c44169caed811e59a65ba346de1cadb46d266ec
      https://github.com/XQuartz/xorg-server/commit/5c44169caed811e59a65ba346de1cadb46d266ec
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-02 (Thu, 02 Mar 2017)

  Changed paths:
    M os/timingsafe_memcmp.c

  Log Message:
  -----------
  os: Squash missing declaration warning for timingsafe_memcmp

timingsafe_memcmp.c:21:1: warning: no previous prototype for ‘timingsafe_memcmp’ [-Wmissing-prototypes]
 timingsafe_memcmp(const void *b1, const void *b2, size_t len)

Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 64ca14b85e45b13628396f21d1903e311f92a9e1
      https://github.com/XQuartz/xorg-server/commit/64ca14b85e45b13628396f21d1903e311f92a9e1
  Author: Olivier Fourdan <ofourdan at redhat.com>
  Date:   2017-03-06 (Mon, 06 Mar 2017)

  Changed paths:
    M hw/xwayland/xwayland-glamor.c

  Log Message:
  -----------
  xwayland: make sure client is not gone in sync callback

in XWayland, dri3_send_open_reply() is called from a sync callback, so
there is a possibility that the client might be gone when we get to the
callback eventually, which leads to a crash in _XSERVTransSendFd() from
WriteFdToClient() .

Check if clientGone has been set in the sync callback handler to avoid
this.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99149
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100040
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1416553
Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
Tested-by: Mark B <mark.blakeney at bullet-systems.net>


  Commit: d4b7e0eaa4b2e97ce1dec653a2ae7d9621fe1431
      https://github.com/XQuartz/xorg-server/commit/d4b7e0eaa4b2e97ce1dec653a2ae7d9621fe1431
  Author: Olivier Fourdan <ofourdan at redhat.com>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M hw/xwayland/xwayland-cursor.c

  Log Message:
  -----------
  xwayland: clear cursor frame callback

After an X cursor is unrealized, the seat's corresponding x_cursor is
cleared, but if a frame callback was pending at the time, it will
remain and thus prevent any further cursor update, leaving the window
with no cursor.

Make sure to destroy the frame callback, if any, when that occurs, so
that next time a cursor needs to be set, it won't be ignored for a frame
callback that will never be triggered.

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1389327
Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Rui Matos <tiagomatos at gmail.com>


  Commit: 9232835bd16b6948442f7a4588fb9376782cb814
      https://github.com/XQuartz/xorg-server/commit/9232835bd16b6948442f7a4588fb9376782cb814
  Author: Qiang Yu <Qiang.Yu at amd.com>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M configure.ac
    M glamor/glamor_egl.c
    M include/dix-config.h.in

  Log Message:
  -----------
  glamor: use drmGetDeviceNameFromFD2 when available

This is for glamor can support fd from DRM render node which is useful
for a render only DDX.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Qiang Yu <Qiang.Yu at amd.com>


  Commit: 669eb0a65430678fe97de9405e4e42dcb4417ed2
      https://github.com/XQuartz/xorg-server/commit/669eb0a65430678fe97de9405e4e42dcb4417ed2
  Author: Jon Turney <jon.turney at dronecode.org.uk>
  Date:   2017-03-09 (Thu, 09 Mar 2017)

  Changed paths:
    M test/xi2/protocol-common.h
    M test/xi2/protocol-xiselectevents.c

  Log Message:
  -----------
  test: Use correct signature for XISetEventMask wrapper

This looks like it's always been wrong, but didn't matter before the single
test binary changes as the wrapper was only in place for tests which didn't
care about it's effects, so didn't forward to the real implementation. (see
the changes to protocol-xiselectevents.c in 773fc07e)

This fixes the protocol_xigetselectedevents_test for me.  I'm a bit
surprised that passes for anyone at the moment.

Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 937527f9798d573ec82c2c508821899c229c018f
      https://github.com/XQuartz/xorg-server/commit/937527f9798d573ec82c2c508821899c229c018f
  Author: Olivier Fourdan <ofourdan at redhat.com>
  Date:   2017-03-09 (Thu, 09 Mar 2017)

  Changed paths:
    M hw/xwayland/xwayland-glamor.c

  Log Message:
  -----------
  xwayland: Monitor client states to destroy callbacks

Client resources can survive the client itself, in which case we
may end up in our sync callback trying to access client's data after
it's been freed/reclaimed.

Add a ClientStateCallback handler to monitor the client state changes
and clear the sync callback set up by the glamor drm code if any.

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=100040
Tested-by: Mark B <mark.blakeney at bullet-systems.net>
Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>


  Commit: 0c1574d9882a91b2c1a046bf4ac5a9b138a37965
      https://github.com/XQuartz/xorg-server/commit/0c1574d9882a91b2c1a046bf4ac5a9b138a37965
  Author: Michel Dänzer <michel.daenzer at amd.com>
  Date:   2017-03-09 (Thu, 09 Mar 2017)

  Changed paths:
    M glamor/glamor_dash.c

  Log Message:
  -----------
  glamor: Fix typo: "vec2_pos" -> "vec2 pos"

Fixes crash when trying to use dashed lines:

 Failed to compile VS: 0:8(2): error: `vec2_pos' undeclared

Trivial.

Fixes: 	d8161aeb5089 ("glamor: Fix missing declaration in dash vertex
                 shader")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99943


  Commit: ac15d4cecca377c5c31ab852c39bbd554ca48fe2
      https://github.com/XQuartz/xorg-server/commit/ac15d4cecca377c5c31ab852c39bbd554ca48fe2
  Author: Tobias Stoeckmann <tobias at stoeckmann.org>
  Date:   2017-03-13 (Mon, 13 Mar 2017)

  Changed paths:
    M render/render.c

  Log Message:
  -----------
  render: Fix out of boundary heap access

ProcRenderCreateRadialGradient and ProcRenderCreateConicalGradient must
be protected against an integer overflow during length check. This is
already included in ProcRenderCreateLinearGradient since the fix for
CVE-2008-2362.

This can only be successfully exploited on a 32 bit system for an
out of boundary read later on. Validated by using ASAN.

Reviewed-by: Adam Jackson <ajax at redhat.com>


  Commit: bca221609004aecbcc8928382ad29ce319d2eb6f
      https://github.com/XQuartz/xorg-server/commit/bca221609004aecbcc8928382ad29ce319d2eb6f
  Author: Jon TURNEY <jon.turney at dronecode.org.uk>
  Date:   2017-03-14 (Tue, 14 Mar 2017)

  Changed paths:
    M hw/xfree86/sdksyms.sh

  Log Message:
  -----------
  xfree86: work around a sdksyms problem with gcc5 on Cygwin

The linemarkers in the preprocessor output from gcc5 on Cygwin have
canonicalized paths to included files (e.g. xserver/build/../include/misc.h
is canonicalized to xserver/build/include/misc.h). (see gcc svn rev 210264,
which causes the transformation performed by -fcanonical-system-headers to
be applied to all include pathnames)

These canonicalized paths won't match $topdir, so sdksyms doesn't look at
the contents of those headers for sdk exported symbols.

Workaround this by canonicalizing all the paths we consider, using readlink.

v2:
Keep a cache of readlink results so it isn't quite so dreadfully slow.

Reviewed-by: Adam Jackson <ajax at redhat.com>


  Commit: 646bc74cded8b77d57312ae858a2ed01b0d17c21
      https://github.com/XQuartz/xorg-server/commit/646bc74cded8b77d57312ae858a2ed01b0d17c21
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-14 (Tue, 14 Mar 2017)

  Changed paths:
    M test/Makefile.am

  Log Message:
  -----------
  test: Fix distcheck failures

Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: f40ff18c96e02ff18a367bf53feeb4bd8ee952a0
      https://github.com/XQuartz/xorg-server/commit/f40ff18c96e02ff18a367bf53feeb4bd8ee952a0
  Author: Olivier Fourdan <ofourdan at redhat.com>
  Date:   2017-03-15 (Wed, 15 Mar 2017)

  Changed paths:
    M glamor/glamor.c

  Log Message:
  -----------
  glamor: Check for NULL pixmap in glamor_get_pixmap_texture()

glamor_create_pixmap() would return a NullPixmap if the given size is
larger than the maximum size of a pixmap.

But glamor_get_pixmap_texture() won't check if the given pixmap is
non-null, leading to a segfault if glamor_create_pixmap() failed.

This can be reproduced by passing Xephyr a very large screen width,
e.g.:

 $ Xephyr -glamor -screen 32768x1024 :10

 (EE)
 (EE) Backtrace:
 (EE) 0: Xephyr (OsSigHandler+0x29)
 (EE) 1: /lib64/libpthread.so.0 (__restore_rt+0x0)
 (EE) 2: Xephyr (glamor_get_pixmap_texture+0x30)
 (EE) 3: Xephyr (ephyr_glamor_create_screen_resources+0xc6)
 (EE) 4: Xephyr (ephyrCreateResources+0x98)
 (EE) 5: Xephyr (dix_main+0x275)
 (EE) 6: /lib64/libc.so.6 (__libc_start_main+0xf1)
 (EE) 7: Xephyr (_start+0x2a)
 (EE) 8: ? (?+0x2a) [0x2a]
 (EE)
 (EE) Segmentation fault at address 0x0
 (EE)
 Fatal server error:
 (EE) Caught signal 11 (Segmentation fault). Server aborting
 (EE)
 Aborted (core dumped)

Bugzilla: https://bugzilla.redhat.com/1431633
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>


  Commit: b0ce1d088a863492f5de11e4dbde10af4261d892
      https://github.com/XQuartz/xorg-server/commit/b0ce1d088a863492f5de11e4dbde10af4261d892
  Author: Olivier Fourdan <ofourdan at redhat.com>
  Date:   2017-03-15 (Wed, 15 Mar 2017)

  Changed paths:
    M hw/kdrive/ephyr/ephyr.c
    M hw/kdrive/ephyr/hostx.c

  Log Message:
  -----------
  Xephyr: Check screen resources creation success

If the screen pixmap or the corresponding texture creation with glamor
fails, exit cleanly with an error message instead of segfaulting.

Fixes: https://bugzilla.redhat.com/1431633
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>


  Commit: 04b4bad7c048fd077fe839f10634c99ef1e488af
      https://github.com/XQuartz/xorg-server/commit/04b4bad7c048fd077fe839f10634c99ef1e488af
  Author: Olivier Fourdan <ofourdan at redhat.com>
  Date:   2017-03-15 (Wed, 15 Mar 2017)

  Changed paths:
    M glamor/glamor_transform.c
    M glamor/glamor_transform.h

  Log Message:
  -----------
  glamor: glamor_set_destination_drawable() can fail

The fbo_array of a given glamor pixmap can be NULL in some cases, as
glamor_create_fbo_array() can fail to allocate the FBO array.

If this is the case, glamor_pixmap_fbo_at() will return NULL even though
the box index is valid, and glamor_set_destination_drawable() simply
assumes glamor_pixmap_fbo_at() will return an FBO prior to pass the
value to glamor_set_destination_pixmap_fbo(), which will segfault.

We need a way for glamor_set_destination_drawable() to fail safely and
let the caller know about the failure.

Add a boolean return value to glamor_set_destination_drawable() for that
purpose.

Bugzilla: https://bugzilla.redhat.com/1417575
Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>


  Commit: 455051a0f1d2bc84f605c325f647bd64d414c47d
      https://github.com/XQuartz/xorg-server/commit/455051a0f1d2bc84f605c325f647bd64d414c47d
  Author: Olivier Fourdan <ofourdan at redhat.com>
  Date:   2017-03-15 (Wed, 15 Mar 2017)

  Changed paths:
    M glamor/glamor_copy.c
    M glamor/glamor_glyphblt.c
    M glamor/glamor_lines.c
    M glamor/glamor_points.c
    M glamor/glamor_rects.c
    M glamor/glamor_segs.c
    M glamor/glamor_spans.c

  Log Message:
  -----------
  glamor: Check glamor_set_destination_drawable() return value

Check the value returned by glamor_set_destination_drawable() and use
the fallback code path where possible.

Bugzilla: https://bugzilla.redhat.com/1417575
Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>


  Commit: f1f865e909090406841a9b9416ea6259a75c2086
      https://github.com/XQuartz/xorg-server/commit/f1f865e909090406841a9b9416ea6259a75c2086
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-15 (Wed, 15 Mar 2017)

  Changed paths:
    M hw/xfree86/parser/scan.c

  Log Message:
  -----------
  parser: Fix crash when xf86nameCompare(s1 = x, s2 = NULL)

Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: e337de2d488a124e5fee0fdcb882567b68f1767d
      https://github.com/XQuartz/xorg-server/commit/e337de2d488a124e5fee0fdcb882567b68f1767d
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-15 (Wed, 15 Mar 2017)

  Changed paths:
    M Xext/panoramiXprocs.c

  Log Message:
  -----------
  xinerama: Implement graphics exposures for window->pixmap copies (v4)

This code is using GetImage to accumulate a logical view of the window
image (since the windows will be clipped to their containing screen),
and then PutImage to load that back into the pixmap.  What it wasn't
doing was constructing a region for the obscured areas of the window and
emitting graphics exposures for same.

v2: Fix coordinate translation when the source is the root window
v3: Create sourceBox with the right coordinates initially instead of
translating (Keith Packard)
v4: Clamp the region to 15 bits to avoid overflow (Keith Packard)

Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 5b5ba7dc3d544868035b7088e9aac62eb2511e10
      https://github.com/XQuartz/xorg-server/commit/5b5ba7dc3d544868035b7088e9aac62eb2511e10
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-16 (Thu, 16 Mar 2017)

  Changed paths:
    M hw/xfree86/sdksyms.sh

  Log Message:
  -----------
  Revert "sdksyms: Tighten up the symbols we add to the magic table"

Enough people are reporting build issues pointing at this commit that
it's not worth the benefit.

This reverts commit 3dad57b121fdf001e75fffa7e3007a9a0a154f67.


  Commit: fe0b297420fc1de8a7fab28457d0864b3182e967
      https://github.com/XQuartz/xorg-server/commit/fe0b297420fc1de8a7fab28457d0864b3182e967
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-03-16 (Thu, 16 Mar 2017)

  Changed paths:
    M glamor/glamor_dash.c

  Log Message:
  -----------
  glamor: Fix dashed line rendering.

We were binding the screen pixmap as the dash and sampling its alpha,
which is usually just 1.0 (no dashing at all).

Please cherry-pick this to active stable branches.

Signed-off-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Keith Packard <keithp at keithp.com>
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>


  Commit: 83c4297d2c4fd501a9d36bc0cb7d357a8d22394c
      https://github.com/XQuartz/xorg-server/commit/83c4297d2c4fd501a9d36bc0cb7d357a8d22394c
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M hw/kdrive/ephyr/hostx.c

  Log Message:
  -----------
  ephyr: Don't clobber bitsPerPixel when using glamor

This ends up passing 0 as the bpp argument to fb screen setup, which is
not really the best plan.

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: e33be78e2ab63abc84aa0baddff90bcefa9c183a
      https://github.com/XQuartz/xorg-server/commit/e33be78e2ab63abc84aa0baddff90bcefa9c183a
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M hw/xfree86/common/xf86.h
    M hw/xfree86/common/xf86Config.c
    M hw/xfree86/common/xf86Globals.c
    M hw/xfree86/common/xf86Helper.c
    M hw/xfree86/common/xf86Init.c
    M hw/xfree86/common/xf86Priv.h
    M hw/xfree86/common/xf86Privstr.h
    M hw/xfree86/common/xf86str.h
    M hw/xfree86/man/Xorg.man
    M hw/xfree86/man/xorg.conf.man

  Log Message:
  -----------
  xfree86: Remove 24bpp pixmap format support (v2)

There's really no reason to pretend to support this, apps hate it, all
we're doing is giving people a way to injure themselves. It doesn't work
anyway with any Radeon, any NVIDIA chip, or any Intel chip since i810.
Rip out all the logic for handling 24bpp pixmaps and framebuffers, and
silently ignore the old options that would ask for it.

The cirrus alpine driver has been updated to default to 16bpp, and both
it and the i810 driver can now use the 32->24 conversion code in shadow
if they want. All other drivers support 32bpp. Configurations that
explicitly request 24bpp in order to fit in VRAM will be broken now
though.

v2: Fix command line options to silently ignore 24bpp rather than fail

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 0803918e64262482035f042e5e1f2a571d3dea1b
      https://github.com/XQuartz/xorg-server/commit/0803918e64262482035f042e5e1f2a571d3dea1b
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M exa/exa.c
    M fb/Makefile.am
    M fb/fb.h
    R fb/fb24_32.c
    R fb/fb24_32.h
    M fb/fbarc.c
    M fb/fbbits.c
    M fb/fbbits.h
    M fb/fbblt.c
    M fb/fbbltone.c
    M fb/fbcopy.c
    M fb/fbgc.c
    M fb/fbgetsp.c
    M fb/fbglyph.c
    M fb/fbimage.c
    M fb/fbline.c
    M fb/fboverlay.c
    M fb/fbpixmap.c
    M fb/fbpoint.c
    M fb/fbscreen.c
    M fb/fbseg.c
    M fb/fbsetsp.c
    M fb/fbsolid.c
    M fb/fbwindow.c
    M fb/wfbrename.h
    M glamor/glamor_core.c
    M include/gcstruct.h
    M mi/migc.c

  Log Message:
  -----------
  fb: Remove 24bpp support (v3)

v2:
- Require power-of-two bpp in ScreenInit
- Eliminate fbCreatePixmapBpp

v3
- Squash in the exa and glamor changes so we can remove pRotatedPixmap
  in the same stroke.

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 8805a48ed35afb2ca66315656c1575ae5a01c639
      https://github.com/XQuartz/xorg-server/commit/8805a48ed35afb2ca66315656c1575ae5a01c639
  Author: Olivier Fourdan <ofourdan at redhat.com>
  Date:   2017-03-17 (Fri, 17 Mar 2017)

  Changed paths:
    M glamor/glamor_fbo.c

  Log Message:
  -----------
  glamor: avoid a crash if texture allocation failed

Texture creation in _glamor_create_tex() can fail if a GL_OUT_OF_MEMORY
is raised, in which case the texture returned is zero.

But the texture value is not checked in glamor_create_fbo() and glamor
will abort in glamor_pixmap_ensure_fb() because the fbo->tex is 0:

  Truncated backtrace:
  Thread no. 1 (10 frames)
   #4 glamor_pixmap_ensure_fb at glamor_fbo.c:57
   #5 glamor_create_fbo_from_tex at glamor_fbo.c:112
   #6 glamor_create_fbo at glamor_fbo.c:159
   #7 glamor_create_fbo_array at glamor_fbo.c:210
   #8 glamor_create_pixmap at glamor.c:226
   #9 compNewPixmap at compalloc.c:536
   #10 compAllocPixmap at compalloc.c:605
   #11 compCheckRedirect at compwindow.c:167
   #12 compRealizeWindow at compwindow.c:267
   #13 RealizeTree at window.c:2617

Check the value returned by _glamor_create_tex() in glamor_create_fbo()
and return NULL in the texture is zero.

All callers of glamor_create_fbo() actually check the returned value and
will use a fallback code path if it's NULL.

Please cherry-pick this to active stable branches.

Bugzilla: https://bugzilla.redhat.com/1433305
Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: 368f60d461421fe5e2bbd90652d6ac858dbff8fe
      https://github.com/XQuartz/xorg-server/commit/368f60d461421fe5e2bbd90652d6ac858dbff8fe
  Author: Kenneth Graunke <kenneth at whitecape.org>
  Date:   2017-03-20 (Mon, 20 Mar 2017)

  Changed paths:
    M hw/xfree86/dri2/pci_ids/i965_pci_ids.h

  Log Message:
  -----------
  dri2: Sync i965_pci_ids.h from Mesa.

Copied from Mesa with no modifications.  Gives us Geminilake PCI IDs.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Acked-by: Eric Anholt <eric at anholt.net>


  Commit: 4aa35c46dab72bc945981f6fd29e494133bc2b0a
      https://github.com/XQuartz/xorg-server/commit/4aa35c46dab72bc945981f6fd29e494133bc2b0a
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-20 (Mon, 20 Mar 2017)

  Changed paths:
    M fb/fbimage.c

  Log Message:
  -----------
  fb: Handle ZPixmap planemask in GetImage the other way around

Formerly we'd zero the image data and then pull out a plane at a time.
It's faster to apply the planemask after the fact, since that turns the
GetImage into a memcpy:

  100000.0  101000.0 (1.010) (copy 0xaaaaaaaa) ShmGetImage 10x10 square
   42400.0   59400.0 (1.401) (copy 0xaaaaaaaa) ShmGetImage 100x100 square
    3040.0    5280.0 (1.737) (copy 0xaaaaaaaa) ShmGetImage 500x500 square
   96100.0   95200.0 (0.991) (0xaaaaaaaa) GetImage 10x10 square
   29600.0   36800.0 (1.243) (0xaaaaaaaa) GetImage 100x100 square
    1850.0    2620.0 (1.416) (0xaaaaaaaa) GetImage 500x500 square

Measured with Xvfb at depth 24 on Skylake i7-6560U.

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 1ad230682338a9d2fc6eca6966a5bebb007df32c
      https://github.com/XQuartz/xorg-server/commit/1ad230682338a9d2fc6eca6966a5bebb007df32c
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-20 (Mon, 20 Mar 2017)

  Changed paths:
    M glamor/glamor_image.c

  Log Message:
  -----------
  glamor: Avoid software fallback for planemasked ZPixmap GetImage

Same trick as in fb: just do a normal GetImage and deal with the
planemask on the CPU if you have to. Since the software fallback hit for
glamor is pretty brutal, this is a much more impressive win for glamor
than it was for fb:

  11100.0  87700.0 (7.901) (copy 0xaaaaaaaa) ShmGetImage 10x10 square
   9840.0  47800.0 (4.858) (copy 0xaaaaaaaa) ShmGetImage 100x100 square
   1550.0   4240.0 (2.735) (copy 0xaaaaaaaa) ShmGetImage 500x500 square
   9450.0  78900.0 (8.349) (0xaaaaaaaa) GetImage 10x10 square
   6910.0  30900.0 (4.472) (0xaaaaaaaa) GetImage 100x100 square
    431.0   2020.0 (4.687) (0xaaaaaaaa) GetImage 500x500 square

Measured with Xephyr -glamor on Skylake GT3e.

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 40c12a76c2ae57adefd3b1d412387ebbfe2fb784
      https://github.com/XQuartz/xorg-server/commit/40c12a76c2ae57adefd3b1d412387ebbfe2fb784
  Author: Tobias Stoeckmann <tobias at stoeckmann.org>
  Date:   2017-03-20 (Mon, 20 Mar 2017)

  Changed paths:
    M record/record.c

  Log Message:
  -----------
  record: Fix OOB access in ProcRecordUnregisterClients

If a client sends a RecordUnregisterClients request with an nClients
field larger than INT_MAX / 4, an integer overflow leads to an
out of boundary access in RecordSanityCheckClientSpecifiers.

An example line with libXtst would be:
XRecordUnregisterClients(dpy, rc, clients, 0x40000001);

Reviewed-by: Adam Jackson <ajax at redhat.com>


  Commit: 4e76c2711740b775242170d8e5ee56c7e6829cce
      https://github.com/XQuartz/xorg-server/commit/4e76c2711740b775242170d8e5ee56c7e6829cce
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-21 (Tue, 21 Mar 2017)

  Changed paths:
    M dix/privates.c
    M include/privates.h
    M miext/damage/damage.c
    M miext/damage/damagestr.h

  Log Message:
  -----------
  dix: Remove PRIVATE_DAMAGE

None of this is actually wired up to anything, so we can also remove the
devPrivates from the DamageRec. The DamageExtRec is what would need
devPrivates for selinux labeling, in principle.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: fdc79fe72bc0b97776df2c3a664076c60e08a87c
      https://github.com/XQuartz/xorg-server/commit/fdc79fe72bc0b97776df2c3a664076c60e08a87c
  Author: Michel Dänzer <michel.daenzer at amd.com>
  Date:   2017-03-21 (Tue, 21 Mar 2017)

  Changed paths:
    M hw/xfree86/modes/xf86EdidModes.c

  Log Message:
  -----------
  edid: Prune duplicates after adding modes from DDC

Multiple calls to xf86EdidMonitorSet (which can be triggered e.g. by
running xrandr) would potentially keep adding the same modes, causing
the Monitor->Modes list to keep growing larger and using up more memory.

Fix this by calling xf86PruneDuplicateModes after adding the modes
returned by xf86DDCGetModes. This makes sure there's only one instance
of each unique mode in the list.

v2:
* Replace semicolon with {} for empty for loop (Emil Velikov)
* Slightly tweak commit log to avoid minor inaccuracy about what
  xf86PruneDuplicateModes does

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99521
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>


  Commit: eb2cf11724df5cbe0be3cce1ad4c61ba61e8ec6b
      https://github.com/XQuartz/xorg-server/commit/eb2cf11724df5cbe0be3cce1ad4c61ba61e8ec6b
  Author: Michel Dänzer <michel.daenzer at amd.com>
  Date:   2017-03-23 (Thu, 23 Mar 2017)

  Changed paths:
    M hw/kdrive/ephyr/ephyr_draw.c

  Log Message:
  -----------
  Xephyr: Handle source-only pictures in ephyrPrepare/DoneComposite

There is no pixmap associated with source-only pictures.

Fixes Xephyr -fakexa crashing on startup.

Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: ad6689b7db0a4b0d22716acedae98462a68ea1ae
      https://github.com/XQuartz/xorg-server/commit/ad6689b7db0a4b0d22716acedae98462a68ea1ae
  Author: Mariusz Bialonczyk <manio at skyboo.net>
  Date:   2017-03-23 (Thu, 23 Mar 2017)

  Changed paths:
    M configure.ac

  Log Message:
  -----------
  configure.ac: fix checking for libdrm version after 9232835bd

No matter what libdrm version was installed, it always set
the GLAMOR_HAS_DRM_NAME_FROM_FD_2 conditional to 1.
This obviously leads to compilation problems.

Fixes: 9232835bd16b ("glamor: use drmGetDeviceNameFromFD2 when available")
Signed-off-by: Mariusz Bialonczyk <manio at skyboo.net>
Reviewed-and-Tested-by: Qiang Yu <Qiang.Yu at amd.com>


  Commit: 1b1a8c481773e15142202a7b761d614b33f12577
      https://github.com/XQuartz/xorg-server/commit/1b1a8c481773e15142202a7b761d614b33f12577
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-03-23 (Thu, 23 Mar 2017)

  Changed paths:
    M hw/kdrive/ephyr/ephyrinit.c
    M hw/kdrive/src/kinput.c
    M include/kdrive-config.h.in

  Log Message:
  -----------
  kdrive: Unifdef KDRIVE_EVDEV.

ajax deleted the evdev driver in the removal of fbdev and the linux
backend.

Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Signed-off-by: Eric Anholt <eric at anholt.net>


  Commit: 5c7ed785e3bdb9f0fbf8fbfdc93b5fdd2b2c7dbf
      https://github.com/XQuartz/xorg-server/commit/5c7ed785e3bdb9f0fbf8fbfdc93b5fdd2b2c7dbf
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-03-23 (Thu, 23 Mar 2017)

  Changed paths:
    M configure.ac
    M include/dix-config.h.in
    M include/kdrive-config.h.in
    M include/xorg-server.h.in

  Log Message:
  -----------
  kdrive: Remove vestiges of TSLIB support.

The actual code was gone in 27819950e4158326e0f83a30f2e8968b932625ef,
but some checks remained.

Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Signed-off-by: Eric Anholt <eric at anholt.net>


  Commit: 190c2adf4a237a4c0dc13d7566ca91662271d3e4
      https://github.com/XQuartz/xorg-server/commit/190c2adf4a237a4c0dc13d7566ca91662271d3e4
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-03-23 (Thu, 23 Mar 2017)

  Changed paths:
    M configure.ac
    M hw/kdrive/ephyr/Makefile.am
    M hw/kdrive/ephyr/ephyr.c
    M hw/kdrive/ephyr/ephyr_draw.c
    M hw/kdrive/ephyr/ephyr_glamor_xv.c
    M hw/kdrive/ephyr/ephyrcursor.c
    M hw/kdrive/ephyr/ephyrinit.c
    M hw/kdrive/ephyr/ephyrvideo.c
    M hw/kdrive/ephyr/hostx.c
    M hw/kdrive/ephyr/os.c
    M hw/kdrive/src/kcmap.c
    M hw/kdrive/src/kdrive.c
    M hw/kdrive/src/kinfo.c
    M hw/kdrive/src/kinput.c
    M hw/kdrive/src/kmode.c
    M hw/kdrive/src/kshadow.c
    M hw/kdrive/src/kxv.c
    R include/kdrive-config.h.in
    M mi/miinitext.c

  Log Message:
  -----------
  kdrive: Drop kdrive-config.h.

It had nothing left in it that was used but wasn't in dix-config.h.

Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Signed-off-by: Eric Anholt <eric at anholt.net>


  Commit: 2da405759fbabd4b918838a0de728c1911b4a2fa
      https://github.com/XQuartz/xorg-server/commit/2da405759fbabd4b918838a0de728c1911b4a2fa
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-03-23 (Thu, 23 Mar 2017)

  Changed paths:
    M hw/xfree86/exa/examodule.c
    M hw/xwayland/xwayland-shm.c

  Log Message:
  -----------
  xserver: Check the right HAVE_*_CONFIG_H.

Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Signed-off-by: Eric Anholt <eric at anholt.net>


  Commit: 266af991c8e41e62f054ac9870468a9ba2aaa9f2
      https://github.com/XQuartz/xorg-server/commit/266af991c8e41e62f054ac9870468a9ba2aaa9f2
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-03-23 (Thu, 23 Mar 2017)

  Changed paths:
    M glamor/glamor_priv.h

  Log Message:
  -----------
  glamor: Fix some formatting that confused the unifdef command.

Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Signed-off-by: Eric Anholt <eric at anholt.net>


  Commit: e2e50c509718ea8c7f4684dc18f5ce66e526792b
      https://github.com/XQuartz/xorg-server/commit/e2e50c509718ea8c7f4684dc18f5ce66e526792b
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-03-23 (Thu, 23 Mar 2017)

  Changed paths:
    M hw/xfree86/modes/xf86Crtc.c
    M hw/xfree86/modes/xf86Cursors.c
    M hw/xfree86/modes/xf86DiDGA.c
    M hw/xfree86/modes/xf86EdidModes.c
    M hw/xfree86/modes/xf86Modes.c
    M hw/xfree86/modes/xf86RandR12.c
    M hw/xfree86/modes/xf86Rotate.c
    M hw/xfree86/modes/xf86cvt.c
    M hw/xfree86/modes/xf86gtf.c
    M xkb/XKBMAlloc.c
    M xkb/XKBMisc.c

  Log Message:
  -----------
  xserver: Unifdef HAVE_CONFIG_H

The X Server never generates a global config.h, and instead all these
paths are including dix-config.h or xorg-config.h.

Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Signed-off-by: Eric Anholt <eric at anholt.net>


  Commit: f4b78286ea8d4c94a913a02a3579cbe55e8f1f6b
      https://github.com/XQuartz/xorg-server/commit/f4b78286ea8d4c94a913a02a3579cbe55e8f1f6b
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-24 (Fri, 24 Mar 2017)

  Changed paths:
    M glx/glxcmds.c

  Log Message:
  -----------
  glx: Fix MakeCurrent with no drawables

GLX_ARB_create_context, which we aspire to support, allows making GL 3.0
or newer contexts current with null current drawables. Strictly this
might not be legal for pre-3.0 contexts, but there's no harm in allowing
it anyway.

Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 5cdfcdef819efa6406807254cb3c7aba6ba5475e
      https://github.com/XQuartz/xorg-server/commit/5cdfcdef819efa6406807254cb3c7aba6ba5475e
  Author: Matt Turner <mattst88 at gmail.com>
  Date:   2017-03-27 (Mon, 27 Mar 2017)

  Changed paths:
    M xkb/xkbInit.c

  Log Message:
  -----------
  xkb: Correct type of XkbDfltAccessXOptions.

Declared as unsigned short in xkb/xkbAccessX.c.

Signed-off-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 21eda7464d0e13ac6558edaf6531c3d3251e05df
      https://github.com/XQuartz/xorg-server/commit/21eda7464d0e13ac6558edaf6531c3d3251e05df
  Author: Tobias Stoeckmann <tobias at stoeckmann.org>
  Date:   2017-03-27 (Mon, 27 Mar 2017)

  Changed paths:
    M hw/dmx/dmxsync.c

  Log Message:
  -----------
  dmx: Fix null pointer dereference

A null pointer dereference can occur in dmxSync, because TimerForce
does not handle a null pointer.

dmxSyncTimer is set to NULL a few lines above on a certain condition,
which happened on my machine. The explicit NULL check allowed me to
start Xdmx again without a segmentation fault.

Reviewed-by: Adam Jackson <ajax at redhat.com>


  Commit: 8ed0b00fceb34cdb54a0ea113c3cdff3b4c9e7e1
      https://github.com/XQuartz/xorg-server/commit/8ed0b00fceb34cdb54a0ea113c3cdff3b4c9e7e1
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-27 (Mon, 27 Mar 2017)

  Changed paths:
    M Xext/dpms.c
    M hw/xfree86/common/xf86DPMS.c
    M hw/xfree86/common/xf86Privstr.h

  Log Message:
  -----------
  xfree86: Clean up DPMS support

Rather than setting up a per-screen private, just conditionally
initialize ScrnInfoRec::DPMSSet based on the config options, and inspect
that to determine whether DPMS is supported.

We also move the "turn the screen back on at CloseScreen" logic into the
DPMS extension's (new) reset hook. This would be a behavior change for
the non-xfree86 servers, if any of them had non-stub DPMS support.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: 7f1ef9289d974fc2bacc968ae0b5d7714382cb9e
      https://github.com/XQuartz/xorg-server/commit/7f1ef9289d974fc2bacc968ae0b5d7714382cb9e
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-27 (Mon, 27 Mar 2017)

  Changed paths:
    M Xext/Makefile.am
    M Xext/dpms.c
    R Xext/dpmsstubs.c
    M hw/dmx/dmxdpms.c
    M hw/dmx/dmxdpms.h
    M hw/dmx/dmxscrinit.c
    M hw/kdrive/src/kdrive.c
    M hw/vfb/Makefile.am
    M hw/xfree86/common/xf86DPMS.c
    M hw/xnest/Makefile.am
    M hw/xwayland/Makefile.am
    M hw/xwin/Makefile.am
    M include/scrnintstr.h

  Log Message:
  -----------
  dix: Lift DPMS to a screen hook

Following on from the previous change, this adds a DPMS hook to the
ScreenRec and uses that to infer DPMS support. As a result we can drop
the dpms stub code from Xext.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: 33604187674ec78b2c0bf7f67af250acc80cf23a
      https://github.com/XQuartz/xorg-server/commit/33604187674ec78b2c0bf7f67af250acc80cf23a
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-27 (Mon, 27 Mar 2017)

  Changed paths:
    M Xext/dpms.c
    M Xext/dpmsproc.h
    M Xext/saver.c
    M dix/globals.c
    M dix/main.c
    M hw/xfree86/common/xf86Config.c
    M include/globals.h
    M os/utils.c

  Log Message:
  -----------
  dpms: Consolidate a bunch of stuff into Xext/dpms.c

Most of this is a legacy of the old "extmod" design where you could load
_some_ extensions dynamically but only if the server had been built with
support for them in the first place.

Note that since we now only initialize the DPMS extension if at least
one screen supports it, we no longer need DPMSCapableFlag: if it would
be false, we would never read its value.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: e4d0757fc2620fd3182448c5e4b5a55a509594d3
      https://github.com/XQuartz/xorg-server/commit/e4d0757fc2620fd3182448c5e4b5a55a509594d3
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-03-30 (Thu, 30 Mar 2017)

  Changed paths:
    M hw/xfree86/common/xf86.h
    M hw/xfree86/common/xf86Bus.c
    M hw/xfree86/common/xf86Bus.h
    M hw/xfree86/common/xf86Events.c
    M hw/xfree86/common/xf86Helper.c
    M hw/xfree86/common/xf86Init.c
    M hw/xfree86/common/xf86PM.c
    M hw/xfree86/common/xf86Priv.h
    M hw/xfree86/common/xf86pciBus.c
    M hw/xfree86/doc/ddxDesign.xml

  Log Message:
  -----------
  xfree86: Remove driver entity hooks and private

No driver is using these, as far as I know.

v2: Tripwire the entity hook arguments to xf86Config*Entity, fix
documentation (Eric Anholt)

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: 0c8e6ed85810e96d84173a52d628863802a78d82
      https://github.com/XQuartz/xorg-server/commit/0c8e6ed85810e96d84173a52d628863802a78d82
  Author: Daniel Stone <daniels at collabora.com>
  Date:   2017-04-07 (Fri, 07 Apr 2017)

  Changed paths:
    M hw/xfree86/drivers/modesetting/vblank.c

  Log Message:
  -----------
  modesetting: Set correct DRM event context version

DRM_EVENT_CONTEXT_VERSION is the latest context version supported by
whatever version of libdrm is present. modesetting was blindly asserting
it supported whatever version that may be, even if it actually didn't.

With libdrm 2.4.78, setting a higher context version than 2 will attempt
to call the page_flip_handler2 vfunc if it was non-NULL, which being a
random chunk of stack memory, it might well have been.

Set the version as 2, which should be bumped only with the appropriate
version checks.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Daniel Stone <daniels at collabora.com>


  Commit: 7dfb9608d080b46a7b21b57dc8aa2f52670addce
      https://github.com/XQuartz/xorg-server/commit/7dfb9608d080b46a7b21b57dc8aa2f52670addce
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-04-10 (Mon, 10 Apr 2017)

  Changed paths:
    M glx/glxcmds.c
    M glx/glxext.c
    M glx/glxserver.h

  Log Message:
  -----------
  glx: Remove enter/leave server API

Dead code since:

    commit 8aacf47e1778d8b72811b025a82452b933d3c1f2
    Author: Adam Jackson <ajax at redhat.com>
    Date:   Fri Oct 4 12:58:19 2013 -0400
   glx: Remove DRI1 AIGLX (v2)

Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 14d2fe74f4e51c5b37eab4b7475c804a0340b530
      https://github.com/XQuartz/xorg-server/commit/14d2fe74f4e51c5b37eab4b7475c804a0340b530
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-04-10 (Mon, 10 Apr 2017)

  Changed paths:
    M hw/kdrive/ephyr/ephyrvideo.c

  Log Message:
  -----------
  xephyr: Check for host XVideo support before trying to use it

Otherwise xcb will treat our attempt to send xv requests as a connection
error (quite reasonably: we're asking it to emit a request for which
there is no defined major opcode), and we'll die quietly the first time
we hit KdBlockhandler.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: 8bdf340e478524262c85fb81687d7f02b14ad71c
      https://github.com/XQuartz/xorg-server/commit/8bdf340e478524262c85fb81687d7f02b14ad71c
  Author: Daniel Stone <daniels at collabora.com>
  Date:   2017-04-11 (Tue, 11 Apr 2017)

  Changed paths:
    M README

  Log Message:
  -----------
  README: HTTPS everywhere

All fd.o HTTP services are now HTTPS-only (with redirects, but still).

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Daniel Stone <daniels at collabora.com>


  Commit: ea91996a9c2081d0692f5c2f79a9fda9effba358
      https://github.com/XQuartz/xorg-server/commit/ea91996a9c2081d0692f5c2f79a9fda9effba358
  Author: Daniel Stone <daniels at collabora.com>
  Date:   2017-04-11 (Tue, 11 Apr 2017)

  Changed paths:
    M README

  Log Message:
  -----------
  README: Add link to fd.o CoC

The Contributor Covenant applies to all fd.o-hosted resources, including
lists and Bugzilla. Add a note to the README, reminding people to act
like human beings.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Daniel Stone <daniels at collabora.com>


  Commit: bcee1b76aa0db8525b491485e90b8740763d7de6
      https://github.com/XQuartz/xorg-server/commit/bcee1b76aa0db8525b491485e90b8740763d7de6
  Author: Martin Peres <martin.peres at linux.intel.com>
  Date:   2017-04-12 (Wed, 12 Apr 2017)

  Changed paths:
    M hw/xfree86/drivers/modesetting/drmmode_display.c

  Log Message:
  -----------
  modesetting: re-set the crtc's mode when link-status goes BAD

Despite all the careful planning of the kernel, a link may become
insufficient to handle the currently-set mode. At this point, the
kernel should mark this particular configuration as being broken
and potentially prune the mode before setting the offending connector's
link-status to BAD and send the userspace a hotplug event. This may
happen right after a modeset or later on.

Upon receiving a hot-plug event, we iterate through the connectors to
re-apply the currently-set mode on all the connectors that have a
link-status property set to BAD. The kernel may be able to get the
link to work by dropping to using a lower link bpp (with the same
display bpp). However, the modeset may fail if the kernel has pruned
the mode, so to make users aware of this problem a warning is outputed
in the logs to warn about having a potentially-black display.

This patch does not modify the current behaviour of always propagating
the events to the randr clients. This allows desktop environments to
re-probe the connectors and select a new resolution based on the new
(currated) mode list if a mode disapeared. This behaviour is expected in
order to pass the Display Port compliance tests.

Signed-off-by: Martin Peres <martin.peres at linux.intel.com>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: 41dafcc2a2942fc4c94ce3cbafc4a1b413c460c3
      https://github.com/XQuartz/xorg-server/commit/41dafcc2a2942fc4c94ce3cbafc4a1b413c460c3
  Author: Michel Dänzer <michel.daenzer at amd.com>
  Date:   2017-04-17 (Mon, 17 Apr 2017)

  Changed paths:
    M hw/xfree86/modes/xf86RandR12.c

  Log Message:
  -----------
  xfree86/modes: Make colormap/gamma glue code work with RandR disabled

E.g. because Xinerama is enabled.

Fixes crash on startup and wrong colours in that case.

Bugzilla: https://bugs.freedesktop.org/100293
Bugzilla: https://bugs.freedesktop.org/100294
Fixes: 62f44052573b ("xfree86/modes: Move gamma initialization to
                xf86RandR12Init12 v2")
Tested-by: Mariusz Bialonczyk <manio at skyboo.net>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>


  Commit: cc882af336c8963a2cba0c93e29869ef59b19818
      https://github.com/XQuartz/xorg-server/commit/cc882af336c8963a2cba0c93e29869ef59b19818
  Author: Roman Gilg <subdiff at gmail.com>
  Date:   2017-04-18 (Tue, 18 Apr 2017)

  Changed paths:
    M hw/xwayland/xwayland-output.c

  Log Message:
  -----------
  xwayland: Small comment edit

Be more precise in describing the return value.

Signed-off-by: Roman Gilg <subdiff at gmail.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: dae97e1bb4d4f86db118c22dfeea0eef0d3f8bdd
      https://github.com/XQuartz/xorg-server/commit/dae97e1bb4d4f86db118c22dfeea0eef0d3f8bdd
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-04-21 (Fri, 21 Apr 2017)

  Changed paths:
    M configure.ac

  Log Message:
  -----------
  configure: Stop checking for XdmcpWrap

As far back as the initial import, it seems to have been exposed, and
there's no explanation why the test happened in the initial xserver
import.

Signed-off-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: be80a3cb48a7860b9ed985b123f4d8a3b4ae3c89
      https://github.com/XQuartz/xorg-server/commit/be80a3cb48a7860b9ed985b123f4d8a3b4ae3c89
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-04-21 (Fri, 21 Apr 2017)

  Changed paths:
    M configure.ac
    M glx/glxbyteorder.h
    M include/dix-config.h.in

  Log Message:
  -----------
  glx: Use the same endian swapping as the rest of the server.

This dumps a ton of configure-time checks for system endian macros.
Given that we're marking the mixed-endian fixup code as cold, getting
at the system macros is a waste of code.

Signed-off-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: 7bfb87a2137853295ecc9e544a15626cfd773a02
      https://github.com/XQuartz/xorg-server/commit/7bfb87a2137853295ecc9e544a15626cfd773a02
  Author: Olivier Fourdan <ofourdan at redhat.com>
  Date:   2017-04-21 (Fri, 21 Apr 2017)

  Changed paths:
    M glamor/glamor_xv.c

  Log Message:
  -----------
  glamor: an FBO is not needed for Xv pixmaps

It appears that on some hardware/diver combo such as nv30/nouveau, using
GL_ALPHA as format for 8-bit depth will cause an incomplete attachment
error (GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT) when trying to bind the
texture.

As a result, the FBO is NULL and glamor segfaults when trying to access
the FBO width/height in pixmap_priv_get_scale() in glamor_xv_render().

This happens with glamor-xv which uses 8-bit pixmaps, meaning that on
such hardware/driver, trying to play a video using Xv will lead to a
crash of the Xserver. This affects Xwayland, Xephyr, modesetting driver
with glamor accel.

But the use of an FBO is not actually needed for glamox-xv, so by
disabling FBO at pixmap creation, we can avoid the issue entirely.

Fix suggested by Eric Anholt <eric at anholt.net>

Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=100710
Fixes: https://bugzilla.redhat.com/1412814
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: f81343dd2fff49c70f53e3efdd40f8f89a38e460
      https://github.com/XQuartz/xorg-server/commit/f81343dd2fff49c70f53e3efdd40f8f89a38e460
  Author: Alan Coopersmith <alan.coopersmith at oracle.com>
  Date:   2017-04-24 (Mon, 24 Apr 2017)

  Changed paths:
    M test/xi2/protocol-xigetclientpointer.c
    M test/xi2/protocol-xigetselectedevents.c
    M test/xi2/protocol-xipassivegrabdevice.c

  Log Message:
  -----------
  Mark test_data static in Xinput protocol tests to avoid clashes

Fixes warning from Solaris linker:
ld: warning: symbol 'test_data' has differing sizes:
    (file tests-protocol-xigetselectedevents.o value=0x418;
     file tests-protocol-xigetclientpointer.o value=0x18);
    tests-protocol-xigetselectedevents.o definition taken

Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: da27ca84b4324b68037d6ec19a73b9e0a5ef10bc
      https://github.com/XQuartz/xorg-server/commit/da27ca84b4324b68037d6ec19a73b9e0a5ef10bc
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-04-25 (Tue, 25 Apr 2017)

  Changed paths:
    M configure.ac
    M hw/xfree86/common/xf86Init.c
    M include/xorg-config.h.in
    M include/xorg-server.h.in
    M manpages.am

  Log Message:
  -----------
  xorg: Change __XCONFIGFILE__ to XCONFIGFILE (and DIR) to fix scan.c.

parser/scan.c was checking for #ifdef XCONFIGFILE and XCONFIGDIR and
defaulting to "xorg.conf", and "xorg.conf.d", so if you had changed
__XCONFIGFILE__ to anything else, it would have got out of sync.
Settle on the name without gratuitous underscores.

Signed-off-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: 5ef4e785131bb30e774a8175099c0432537533fa
      https://github.com/XQuartz/xorg-server/commit/5ef4e785131bb30e774a8175099c0432537533fa
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-04-25 (Tue, 25 Apr 2017)

  Changed paths:
    M hw/xfree86/parser/Makefile.am
    M hw/xfree86/parser/scan.c
    M xkb/ddxLoad.c

  Log Message:
  -----------
  Remove default defines of some directories.

The build defines these, so having the defaults is just a way for the
build system's configuration to get out of sync with the code.

v2: Drop #ifndefs around the other two defines.

Signed-off-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: 563b6ee873b898c0f3e3671cf6adaf91def5d92a
      https://github.com/XQuartz/xorg-server/commit/563b6ee873b898c0f3e3671cf6adaf91def5d92a
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-04-25 (Tue, 25 Apr 2017)

  Changed paths:
    M doc/Xserver-spec.xml
    M glx/glxbyteorder.h
    M include/misc.h
    M os/io.c

  Log Message:
  -----------
  Rewrite the byte swapping macros.

The clever pointer tricks were actually not working, and we were doing
the byte-by-byte moves in general.  By just doing the memcpy and
obvious byte swap code, we end up generating actual byte swap
instructions, thanks to optimizing compilers.
    text	   data	    bss	    dec	    hex	filename
before: 2240807	  51552	 132016	2424375	 24fe37	hw/xfree86/Xorg
after:  2215167	  51552	 132016	2398735	 249a0f	hw/xfree86/Xorg

Signed-off-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: 4552238960fc05ff885bcabbc24d1489370fbd89
      https://github.com/XQuartz/xorg-server/commit/4552238960fc05ff885bcabbc24d1489370fbd89
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-04-25 (Tue, 25 Apr 2017)

  Changed paths:
    M test/misc.c

  Log Message:
  -----------
  Add unit tests for the byte swapping macros.

Peter noted a weirdness in my new bswap code, which could use some
tests to justify it.

Signed-off-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: fec9607c8e0a84dc86466c638d00b502f21ec622
      https://github.com/XQuartz/xorg-server/commit/fec9607c8e0a84dc86466c638d00b502f21ec622
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-04-25 (Tue, 25 Apr 2017)

  Changed paths:
    M include/misc.h
    M test/misc.c

  Log Message:
  -----------
  Remove support for unaligned swaps.

The previous misc.h code went out of its way to allow swapping of
unaligned pointers to values.  However, the members of an X
request/response are always naturally aligned within the struct, and
the buffers containing a request/response will also be aligned to at
least 8 bytes, so we can just drop it.
   text      data   bss    dec      hex    filename
before: 2215167	  51552	 132016	2398735	 249a0f	hw/xfree86/Xorg
after:  2214919	  51552	 132016	2398487	 249917	hw/xfree86/Xorg

Signed-off-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: 23f2f1932a1d3f36468eaf735ae34934d246567b
      https://github.com/XQuartz/xorg-server/commit/23f2f1932a1d3f36468eaf735ae34934d246567b
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-04-25 (Tue, 25 Apr 2017)

  Changed paths:
    M hw/xfree86/drivers/modesetting/drmmode_display.c

  Log Message:
  -----------
  modesetting: Add the "DPI" connector type.

The number for it was merged to drm_mode.h in kernel 4.7, and the
output_names[] array just requires that we slot in new strings in
order.

Signed-off-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>


  Commit: 27a6b9f7c84c914d0f5909ec1069d72f5035bc04
      https://github.com/XQuartz/xorg-server/commit/27a6b9f7c84c914d0f5909ec1069d72f5035bc04
  Author: Michel Dänzer <michel.daenzer at amd.com>
  Date:   2017-04-26 (Wed, 26 Apr 2017)

  Changed paths:
    M hw/xfree86/common/xf86Init.c
    M hw/xquartz/quartz.c
    M os/osinit.c
    M os/utils.c

  Log Message:
  -----------
  os: Handle SIGABRT

Without this, assertion failures can make life hard for users and those
trying to help them.

v2:
* Change commit log wording slightly to "can make life hard", since
  apparently e.g. logind can alleviate that somewhat.
* Set default handler for SIGABRT in
  hw/xfree86/common/xf86Init.c:InstallSignalHandlers() and
  hw/xquartz/quartz.c:QuartzInitOutput() (Eric Anholt)

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>


  Commit: ace6bfd5901e19045371f9bd18b997b37f55b589
      https://github.com/XQuartz/xorg-server/commit/ace6bfd5901e19045371f9bd18b997b37f55b589
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-04-26 (Wed, 26 Apr 2017)

  Changed paths:
    M dix/dispatch.c

  Log Message:
  -----------
  dix: Remove a redundant #define

Found when the meson conversion set the symbol to defined, instead of
defined to 1.

Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Keith Packard <keithp at keithp.com>
Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Eric Anholt <eric at anholt.net>


  Commit: c7be7a688a78a34f61b90c0d95914e14b90b0cdc
      https://github.com/XQuartz/xorg-server/commit/c7be7a688a78a34f61b90c0d95914e14b90b0cdc
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-04-26 (Wed, 26 Apr 2017)

  Changed paths:
    M glamor/glamor_priv.h
    M hw/xfree86/common/xf86.h
    M hw/xfree86/drivers/modesetting/driver.c
    M hw/xfree86/loader/loadmod.c
    M hw/xfree86/sdksyms.sh
    M hw/xwayland/xwayland.c
    M include/dixstruct.h
    M include/os.h
    M include/xserver_poll.h
    M os/utils.c

  Log Message:
  -----------
  Use #ifdef instead of #if for features to make Meson easier.

We mostly use #ifdef throughout the tree, and this lets the generated
config.h files just be #define TOKEN instead of #define TOKEN 1.

Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Keith Packard <keithp at keithp.com>
Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Eric Anholt <eric at anholt.net>


  Commit: 1549e30372756cfdb85379fd8d93c769297ab6e6
      https://github.com/XQuartz/xorg-server/commit/1549e30372756cfdb85379fd8d93c769297ab6e6
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-04-26 (Wed, 26 Apr 2017)

  Changed paths:
    A Xext/meson.build
    A Xi/meson.build
    A composite/meson.build
    A config/meson.build
    A damageext/meson.build
    A dbe/meson.build
    A dix/meson.build
    A dri3/meson.build
    A exa/meson.build
    A fb/meson.build
    A glamor/meson.build
    A glx/meson.build
    A hw/dmx/config/meson.build
    A hw/dmx/examples/meson.build
    A hw/dmx/glxProxy/meson.build
    A hw/dmx/input/meson.build
    A hw/dmx/meson.build
    A hw/kdrive/ephyr/meson.build
    A hw/kdrive/meson.build
    A hw/kdrive/src/meson.build
    A hw/meson.build
    A hw/vfb/meson.build
    A hw/xfree86/common/meson.build
    A hw/xfree86/common/xf86Build.sh
    A hw/xfree86/ddc/meson.build
    A hw/xfree86/dixmods/meson.build
    A hw/xfree86/dri/meson.build
    A hw/xfree86/dri2/meson.build
    A hw/xfree86/drivers/modesetting/meson.build
    A hw/xfree86/exa/meson.build
    A hw/xfree86/glamor_egl/meson.build
    A hw/xfree86/i2c/meson.build
    A hw/xfree86/int10/meson.build
    M hw/xfree86/loader/loader.c
    A hw/xfree86/loader/meson.build
    A hw/xfree86/loader/symbol-test.c
    A hw/xfree86/meson.build
    A hw/xfree86/modes/meson.build
    A hw/xfree86/os-support/meson.build
    A hw/xfree86/parser/meson.build
    A hw/xfree86/ramdac/meson.build
    A hw/xfree86/x86emu/meson.build
    A hw/xnest/meson.build
    A hw/xquartz/meson.build
    A hw/xwayland/meson.build
    A include/meson.build
    A include/xorg-config.h.meson.in
    A meson.build
    A meson_options.txt
    A mi/meson.build
    A miext/damage/meson.build
    A miext/shadow/meson.build
    A miext/sync/meson.build
    A os/meson.build
    A present/meson.build
    A pseudoramiX/meson.build
    A randr/meson.build
    A record/meson.build
    A render/meson.build
    A xfixes/meson.build
    A xkb/meson.build

  Log Message:
  -----------
  Add a Meson build system alongside autotools.

This is a work in progress that builds Xvfb, Xephyr, Xwayland, Xnest,
and Xdmx so far.  The outline of Xquartz/Xwin support is in tree, but
hasn't been built yet.  The unit tests are also not done.

The intent is to build this as a complete replacement for the
autotools system, then eventually replace autotools.  meson is faster
to generate the build, faster to run the bulid, shorter to write the
build files in, and less error-prone than autotools.

v2: Fix indentation nits, move version declaration to project(), use
    existing meson_options for version-config.h's vendor name/web.

Signed-off-by: Eric Anholt <eric at anholt.net>
Acked-by: Keith Packard <keithp at keithp.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 112d0d7d01b98fb0d67910281dd1feeec125247b
      https://github.com/XQuartz/xorg-server/commit/112d0d7d01b98fb0d67910281dd1feeec125247b
  Author: Karol Kosik <kkosik at nvidia.com>
  Date:   2017-04-27 (Thu, 27 Apr 2017)

  Changed paths:
    M hw/xfree86/common/Makefile.am
    M hw/xfree86/common/meson.build
    M hw/xfree86/common/xf86AutoConfig.c
    A hw/xfree86/common/xf86MatchDrivers.h
    M hw/xfree86/common/xf86pciBus.c
    M hw/xfree86/common/xf86pciBus.h
    M hw/xfree86/common/xf86platformBus.c
    M hw/xfree86/common/xf86platformBus.h

  Log Message:
  -----------
  xfree86: Improved autoconfig drivers matching

Implementation of new drivers matching algorithm. New approach
doesn't add duplicate drivers and ease drivers matching phase.

Signed-off-by: Karol Kosik <kkosik at nvidia.com>
Reviewed-by: Aaron Plattner <aplattner at nvidia.com>
Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>


  Commit: 8659aac2ccc6649477f601908e1a4062fad8635e
      https://github.com/XQuartz/xorg-server/commit/8659aac2ccc6649477f601908e1a4062fad8635e
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-04-27 (Thu, 27 Apr 2017)

  Changed paths:
    M meson.build

  Log Message:
  -----------
  meson: Fix a typo

"bulid" isn't valid anything, and build_xwayland was already defined
above.

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 5d785693a8843d18be806ea9f8caecc2dcbf1007
      https://github.com/XQuartz/xorg-server/commit/5d785693a8843d18be806ea9f8caecc2dcbf1007
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-04-27 (Thu, 27 Apr 2017)

  Changed paths:
    M os/meson.build

  Log Message:
  -----------
  meson: Factor out the AC_REPLACE_FUNCS stuff to its own library

This is all just stuff we wish we had in libc, and some of this gets
used in eg. the dmx utilities build, so split it to its own library to
avoid pulling in xserver stuff.

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 47f047462dcb492203ff569a2b1528bff8cd3ff3
      https://github.com/XQuartz/xorg-server/commit/47f047462dcb492203ff569a2b1528bff8cd3ff3
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-04-27 (Thu, 27 Apr 2017)

  Changed paths:
    M hw/dmx/config/meson.build

  Log Message:
  -----------
  meson: Fix linking the dmx utilities

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 1597297067fd14d479a2279ad1ab20082317271a
      https://github.com/XQuartz/xorg-server/commit/1597297067fd14d479a2279ad1ab20082317271a
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-04-27 (Thu, 27 Apr 2017)

  Changed paths:
    M glx/meson.build
    M hw/xfree86/dixmods/meson.build
    M meson.build

  Log Message:
  -----------
  meson: Build libglx.so

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 6413a87bcd3bfb91ac1536b41c37af0c6e47a9b6
      https://github.com/XQuartz/xorg-server/commit/6413a87bcd3bfb91ac1536b41c37af0c6e47a9b6
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-04-27 (Thu, 27 Apr 2017)

  Changed paths:
    M fb/meson.build
    M hw/xfree86/dixmods/meson.build

  Log Message:
  -----------
  meson: Build libwfb.so

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 5c7d92362b25670856091663e70d3e0dc2350efb
      https://github.com/XQuartz/xorg-server/commit/5c7d92362b25670856091663e70d3e0dc2350efb
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-04-27 (Thu, 27 Apr 2017)

  Changed paths:
    A hw/xfree86/fbdevhw/meson.build
    M hw/xfree86/meson.build

  Log Message:
  -----------
  meson: Build libfbdevhw.so

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: bdce17959cd17fa6d46a1df361b53b5855ff62e8
      https://github.com/XQuartz/xorg-server/commit/bdce17959cd17fa6d46a1df361b53b5855ff62e8
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-04-27 (Thu, 27 Apr 2017)

  Changed paths:
    M hw/xfree86/meson.build
    A hw/xfree86/vgahw/meson.build
    M meson.build

  Log Message:
  -----------
  meson: Build libvgahw.so

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 2f1a1be46c3366a47657fe7550bc59fb99acf91c
      https://github.com/XQuartz/xorg-server/commit/2f1a1be46c3366a47657fe7550bc59fb99acf91c
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-04-27 (Thu, 27 Apr 2017)

  Changed paths:
    M hw/xfree86/meson.build
    A hw/xfree86/shadowfb/meson.build

  Log Message:
  -----------
  meson: Build libshadowfb.so

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 59554eaa6c4d3d3c170a4be4fc385a86d05c5558
      https://github.com/XQuartz/xorg-server/commit/59554eaa6c4d3d3c170a4be4fc385a86d05c5558
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-04-27 (Thu, 27 Apr 2017)

  Changed paths:
    M hw/xfree86/meson.build
    A hw/xfree86/vbe/meson.build
    M meson.build

  Log Message:
  -----------
  meson: Build libvbe.so

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 89c841915ac4fba6d2a5ad0051c778f1a76ffbf3
      https://github.com/XQuartz/xorg-server/commit/89c841915ac4fba6d2a5ad0051c778f1a76ffbf3
  Author: Jason Gerecke <killertofu at gmail.com>
  Date:   2017-04-28 (Fri, 28 Apr 2017)

  Changed paths:
    M configure.ac
    M hw/xwayland/Makefile.am
    M hw/xwayland/meson.build
    M hw/xwayland/xwayland-input.c
    M meson.build

  Log Message:
  -----------
  xwayland: Depend on wayland-protocols to build tablet protocol headers

Signed-off-by: Jason Gerecke <jason.gerecke at wacom.com>
Signed-off-by: Carlos Garnacho <carlosg at gnome.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Acked-by: Ping Cheng <ping.cheng at wacom.com>


  Commit: 7d48b758a601ce0252ebd21297a7c42263adfaaf
      https://github.com/XQuartz/xorg-server/commit/7d48b758a601ce0252ebd21297a7c42263adfaaf
  Author: Jason Gerecke <killertofu at gmail.com>
  Date:   2017-04-28 (Fri, 28 Apr 2017)

  Changed paths:
    M hw/xwayland/xwayland-input.c
    M hw/xwayland/xwayland.c
    M hw/xwayland/xwayland.h

  Log Message:
  -----------
  xwayland: Bind to wp_tablet_manager if available and get its seats

If we're notified about the existence of the wp_tablet_manager interface,
we bind to it so that we can make use of any tablets that are (or later
become) available. For each seat that exists or comes into existance at
a later point, obtain the associated tablet_seat.

Signed-off-by: Jason Gerecke <jason.gerecke at wacom.com>
Signed-off-by: Carlos Garnacho <carlosg at gnome.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Acked-by: Ping Cheng <ping.cheng at wacom.com>


  Commit: 47c4415912b5b16b115135be365beb370858df76
      https://github.com/XQuartz/xorg-server/commit/47c4415912b5b16b115135be365beb370858df76
  Author: Jason Gerecke <killertofu at gmail.com>
  Date:   2017-04-28 (Fri, 28 Apr 2017)

  Changed paths:
    M hw/xwayland/xwayland-input.c
    M hw/xwayland/xwayland.h

  Log Message:
  -----------
  xwayland: Listen for wp_tablet_seat events

The wp_tablet_seat interface provides us with notifications as tablets,
tools, and pads are connected to the system. Add listener functions and
store references to the obtained devices.

Signed-off-by: Jason Gerecke <jason.gerecke at wacom.com>
Signed-off-by: Carlos Garnacho <carlosg at gnome.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Acked-by: Ping Cheng <ping.cheng at wacom.com>


  Commit: 5812d1c28f4fb7b7de8b96a81415a21425561fd4
      https://github.com/XQuartz/xorg-server/commit/5812d1c28f4fb7b7de8b96a81415a21425561fd4
  Author: Jason Gerecke <killertofu at gmail.com>
  Date:   2017-04-28 (Fri, 28 Apr 2017)

  Changed paths:
    M hw/xwayland/xwayland-input.c
    M hw/xwayland/xwayland.h

  Log Message:
  -----------
  xwayland: Handle wp_tablet events

Creates and maintains the canonical trio of X devices (stylus, eraser,
and cursor) to be shared by all connected tablets. A per-tablet trio
could be created instead, but there are very few benefits to such a
configuration since all tablets still ultimately share control of a
single master pointer.

The three X devices are modeled after those created by xf86-input-wacom
but use a generic maximum X and Y that should be large enough to
accurately represent values from even the largest currently-available
tablets.

Signed-off-by: Jason Gerecke <jason.gerecke at wacom.com>
Signed-off-by: Carlos Garnacho <carlosg at gnome.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Acked-by: Ping Cheng <ping.cheng at wacom.com>


  Commit: 8a1defcc634daddbb3570519d69ec5c9e39a8b56
      https://github.com/XQuartz/xorg-server/commit/8a1defcc634daddbb3570519d69ec5c9e39a8b56
  Author: Jason Gerecke <killertofu at gmail.com>
  Date:   2017-04-28 (Fri, 28 Apr 2017)

  Changed paths:
    M hw/xwayland/xwayland-input.c
    M hw/xwayland/xwayland.h

  Log Message:
  -----------
  xwayland: Handle tablet_tool events

Translates Wayland tablet events into corresponding X11 tablet events. As
with the prior commit, these events are modeled after those created by the
xf86-input-wacom driver to maximize compatibility with existing applications.

Signed-off-by: Jason Gerecke <jason.gerecke at wacom.com>
Signed-off-by: Carlos Garnacho <carlosg at gnome.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Acked-by: Ping Cheng <ping.cheng at wacom.com>


  Commit: 773b04748d0c839bc8b12e33f74bb8d11c447f5b
      https://github.com/XQuartz/xorg-server/commit/773b04748d0c839bc8b12e33f74bb8d11c447f5b
  Author: Peter Hutterer <peter.hutterer at who-t.net>
  Date:   2017-04-28 (Fri, 28 Apr 2017)

  Changed paths:
    M hw/xwayland/xwayland-input.c
    M hw/xwayland/xwayland.h

  Log Message:
  -----------
  xwayland: handle button events after motion events

Make sure the button events are sent after the motion events into the new
position.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Acked-by: Ping Cheng <ping.cheng at wacom.com>


  Commit: 6d1ad39fe6c18220dd39b0653fd1e4145140e2dc
      https://github.com/XQuartz/xorg-server/commit/6d1ad39fe6c18220dd39b0653fd1e4145140e2dc
  Author: Carlos Garnacho <carlosg at gnome.org>
  Date:   2017-04-28 (Fri, 28 Apr 2017)

  Changed paths:
    M hw/xwayland/xwayland-cursor.c
    M hw/xwayland/xwayland-input.c
    M hw/xwayland/xwayland.h

  Log Message:
  -----------
  xwayland: Refactor cursor management into xwl_cursor

This struct takes away the cursor info in xwl_seat, and has
an update function so we can share the frame handling code
across several xwl_cursors.

Signed-off-by: Carlos Garnacho <carlosg at gnome.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Acked-by: Ping Cheng <ping.cheng at wacom.com>


  Commit: f471b5b8eb451b442554517c7cb6f0aa90d218c4
      https://github.com/XQuartz/xorg-server/commit/f471b5b8eb451b442554517c7cb6f0aa90d218c4
  Author: Carlos Garnacho <carlosg at gnome.org>
  Date:   2017-04-28 (Fri, 28 Apr 2017)

  Changed paths:
    M hw/xwayland/xwayland-cursor.c
    M hw/xwayland/xwayland-input.c
    M hw/xwayland/xwayland.h

  Log Message:
  -----------
  xwayland: update cursor on tablet tools in proximity

Each xwl_tablet_tool gets a xwl_cursor, as on wayland each of those
will get an independent cursor that can be set through
zwp_tablet_tool.set_cursor.

However, all tools (and the pointer) share conceptually the same VCP
on Xwayland, so have cursor changes trigger a xwl_cursor update on
every tool (and the pointer, again). Maybe Xwayland could keep track
of the most recent device and only update that cursor to get better
visual results, but this is simpler, and it's going to be odd
anyway...

Signed-off-by: Carlos Garnacho <carlosg at gnome.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Acked-by: Ping Cheng <ping.cheng at wacom.com>


  Commit: 8475e6360ce31551d50fd63a26f7a44d1e8928f2
      https://github.com/XQuartz/xorg-server/commit/8475e6360ce31551d50fd63a26f7a44d1e8928f2
  Author: Peter Hutterer <peter.hutterer at who-t.net>
  Date:   2017-04-28 (Fri, 28 Apr 2017)

  Changed paths:
    M hw/xwayland/xwayland-input.c
    M hw/xwayland/xwayland.h

  Log Message:
  -----------
  xwayland: add tablet pad support

Hooked up a bit differently to the other tools. Those tools can be static for
all and be re-used. The wacom driver initializes the pad with the correct
number of buttons though and we can't do this until we have the pad done event.

If the tablet is removed and we plug a different one in, we should initialize
that correctly, so unlike the other tools the pad is properly removed and
re-initialized on plug.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Acked-by: Ping Cheng <ping.cheng at wacom.com>


  Commit: a82971b07035ee9a4e3ed01326e7c1eab34b5a19
      https://github.com/XQuartz/xorg-server/commit/a82971b07035ee9a4e3ed01326e7c1eab34b5a19
  Author: Keith Packard <keithp at keithp.com>
  Date:   2017-04-29 (Sat, 29 Apr 2017)

  Changed paths:
    M os/io.c

  Log Message:
  -----------
  os: un-duplicate code to close client on write failure

There are three copies of the same short sequence of operations to
close down a client when a write error occurs. Create a new function,
AbortClient, which performs these operations and then call it from the
three places.

Signed-off-by: Keith Packard <keithp at keithp.com>
Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer at amd.com>


  Commit: e2f68296ffb8e40035c0ebd949b67d1e2e424e11
      https://github.com/XQuartz/xorg-server/commit/e2f68296ffb8e40035c0ebd949b67d1e2e424e11
  Author: Keith Packard <keithp at keithp.com>
  Date:   2017-04-29 (Sat, 29 Apr 2017)

  Changed paths:
    M os/io.c

  Log Message:
  -----------
  os: Mark client as ready to read when closing due to write failure [100863]

This makes sure the server will go look at the client again, notice
that the FD is no longer valid and close the client down.

Bugzilla: https://bugs.freedesktop.org/100863
Signed-off-by: Keith Packard <keithp at keithp.com>
Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer at amd.com>


  Commit: 62f727c7ea359b7bdf58d9b827731a082b47553d
      https://github.com/XQuartz/xorg-server/commit/62f727c7ea359b7bdf58d9b827731a082b47553d
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-05-03 (Wed, 03 May 2017)

  Changed paths:
    M hw/xfree86/dixmods/meson.build

  Log Message:
  -----------
  meson: use link_with for Xorg's shared modules as well as Xorg.

I converted Xorg when meson 0.40 came out, but fumbled my grep and
forgot that I had instances of the .extract_all_objects() workaround
in dixmods, too.

Signed-off-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Daniel Stone <daniels at collabora.com>


  Commit: ea275cd3d5fb561c6aed7876f486e1124082426c
      https://github.com/XQuartz/xorg-server/commit/ea275cd3d5fb561c6aed7876f486e1124082426c
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-05-03 (Wed, 03 May 2017)

  Changed paths:
    M glx/meson.build

  Log Message:
  -----------
  meson: Fix glx build with DRI2 disabled.

A common meson pattern is to use empty arrays for optional sources and
dependencies, since it generally iterates over trees of arrays looking
for values.  A value of '' will actually go looking for ''.

Daniel Stone <daniels at collabora.com>
Signed-off-by: Eric Anholt <eric at anholt.net>


  Commit: c3147a20065b212fac78eb29c9bb9e150f9b22f5
      https://github.com/XQuartz/xorg-server/commit/c3147a20065b212fac78eb29c9bb9e150f9b22f5
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-05-03 (Wed, 03 May 2017)

  Changed paths:
    M hw/dmx/dmx.c

  Log Message:
  -----------
  dmx: Fix decl mismatch for XRT_WINDOW

Building xserver with meson -Db_lto=true found this! Check it:

../hw/dmx/dmx.c:66:22: warning: type of ‘XRT_WINDOW’ does not match
                          original declaration [-Wlto-type-mismatch]
 extern unsigned long XRT_WINDOW;
                ^
../include/resource.h:58:18: note: type ‘RESTYPE’ should match type ‘long
                             unsigned int’
 typedef uint32_t RESTYPE;
            ^
../Xext/panoramiX.c:85:9: note: ‘XRT_WINDOW’ was previously declared here
 RESTYPE XRT_WINDOW;
   ^
../Xext/panoramiX.c:85:9: note: code may be misoptimized unless
                          -fno-strict-aliasing is used

I have never managed successfully to build xserver with LTO with
autotools, so, score one for meson.

Get the decl from panoramiXsrv.h, which includes panoramiX.h first anyway.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith at oracle.com>


  Commit: d732c36597fab2e9bc4f2aa72cf1110997697557
      https://github.com/XQuartz/xorg-server/commit/d732c36597fab2e9bc4f2aa72cf1110997697557
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-05-03 (Wed, 03 May 2017)

  Changed paths:
    M configure.ac
    M hw/xfree86/common/xf86Xinput.c
    M hw/xfree86/os-support/linux/lnx_init.c
    M include/meson.build
    M include/xorg-config.h.in

  Log Message:
  -----------
  xfree86: Silence a new glibc warning

glibc would like to stop declaring major()/minor() macros in
<sys/types.h> because that header gets included absolutely everywhere
and unix device major/minor is perhaps usually not what's expected. Fair
enough. If one includes <sys/sysmacros.h> as well then glibc knows we
meant it and doesn't warn, so do that if it exists.

Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: c0375dced38674ed98562529530d89ff02c48100
      https://github.com/XQuartz/xorg-server/commit/c0375dced38674ed98562529530d89ff02c48100
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-05-03 (Wed, 03 May 2017)

  Changed paths:
    M hw/kdrive/src/Makefile.am
    M hw/kdrive/src/kcmap.c
    M hw/kdrive/src/kdrive.c
    M hw/kdrive/src/kdrive.h
    M hw/kdrive/src/kinput.c
    R hw/kdrive/src/kmode.c
    M hw/kdrive/src/kxv.c
    M hw/kdrive/src/kxv.h

  Log Message:
  -----------
  kdrive: static and dead code cleanup

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: c42311a9d7d2e5a67bdb7f4fa32032b4feba59b1
      https://github.com/XQuartz/xorg-server/commit/c42311a9d7d2e5a67bdb7f4fa32032b4feba59b1
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-05-03 (Wed, 03 May 2017)

  Changed paths:
    M hw/kdrive/ephyr/Makefile.am
    M hw/kdrive/ephyr/ephyr.h
    M hw/kdrive/ephyr/ephyrinit.c
    R hw/kdrive/ephyr/os.c
    M hw/kdrive/src/kdrive.c
    M hw/kdrive/src/kdrive.h
    M hw/kdrive/src/kinput.c

  Log Message:
  -----------
  kdrive: Remove KdOsFuncs

Only the Init slot was used, and Xephyr can just as easily do that
initialization directly.

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: b7376fb933ac1b0c1771535c14cf77029eccb7f5
      https://github.com/XQuartz/xorg-server/commit/b7376fb933ac1b0c1771535c14cf77029eccb7f5
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-05-03 (Wed, 03 May 2017)

  Changed paths:
    M hw/kdrive/ephyr/ephyr.c
    M hw/kdrive/ephyr/ephyrinit.c
    M hw/kdrive/src/kcmap.c
    M hw/kdrive/src/kdrive.c
    M hw/kdrive/src/kdrive.h

  Log Message:
  -----------
  kdrive: Remove dead slots from KdCardFuncs

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: 11c133aafe63c776bde502057243d67fe2c630c8
      https://github.com/XQuartz/xorg-server/commit/11c133aafe63c776bde502057243d67fe2c630c8
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-05-04 (Thu, 04 May 2017)

  Changed paths:
    M hw/kdrive/ephyr/meson.build
    M hw/kdrive/src/meson.build

  Log Message:
  -----------
  meson: Fix kdrive build.

Signed-off-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 111a5615a60565f7b68a7fa69dbac3d289d80c9e
      https://github.com/XQuartz/xorg-server/commit/111a5615a60565f7b68a7fa69dbac3d289d80c9e
  Author: Peter Hutterer <peter.hutterer at who-t.net>
  Date:   2017-05-04 (Thu, 04 May 2017)

  Changed paths:
    M Makefile.am

  Log Message:
  -----------
  Makefile.am: add the meson files to the tarball

While we're shipping both build systems, we'll likely have 'make dist'
generated tarballs - those tarballs should be buildable with meson to
have more exposure. List them all explicitly since the list isn't likely
to change much.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Eric Engestrom <eric at engestrom.ch>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: 4b7dd6d1aa53bdeee2e3fd0c0a73f6ce40495682
      https://github.com/XQuartz/xorg-server/commit/4b7dd6d1aa53bdeee2e3fd0c0a73f6ce40495682
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-05-04 (Thu, 04 May 2017)

  Changed paths:
    M Makefile.am

  Log Message:
  -----------
  Makefile.am: make 'make distcheck' verify the meson build

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 3b3ce4a55b0c1f83eff37fb8544156e8961f3fa3
      https://github.com/XQuartz/xorg-server/commit/3b3ce4a55b0c1f83eff37fb8544156e8961f3fa3
  Author: Jon TURNEY <jon.turney at dronecode.org.uk>
  Date:   2017-05-04 (Thu, 04 May 2017)

  Changed paths:
    M os/meson.build

  Log Message:
  -----------
  meson: Test to build xserver_poll.c was inverted

Test to build xserver_poll.c was inverted compared to autoconf. Build
xserver_poll.c if poll is missing.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>


  Commit: 492534813302ef95538f485401fbcf6eccbd0026
      https://github.com/XQuartz/xorg-server/commit/492534813302ef95538f485401fbcf6eccbd0026
  Author: Jon TURNEY <jon.turney at dronecode.org.uk>
  Date:   2017-05-04 (Thu, 04 May 2017)

  Changed paths:
    M include/meson.build
    M meson.build

  Log Message:
  -----------
  meson: Make xf86vidmode optional

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>


  Commit: ce6741f6ac63493d6b903f8f58b83bf571baf4b9
      https://github.com/XQuartz/xorg-server/commit/ce6741f6ac63493d6b903f8f58b83bf571baf4b9
  Author: Jon TURNEY <jon.turney at dronecode.org.uk>
  Date:   2017-05-04 (Thu, 04 May 2017)

  Changed paths:
    M hw/xfree86/fbdevhw/meson.build

  Log Message:
  -----------
  meson: Fix typoed filename

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>


  Commit: 5f83b951ac7e0e6bbd766a9bb860283e32808c90
      https://github.com/XQuartz/xorg-server/commit/5f83b951ac7e0e6bbd766a9bb860283e32808c90
  Author: Jon TURNEY <jon.turney at dronecode.org.uk>
  Date:   2017-05-04 (Thu, 04 May 2017)

  Changed paths:
    M meson_options.txt

  Log Message:
  -----------
  meson: Fix typo in xephyr option description

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>


  Commit: a06bb73053d9df56d9070ce325a43af3a3c7a6a2
      https://github.com/XQuartz/xorg-server/commit/a06bb73053d9df56d9070ce325a43af3a3c7a6a2
  Author: Lyude <lyude at redhat.com>
  Date:   2017-05-05 (Fri, 05 May 2017)

  Changed paths:
    M hw/xwayland/xwayland-input.c

  Log Message:
  -----------
  xwayland: Unconditionally initialize lists in init_tablet_manager_seat()

In the event that xwayland gets launched on a wayland compositor that
doesn't yet have support for wp_tablet_manager, we end up skipping the
initialization of the lists. This is wrong, because regardless of
whether or not a tablet is present we still attempt to traverse these
lists later in xwl_set_cursor(), expecting that if the lists are empty
from no tablet manager that we simply won't execute any loop iterations.

(EE)
(EE) Backtrace:
(EE) 0: Xwayland (OsSigHandler+0x3b) [0x4982f9]
(EE) 1: /lib64/libpthread.so.0 (__restore_rt+0x0) [0x7f73722545bf]
(EE) 2: Xwayland (xwl_set_cursor+0x9f) [0x429974]
(EE) 3: Xwayland (miPointerUpdateSprite+0x261) [0x4fe1ca]
(EE) 4: Xwayland (mieqProcessInputEvents+0x239) [0x4f8d33]
(EE) 5: Xwayland (ProcessInputEvents+0x9) [0x4282f0]
(EE) 6: Xwayland (Dispatch+0x42) [0x43e2d4]
(EE) 7: Xwayland (dix_main+0x5c9) [0x44c6dc]
(EE) 8: Xwayland (main+0x28) [0x61c523]
(EE) 9: /lib64/libc.so.6 (__libc_start_main+0xf1) [0x7f7371e9d401]
(EE) 10: Xwayland (_start+0x2a) [0x4208fa]
(EE) 11: ? (?+0x2a) [0x2a]
(EE)
(EE) Segmentation fault at address 0x28
(EE)
Fatal server error:
(EE) Caught signal 11 (Segmentation fault). Server aborting
(EE)

Reproduced when trying to run upstream xwayland under fedora 25's weston
package.

Signed-off-by: Lyude <lyude at redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 1dd14e7a499428cf7215b49a9319199545bcd6cb
      https://github.com/XQuartz/xorg-server/commit/1dd14e7a499428cf7215b49a9319199545bcd6cb
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M hw/xfree86/dixmods/meson.build

  Log Message:
  -----------
  meson: Use link_whole() not link_with(), for the Xorg dixmods.

I clearly hadn't run ninja test, since fb no longer had any of the fb
symbols in it.

Signed-off-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 2388f5e583d4ab2ee12f2b087d381b64aed3f7d5
      https://github.com/XQuartz/xorg-server/commit/2388f5e583d4ab2ee12f2b087d381b64aed3f7d5
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M hw/xfree86/common/Makefile.am
    M hw/xfree86/common/meson.build
    M hw/xfree86/common/xf86AutoConfig.c
    R hw/xfree86/common/xf86MatchDrivers.h
    M hw/xfree86/common/xf86pciBus.c
    M hw/xfree86/common/xf86pciBus.h
    M hw/xfree86/common/xf86platformBus.c
    M hw/xfree86/common/xf86platformBus.h

  Log Message:
  -----------
  Revert "xfree86: Improved autoconfig drivers matching"

This reverts commit 112d0d7d01b98fb0d67910281dd1feeec125247b.

It broke Xorg for Adam, Peter, and myself, by failing hard when a
module load failed.

Signed-off-by: Eric Anholt <eric at anholt.net>


  Commit: 5d3b6cc221aff5b9322b31aa6f5ae922271bc7d8
      https://github.com/XQuartz/xorg-server/commit/5d3b6cc221aff5b9322b31aa6f5ae922271bc7d8
  Author: Karol Kosik <kkosik at nvidia.com>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M hw/xfree86/common/Makefile.am
    M hw/xfree86/common/meson.build
    M hw/xfree86/common/xf86AutoConfig.c
    A hw/xfree86/common/xf86MatchDrivers.h
    M hw/xfree86/common/xf86pciBus.c
    M hw/xfree86/common/xf86pciBus.h
    M hw/xfree86/common/xf86platformBus.c
    M hw/xfree86/common/xf86platformBus.h

  Log Message:
  -----------
  xfree86: Improved autoconfig drivers matching

Implementation of new drivers matching algorithm. New approach
doesn't add duplicate drivers and ease drivers matching phase.

v2: Re-commit the patch reverted in
    2388f5e583d4ab2ee12f2b087d381b64aed3f7d5, with Aaron Plattner's
    fix squashed in (by anholt).

Signed-off-by: Karol Kosik <kkosik at nvidia.com>
Signed-off-by: Aaron Plattner <aplattner at nvidia.com>
Signed-off-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Aaron Plattner <aplattner at nvidia.com> (v1)
Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com> (v1)
Tested-by: Peter Hutterer <peter.hutterer at who-t.net>
Tested-by: Eric Anholt <eric at anholt.net>


  Commit: e9dbecf7c259f7e8b610fa93f97ea55f5dafa7af
      https://github.com/XQuartz/xorg-server/commit/e9dbecf7c259f7e8b610fa93f97ea55f5dafa7af
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-05-10 (Wed, 10 May 2017)

  Changed paths:
    M os/timingsafe_memcmp.c

  Log Message:
  -----------
  timingsafe_memcmp: Fix meson build

Include dix-config.h first to pick up _GNU_SOURCE so we get the
definition for sigset_t.

Reported-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 95e5fa04762fa0f04ac1349708d9e33c30205a96
      https://github.com/XQuartz/xorg-server/commit/95e5fa04762fa0f04ac1349708d9e33c30205a96
  Author: Jon TURNEY <jon.turney at dronecode.org.uk>
  Date:   2017-05-10 (Wed, 10 May 2017)

  Changed paths:
    M include/meson.build

  Log Message:
  -----------
  meson: Remove stray whitespace

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>


  Commit: 5bff2a68560837fc402905fef6244ce794c47843
      https://github.com/XQuartz/xorg-server/commit/5bff2a68560837fc402905fef6244ce794c47843
  Author: Jon TURNEY <jon.turney at dronecode.org.uk>
  Date:   2017-05-10 (Wed, 10 May 2017)

  Changed paths:
    M meson.build

  Log Message:
  -----------
  meson: Nettle is required if it's the only SHA1 choice

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>


  Commit: fdb11e2274f1d1069cdc9ff7b3655288c1b42cf4
      https://github.com/XQuartz/xorg-server/commit/fdb11e2274f1d1069cdc9ff7b3655288c1b42cf4
  Author: Jon TURNEY <jon.turney at dronecode.org.uk>
  Date:   2017-05-10 (Wed, 10 May 2017)

  Changed paths:
    M meson.build

  Log Message:
  -----------
  meson: Don't require xf86dgaproto

This dependency is never used, and build_dga is hardwired to false later on,
anyhow.

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>


  Commit: 820a4cbe9fef36bc97a7107ccc74a785180e227a
      https://github.com/XQuartz/xorg-server/commit/820a4cbe9fef36bc97a7107ccc74a785180e227a
  Author: Jon TURNEY <jon.turney at dronecode.org.uk>
  Date:   2017-05-10 (Wed, 10 May 2017)

  Changed paths:
    M dri3/meson.build
    M hw/xfree86/dri/meson.build
    M hw/xfree86/dri2/meson.build
    M hw/xfree86/drivers/modesetting/meson.build
    M hw/xfree86/meson.build
    M hw/xfree86/os-support/meson.build
    M include/meson.build
    M meson.build
    M meson_options.txt

  Log Message:
  -----------
  meson: Make driprotos and libdrm optional

Add options for DRI{1,2,3}
shmfence is required for DRI3
libdrm is required for any DRI{1,2,3}
Consolidate calls to dependency('libdrm')
Set WITH_LIBDRM when building with libdrm

v2:
Initialize libxserver_dri3 to []
Manually flatten libxserver, since meson doesn't (currently)
Use version_compare rather than circumloctions with dependency()

Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: 16054647abfc9fe5f71d0098e17415e45fa28199
      https://github.com/XQuartz/xorg-server/commit/16054647abfc9fe5f71d0098e17415e45fa28199
  Author: Jon TURNEY <jon.turney at dronecode.org.uk>
  Date:   2017-05-10 (Wed, 10 May 2017)

  Changed paths:
    M meson.build

  Log Message:
  -----------
  meson: Refine build_dbus

As in autotools build, only turn on build_dbus (build dbus-core.c) if it's
needed by build_hal or build_systemd_logind, not just because dbus is
available.

Building dbus-core.c without NEED_DBUS defined fails, as the contents of
dbus-core.h are turned off.

Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>
Acked-by: Eric Anholt <eric at anholt.net>


  Commit: e67ca940473e249c7b9712ce6d515310ed1e4cf9
      https://github.com/XQuartz/xorg-server/commit/e67ca940473e249c7b9712ce6d515310ed1e4cf9
  Author: Jon TURNEY <jon.turney at dronecode.org.uk>
  Date:   2017-05-10 (Wed, 10 May 2017)

  Changed paths:
    M meson.build

  Log Message:
  -----------
  meson: An empty array is not a dependency object

Using the meson idiom of initializing a variaible to an empty array to
represent a null value does not work well for a variable expected to hold a
dependency object, as trying to apply found() to it will fail (currently).

I think this can be demonstrated by configuing with Dglamor=no, then gbm_dep
is set to [] in meson.build, and then tested with found() in
include/meson.build.

Use dependency('') to create an empty dependency.

Future work: In the autotools build GBM is required if build_xorg &
build_glamor.  I suspect that it was also required for build_xwayland &
build_glamor, but that was never checked.  That test seems to have gone
missing in meson.build, the required:false when checking for gbm should
possibly be dropped?

Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: ba1599610b1889545be8a9314dce8a740a2764d3
      https://github.com/XQuartz/xorg-server/commit/ba1599610b1889545be8a9314dce8a740a2764d3
  Author: Peter Harris <pharris at opentext.com>
  Date:   2017-05-10 (Wed, 10 May 2017)

  Changed paths:
    M include/meson.build

  Log Message:
  -----------
  meson: Detect arc4random_buf

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Peter Harris <pharris at opentext.com>


  Commit: 03d6275e6094a5ede5a70f05bbbdde653a9fd9e0
      https://github.com/XQuartz/xorg-server/commit/03d6275e6094a5ede5a70f05bbbdde653a9fd9e0
  Author: Peter Harris <pharris at opentext.com>
  Date:   2017-05-10 (Wed, 10 May 2017)

  Changed paths:
    M include/meson.build

  Log Message:
  -----------
  meson: Detect more functions

Set HAVE_REALLOCARRAY, HAVE_SIGACTION, HAVE_STRCASESTR, HAVE_STRLCAT,
HAVE_STRLCPY, HAVE_TIMINGSAFE_MEMCMP, and BUSFAULT.

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Peter Harris <pharris at opentext.com>


  Commit: c4c002d1ca80bd69776387dafb9c5bb082c72e48
      https://github.com/XQuartz/xorg-server/commit/c4c002d1ca80bd69776387dafb9c5bb082c72e48
  Author: Peter Harris <pharris at opentext.com>
  Date:   2017-05-10 (Wed, 10 May 2017)

  Changed paths:
    M os/meson.build

  Log Message:
  -----------
  meson: Only detect each function once

Use conf_data outside of include/ to avoid re-running detection of the
same functions.

Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Peter Harris <pharris at opentext.com>


  Commit: 0ff2fb128bf35dffaa302f15e9ae004b65ee0827
      https://github.com/XQuartz/xorg-server/commit/0ff2fb128bf35dffaa302f15e9ae004b65ee0827
  Author: Peter Harris <pharris at opentext.com>
  Date:   2017-05-10 (Wed, 10 May 2017)

  Changed paths:
    M include/meson.build
    M include/os.h

  Log Message:
  -----------
  meson: Detect strlcat/strlcpy/reallocarray in libbsd

If we're linking with libbsd anyway, we might as well use the functions
it provides instead of compiling our replacements.

Signed-off-by: Peter Harris <pharris at opentext.com>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: 0848390d51f93ecfb9342cffe1cda46a65cfc07b
      https://github.com/XQuartz/xorg-server/commit/0848390d51f93ecfb9342cffe1cda46a65cfc07b
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-05-11 (Thu, 11 May 2017)

  Changed paths:
    M hw/kdrive/ephyr/ephyrinit.c

  Log Message:
  -----------
  xephyr: Fix regeneration

I had said:

    commit c42311a9d7d2e5a67bdb7f4fa32032b4feba59b1
    Author: Adam Jackson <ajax at redhat.com>
    Date:   Fri Mar 24 15:58:54 2017 -0400
   kdrive: Remove KdOsFuncs
   Only the Init slot was used, and Xephyr can just as easily do
  that initialization directly.

And I'd've been right, but I forgot to make that initialization only
happen on startup (i.e. when serverGeneration == 1).

Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer at amd.com>
Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 318257029578a30e29c191befa94a20ad07f97d4
      https://github.com/XQuartz/xorg-server/commit/318257029578a30e29c191befa94a20ad07f97d4
  Author: Frank Binns <frank.binns at imgtec.com>
  Date:   2017-05-11 (Thu, 11 May 2017)

  Changed paths:
    M hw/xfree86/parser/scan.c

  Log Message:
  -----------
  hw/xfree86: fix comment typo

Signed-off-by: Frank Binns <frank.binns at imgtec.com>


  Commit: 6634ffc4d26846dcf892f27682f9021f6d9956a9
      https://github.com/XQuartz/xorg-server/commit/6634ffc4d26846dcf892f27682f9021f6d9956a9
  Author: Julien Cristau <jcristau at debian.org>
  Date:   2017-05-11 (Thu, 11 May 2017)

  Changed paths:
    M Xext/xf86bigfont.c

  Log Message:
  -----------
  Drop workaround for pre-glibc linux

It seems unlikely anyone still needs to build against libc4/libc5.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Julien Cristau <jcristau at debian.org>


  Commit: c394f6b27329d212d2a8b9b3c6da1ef7847c46f3
      https://github.com/XQuartz/xorg-server/commit/c394f6b27329d212d2a8b9b3c6da1ef7847c46f3
  Author: Julien Cristau <jcristau at debian.org>
  Date:   2017-05-11 (Thu, 11 May 2017)

  Changed paths:
    M hw/xfree86/common/compiler.h
    M hw/xfree86/common/xf86Config.c
    M hw/xfree86/common/xf86Configure.c
    M hw/xfree86/common/xf86Init.c
    M hw/xfree86/common/xf86str.h
    M hw/xfree86/os-support/bus/Pci.h
    M hw/xfree86/os-support/bus/Sbus.c
    M hw/xfree86/os-support/bus/xf86Sbus.h
    M hw/xfree86/os-support/linux/lnx_agp.c
    M hw/xfree86/os-support/misc/SlowBcopy.c

  Log Message:
  -----------
  Replace all checks for 'linux' macro with '__linux__'

gcc -std=c99 does not define the former, and it's a horrible namespace
confusion anyway.

Signed-off-by: Julien Cristau <jcristau at debian.org>
Reviewed-by: Adam Jackson <ajax at redhat.com>
Tested-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>


  Commit: d9e23ea4228575344e3b4c0443cecc5eb75356e4
      https://github.com/XQuartz/xorg-server/commit/d9e23ea4228575344e3b4c0443cecc5eb75356e4
  Author: Keith Packard <keithp at keithp.com>
  Date:   2017-05-12 (Fri, 12 May 2017)

  Changed paths:
    M dix/dispatch.c

  Log Message:
  -----------
  dix: Remove clients from input and output ready queues after closing

Delay removing the client from these two queues until all potential
I/O has completed in case we mark the client as ready for reading or
with pending output during the close operation.

Bugzilla: https://bugs.freedesktop.org/100957
Signed-off-by: Keith Packard <keithp at keithp.com>
Tested-by: Nick Sarnie <commendsarnex at gmail.com>
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>


  Commit: 152375f4e4f1ee4833129802730b36af8d0f7e1a
      https://github.com/XQuartz/xorg-server/commit/152375f4e4f1ee4833129802730b36af8d0f7e1a
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-05-12 (Fri, 12 May 2017)

  Changed paths:
    M hw/xfree86/os-support/xf86_OSlib.h
    M hw/xfree86/parser/scan.c
    M os/osdep.h
    M os/utils.c

  Log Message:
  -----------
  os, xfree86: Stop being so weird about <limits.h>

Whatever problem this is trying to fix, we don't care. Just include the
thing and stop worrying about whether _POSIX_SOURCE is defined.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith at oracle.com>
Reviewed-by: Julien Cristau <jcristau at debian.org>
Tested-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>


  Commit: 49c742557457ff9200a10f32daadfcea50d4911c
      https://github.com/XQuartz/xorg-server/commit/49c742557457ff9200a10f32daadfcea50d4911c
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-05-12 (Fri, 12 May 2017)

  Changed paths:
    M include/meson.build

  Log Message:
  -----------
  meson: Fix CLOCK_MONOTONIC test

C99 isn't enough on its own to get POSIX feature sets defined.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Julien Cristau <jcristau at debian.org>
Tested-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>


  Commit: 7a19a3e093a62a779c3cab8c28930adcb1604e0d
      https://github.com/XQuartz/xorg-server/commit/7a19a3e093a62a779c3cab8c28930adcb1604e0d
  Author: Peter Hutterer <peter.hutterer at who-t.net>
  Date:   2017-05-15 (Mon, 15 May 2017)

  Changed paths:
    M hw/xfree86/drivers/modesetting/meson.build
    M hw/xfree86/loader/symbol-test.c
    M hw/xfree86/meson.build

  Log Message:
  -----------
  xfree86: build a shared lib identical to Xorg

Because we can use a shared lib in dlsym() for the symbol loader test,
but we can't use the executable.

v2: Drop a stray ' ' and rebase on 820a4cbe9fe, by anholt

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: 7a90c9b24e6776c8f1fa43df4268f79a465c0d4e
      https://github.com/XQuartz/xorg-server/commit/7a90c9b24e6776c8f1fa43df4268f79a465c0d4e
  Author: Jon Turney <jon.turney at dronecode.org.uk>
  Date:   2017-05-15 (Mon, 15 May 2017)

  Changed paths:
    M hw/xfree86/common/xf86Config.c

  Log Message:
  -----------
  xfree86: Hide unused variables when !XSERVER_LIBPCIACCESS

../hw/xfree86/common/xf86Config.c: In function ‘xf86HandleConfigFile’:
../hw/xfree86/common/xf86Config.c:2278:10: warning: unused variable ‘singlecard’ [-Wunused-variable]
../hw/xfree86/common/xf86Config.c:2277:17: warning: unused variable ‘scanptr’ [-Wunused-variable]

Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>
Reviewed-by: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>


  Commit: 319daa7a9fa8bcfdefb08d7770912775af22ad99
      https://github.com/XQuartz/xorg-server/commit/319daa7a9fa8bcfdefb08d7770912775af22ad99
  Author: Jon Turney <jon.turney at dronecode.org.uk>
  Date:   2017-05-15 (Mon, 15 May 2017)

  Changed paths:
    M hw/xwin/winwndproc.c

  Log Message:
  -----------
  hw/xwin: Fix -Wmaybe-uninitialized warning in winWindowProc

This is possibly an actual bug in failing to check we successfully retrieved
the monitor size before using it to set the X screen size.

../hw/xwin/winwndproc.c: In function ‘winWindowProc’:
../hw/xwin/winwndproc.c:283:55: warning: ‘dwHeight’ may be used uninitialized in this function [-Wmaybe-uninitialized]
../hw/xwin/winwndproc.c:240:32: note: ‘dwHeight’ was declared here
../hw/xwin/winwndproc.c:281:54: warning: ‘dwWidth’ may be used uninitialized in this function [-Wmaybe-uninitialized]
../hw/xwin/winwndproc.c:240:23: note: ‘dwWidth’ was declared here

Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>
Reviewed-by: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>


  Commit: e49f5947eda578d8b029f42fb4ec9c90f413b4b3
      https://github.com/XQuartz/xorg-server/commit/e49f5947eda578d8b029f42fb4ec9c90f413b4b3
  Author: Jon Turney <jon.turney at dronecode.org.uk>
  Date:   2017-05-15 (Mon, 15 May 2017)

  Changed paths:
    M hw/xwin/winshadddnl.c
    M hw/xwin/winshadgdi.c

  Log Message:
  -----------
  hw/xwin: Fix -Wmaybe-uninitialized warnings in engine CloseScreen wrappers

../hw/xwin/winshadgdi.c: In function ‘winCloseScreenShadowGDI’:
../hw/xwin/winshadgdi.c:632:12: warning: ‘fReturn’ may be used uninitialized in this function [-Wmaybe-uninitialized]
../hw/xwin/winshadgdi.c:579:10: note: ‘fReturn’ was declared here
../hw/xwin/winshadddnl.c: In function ‘winCloseScreenShadowDDNL’:
../hw/xwin/winshadddnl.c:711:12: warning: ‘fReturn’ may be used uninitialized in this function [-Wmaybe-uninitialized]
../hw/xwin/winshadddnl.c:661:10: note: ‘fReturn’ was declared here

Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>
Reviewed-by: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>


  Commit: fd96ff7fb325f54cb06c2bf5b8c37c75457b5c42
      https://github.com/XQuartz/xorg-server/commit/fd96ff7fb325f54cb06c2bf5b8c37c75457b5c42
  Author: Jon Turney <jon.turney at dronecode.org.uk>
  Date:   2017-05-15 (Mon, 15 May 2017)

  Changed paths:
    M hw/xwin/winmultiwindowwm.c

  Log Message:
  -----------
  hw/xwin: Fix -Wunused-function warning for MessageName() in non-debug builds

../hw/xwin/winmultiwindowwm.c:188:1: warning: ‘MessageName’ defined but not used [-Wunused-function]

Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>
Reviewed-by: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>


  Commit: 5064153c79d8b18767c0ade7635680a2f396f296
      https://github.com/XQuartz/xorg-server/commit/5064153c79d8b18767c0ade7635680a2f396f296
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-05-18 (Thu, 18 May 2017)

  Changed paths:
    M glamor/glamor_egl.c

  Log Message:
  -----------
  glamor_egl: Print a useful identifying string on initialization.

The EGL version is not used anywhere in the glamor code, so it's not
interesting.  And when saying that we've started using GL
acceleration, it's nice to know what GL we're actually using.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Eric Anholt <eric at anholt.net>


  Commit: 5102ea38eb7331aeb1258cd148fd374cf0cbf8f2
      https://github.com/XQuartz/xorg-server/commit/5102ea38eb7331aeb1258cd148fd374cf0cbf8f2
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-05-18 (Thu, 18 May 2017)

  Changed paths:
    M glamor/glamor_egl.c

  Log Message:
  -----------
  glamor_egl: Unifdef GLAMOR_HAS_GBM.

We only build this code with GBM, and supporting non-GBM well would be
invasive.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Eric Anholt <eric at anholt.net>


  Commit: 32957d9faeb8b0e968a23d91ed7391c0465dd1b9
      https://github.com/XQuartz/xorg-server/commit/32957d9faeb8b0e968a23d91ed7391c0465dd1b9
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-05-18 (Thu, 18 May 2017)

  Changed paths:
    M hw/xfree86/drivers/modesetting/dri2.c
    M hw/xfree86/drivers/modesetting/driver.c
    M hw/xfree86/drivers/modesetting/driver.h
    M hw/xfree86/drivers/modesetting/drmmode_display.c
    M hw/xfree86/drivers/modesetting/pageflip.c
    M hw/xfree86/drivers/modesetting/present.c

  Log Message:
  -----------
  modesetting: Drop code for GLAMOR && !GLAMOR_HAS_GBM.

The glamor_egl module that the GLAMOR paths are using is only built if
GLAMOR_HAS_GBM is true, and there's no plan for implementing the
module without GBM.  Simplify modesetting's code as a result.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Eric Anholt <eric at anholt.net>


  Commit: b1b71b7a8b2d2c5d8f4afa67b75d10d4e7cbaa20
      https://github.com/XQuartz/xorg-server/commit/b1b71b7a8b2d2c5d8f4afa67b75d10d4e7cbaa20
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-05-18 (Thu, 18 May 2017)

  Changed paths:
    M glamor/glamor_egl.c

  Log Message:
  -----------
  glamor_egl: Drop the has_gem flag.

We're using GBM, so we know we've got GEM.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Eric Anholt <eric at anholt.net>


  Commit: 40a153ee452390f713f7e5638af320a70defe106
      https://github.com/XQuartz/xorg-server/commit/40a153ee452390f713f7e5638af320a70defe106
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-05-18 (Thu, 18 May 2017)

  Changed paths:
    M glamor/glamor_egl.c

  Log Message:
  -----------
  glamor_egl: Always require the gbm-based image import path.

This has been associated with dri3 for now, but we need to use it
elsewhere in order to avoid flink.  The extensions have been
implemented for long enough that I couldn't find when it was that we
turned them on.  Oddly, we already required renderbuffer import
support, which is basically as hard to implement as texture import.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Eric Anholt <eric at anholt.net>
Acked-by: Daniel Stone <daniels at collabora.com>


  Commit: a6a751e5d8962b01abc2a92ec35300f68cb38d94
      https://github.com/XQuartz/xorg-server/commit/a6a751e5d8962b01abc2a92ec35300f68cb38d94
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-05-18 (Thu, 18 May 2017)

  Changed paths:
    M glamor/glamor_egl.c

  Log Message:
  -----------
  glamor_egl: Drop unnecessary check for KHR_gl_renderbuffer_image.

I couldn't find it being used anywhere in the history of the code.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Eric Anholt <eric at anholt.net>


  Commit: 37618e810b70c24bb8a97dce844963ed1a99f897
      https://github.com/XQuartz/xorg-server/commit/37618e810b70c24bb8a97dce844963ed1a99f897
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-05-18 (Thu, 18 May 2017)

  Changed paths:
    M glamor/glamor_egl.c

  Log Message:
  -----------
  glamor_egl: Drop dead gl_context_depth.

This was replaced in 4afe15d8bfd575c010ed1868697a7922a37ab378, but not
deleted.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Eric Anholt <eric at anholt.net>


  Commit: 5d6f17d913bd4de0b4594585c0a8ba4f717a2a78
      https://github.com/XQuartz/xorg-server/commit/5d6f17d913bd4de0b4594585c0a8ba4f717a2a78
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-05-18 (Thu, 18 May 2017)

  Changed paths:
    M glamor/glamor_egl.c

  Log Message:
  -----------
  glamor_egl: Drop dead "cpp" field

It's been unused since the initial import.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Eric Anholt <eric at anholt.net>


  Commit: 59de50d6ef3331ee03eb82d4acba45aa75c70d42
      https://github.com/XQuartz/xorg-server/commit/59de50d6ef3331ee03eb82d4acba45aa75c70d42
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-05-18 (Thu, 18 May 2017)

  Changed paths:
    M glamor/glamor_egl.c

  Log Message:
  -----------
  glamor_egl: Avoid flink names in glamor_egl_create_textured_pixmap().

Using flink is banned on render nodes, and they needlessly expose our
screen pixmap contents to any authenticated client.  This also
incidentally drops the dependency on EGL_MESA_drm_image.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Eric Anholt <eric at anholt.net>


  Commit: 6e793ae08510639d011f638bcfc5246b9cccd1ae
      https://github.com/XQuartz/xorg-server/commit/6e793ae08510639d011f638bcfc5246b9cccd1ae
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-05-18 (Thu, 18 May 2017)

  Changed paths:
    M glamor/glamor_egl.c

  Log Message:
  -----------
  glamor_egl: Drop warning about indirect GLX and GLES2.

Indirect GLX uses its own context and doesn't care what glamor is
using.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Eric Anholt <eric at anholt.net>


  Commit: f6bf5f1c7475ff1b19b0e8c3e71c1224d5b6bc82
      https://github.com/XQuartz/xorg-server/commit/f6bf5f1c7475ff1b19b0e8c3e71c1224d5b6bc82
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-05-18 (Thu, 18 May 2017)

  Changed paths:
    M glamor/glamor_egl.c

  Log Message:
  -----------
  glamor_egl: Remove check for KHR_surfaceless_context_*

Those extensions don't exist.  There's only surfaceless_context.

Signed-off-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>


  Commit: c36f56808ffbefc4a3dcf61dfad17f62aeb8e16c
      https://github.com/XQuartz/xorg-server/commit/c36f56808ffbefc4a3dcf61dfad17f62aeb8e16c
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-05-18 (Thu, 18 May 2017)

  Changed paths:
    M glamor/glamor_egl.c

  Log Message:
  -----------
  glamor_egl: Automatically choose a GLES2 context if desktop GL fails.

GLES2 support has been requested multiple times, and we've had this
code laying around trying to implement it.  The GLES2 implementation
is not quite there yet (some pixel transfer failures), but it
shouldn't take much fixing at this point.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Eric Anholt <eric at anholt.net>


  Commit: d0675e96f1fc8501324c88afa648a9d394f35587
      https://github.com/XQuartz/xorg-server/commit/d0675e96f1fc8501324c88afa648a9d394f35587
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-05-18 (Thu, 18 May 2017)

  Changed paths:
    M glamor/glamor.h
    M glamor/glamor_egl.c

  Log Message:
  -----------
  glamor_egl: Drop glamor_egl_create_textured_screen_ext().

The function hasn't been doing anything useful since keithp's resource
freeing fixes in 2014.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Eric Anholt <eric at anholt.net>


  Commit: 57c223002c61c8ceb84fa7a02a3c1579517996f3
      https://github.com/XQuartz/xorg-server/commit/57c223002c61c8ceb84fa7a02a3c1579517996f3
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-05-18 (Thu, 18 May 2017)

  Changed paths:
    M mi/misprite.c

  Log Message:
  -----------
  misprite: Remove some dead cache variables

Unused since Keith ported misprite to damage in '04.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: 933d80ba93cf9b5d32ce8673d60810c128debdab
      https://github.com/XQuartz/xorg-server/commit/933d80ba93cf9b5d32ce8673d60810c128debdab
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-05-18 (Thu, 18 May 2017)

  Changed paths:
    M mi/misprite.c

  Log Message:
  -----------
  misprite: Clean up some preprocessor abuse

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: bf3a591fdc5c98f7cab232bf5ec39902947ae2e5
      https://github.com/XQuartz/xorg-server/commit/bf3a591fdc5c98f7cab232bf5ec39902947ae2e5
  Author: Peter Hutterer <peter.hutterer at who-t.net>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
    M fb/fbpict.h

  Log Message:
  -----------
  fb: remove some superfluous empty lines

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 96af794dc648eadcd596893412d7530e92cb5421
      https://github.com/XQuartz/xorg-server/commit/96af794dc648eadcd596893412d7530e92cb5421
  Author: Peter Hutterer <peter.hutterer at who-t.net>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
    M hw/xfree86/common/xf86pciBus.c

  Log Message:
  -----------
  xfree86: up the path name size to 512 in xf86MatchDriverFromFiles

./hw/xfree86/common/xf86pciBus.c: In function ‘xf86MatchDriverFromFiles’:
../hw/xfree86/common/xf86pciBus.c:1330:52: warning: ‘snprintf’ output may be
truncated before the last format character [-Wformat-truncation=]
       snprintf(path_name, sizeof(path_name), "%s/%s", ^~~~~~~
../hw/xfree86/common/xf86pciBus.c:1330:13: note: ‘snprintf’ output between 2

dirent->d_name is 256, so sprintf("%s/%s") into a 256 buffer gives us:

and 257 bytes into a destination of size 256

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 2fbf62b2fb3dcb29551251d09aa695715bb754f4
      https://github.com/XQuartz/xorg-server/commit/2fbf62b2fb3dcb29551251d09aa695715bb754f4
  Author: Jason Gerecke <killertofu at gmail.com>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
    M hw/xfree86/os-support/shared/posix_tty.c

  Log Message:
  -----------
  xfree86: Fix interpretation of xf86WaitForInput timeout

Commit aa6717ce2 switched xf86WaitForInput from using select(2) to using
poll(2). Before this change, the timeout was interpreted as being in
microseconds; afterwards it is fed directly to xorg_poll which interprets
it as being in milliseconds. This results in the function potentially
blocking 1000x longer than intended. This commit scales down the timeout
argument before passing it to xorg_poll, being careful to ensure the result
is not rounded down due to integer division.

Signed-off-by: Jason Gerecke <jason.gerecke at wacom.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 4f29366f1e5678505fb882143c9b4a892d5b8273
      https://github.com/XQuartz/xorg-server/commit/4f29366f1e5678505fb882143c9b4a892d5b8273
  Author: Lyude <lyude at redhat.com>
  Date:   2017-05-31 (Wed, 31 May 2017)

  Changed paths:
    M hw/xwayland/xwayland.c

  Log Message:
  -----------
  xwayland: Don't load extension list more than once

When running an Xwayland server from the command line, we end up
resetting the server every time all of the clients connected to the
server leave. This would be fine, except that xwayland makes the mistake
of unconditionally calling LoadExtensionList(). This causes us to setup
the glxExtension twice in a row which means that when we lose our last
client on the second server generation, we end up trying to call the glx
destructors twice in a row resulting in a segfault:

(EE)
(EE) Backtrace:
(EE) 0: Xwayland (OsSigHandler+0x3b) [0x4982f9]
(EE) 1: /lib64/libpthread.so.0 (__restore_rt+0x0) [0x70845bf]
(EE) 2: /usr/lib64/dri/swrast_dri.so (__driDriverGetExtensions_virtio_gpu+0x32897d) [0x1196e5bd]
(EE) 3: /usr/lib64/dri/swrast_dri.so (__driDriverGetExtensions_virtio_gpu+0x328a45) [0x1196e745]
(EE) 4: /usr/lib64/dri/swrast_dri.so (__driDriverGetExtensions_virtio_gpu+0x32665f) [0x11969f7f]
(EE) 5: Xwayland (__glXDRIscreenDestroy+0x30) [0x54686e]
(EE) 6: Xwayland (glxCloseScreen+0x3f) [0x5473db]
(EE) 7: Xwayland (glxCloseScreen+0x53) [0x5473ef]
(EE) 8: Xwayland (dix_main+0x7b6) [0x44c8c9]
(EE) 9: Xwayland (main+0x28) [0x61c503]
(EE) 10: /lib64/libc.so.6 (__libc_start_main+0xf1) [0x72b1401]
(EE) 11: Xwayland (_start+0x2a) [0x4208fa]
(EE) 12: ? (?+0x2a) [0x2a]
(EE)
(EE) Segmentation fault at address 0x18
(EE)
Fatal server error:
(EE) Caught signal 11 (Segmentation fault). Server aborting
(EE)

Easy reproduction recipe:
- Start an Xwayland session with the default settings
- Open a window
- Close that window
- Open another window
- Close that window
- Total annihilation occurs

Signed-off-by: Lyude <lyude at redhat.com>
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: d8ccfb132602be88e640cc87ea58496e0445aab7
      https://github.com/XQuartz/xorg-server/commit/d8ccfb132602be88e640cc87ea58496e0445aab7
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-06-02 (Fri, 02 Jun 2017)

  Changed paths:
    M Xext/sync.c
    M include/meson.build

  Log Message:
  -----------
  meson: Fix enabling of xshmfence.

I misspelled the enable flag, so DRI3 would throw BadImplementation
when you tried to start any GL app.  Same as in
c7be7a688a78a34f61b90c0d95914e14b90b0cdc, we also convert it to #ifdef
for consistency.

Signed-off-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 793af4d3f945b1d59eb2f84e625b581ea90b0066
      https://github.com/XQuartz/xorg-server/commit/793af4d3f945b1d59eb2f84e625b581ea90b0066
  Author: Jon Turney <jon.turney at dronecode.org.uk>
  Date:   2017-06-02 (Fri, 02 Jun 2017)

  Changed paths:
    M hw/xwin/Makefile.am
    M hw/xwin/win.h

  Log Message:
  -----------
  hw/xwin: Don't unconditionally include rootless.h

Don't unconditionally include rootless.h, and so we don't need to add
rootless to the include path unless building MWEXTWM.

Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: 36b9dac212a0f8a287cdbd35db152a5eb5cbc744
      https://github.com/XQuartz/xorg-server/commit/36b9dac212a0f8a287cdbd35db152a5eb5cbc744
  Author: Jon Turney <jon.turney at dronecode.org.uk>
  Date:   2017-06-02 (Fri, 02 Jun 2017)

  Changed paths:
    M configure.ac
    M hw/xwin/Makefile.am
    R hw/xwin/winvideo.c

  Log Message:
  -----------
  hw/xwin: Remove pretense of Xv support

Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: 1f38a31ed3969471cbed69c61edb971f6cff5287
      https://github.com/XQuartz/xorg-server/commit/1f38a31ed3969471cbed69c61edb971f6cff5287
  Author: Jon Turney <jon.turney at dronecode.org.uk>
  Date:   2017-06-02 (Fri, 02 Jun 2017)

  Changed paths:
    M hw/meson.build
    A hw/xwin/dri/meson.build
    A hw/xwin/glx/meson.build
    A hw/xwin/meson.build
    A hw/xwin/winclipboard/meson.build
    M include/meson.build
    A include/xwin-config.h.meson.in
    M meson.build
    M meson_options.txt

  Log Message:
  -----------
  Add meson.build for XWin server (v2)

This needs a meson with PRs #1784, #1792 and #1794

Future work: remove conditionals which are always on, and simplify redundant
CYGDEBUG conditionals

Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: fd0d2523a33620b36cd478925ddac5cf70f9c409
      https://github.com/XQuartz/xorg-server/commit/fd0d2523a33620b36cd478925ddac5cf70f9c409
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-06-02 (Fri, 02 Jun 2017)

  Changed paths:
    M glamor/glamor_egl.c

  Log Message:
  -----------
  glamor_egl: Stop saving the EGL major/minor version.

We don't use them for anything.

Signed-off-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: 49b12cb7360608b14caef5facb12f146d0bd15e6
      https://github.com/XQuartz/xorg-server/commit/49b12cb7360608b14caef5facb12f146d0bd15e6
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-06-02 (Fri, 02 Jun 2017)

  Changed paths:
    M glamor/glamor.c
    M glamor/glamor_core.c
    M glamor/glamor_priv.h

  Log Message:
  -----------
  glamor: Stop tracking the screen_fbo.

This means we no longer get "s" for on-screen drawing in glamor_debug,
and there's only "m" (CPU memory) or "f" (Any GPU memory, aka FBOs).
That seems fine to me.

Signed-off-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: 72ddad7a97fa062bf9967d221c9a5520ebe33352
      https://github.com/XQuartz/xorg-server/commit/72ddad7a97fa062bf9967d221c9a5520ebe33352
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-06-02 (Fri, 02 Jun 2017)

  Changed paths:
    M glamor/glamor.c
    M glamor/glamor.h
    M glamor/glamor_egl.c
    M hw/xfree86/drivers/modesetting/drmmode_display.c
    M hw/xwayland/xwayland-glamor.c

  Log Message:
  -----------
  glamor: Drop glamor_set_screen_pixmap().

All that was left here was updating the FBO's size.  However, the FBO
size was always set correctly already through
glamor_set_pixmap_texture() from whoever had attached a new BO to the
pixmap.

Signed-off-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: 87db150d8a572d8983a234663aaaab9cb8b6c98d
      https://github.com/XQuartz/xorg-server/commit/87db150d8a572d8983a234663aaaab9cb8b6c98d
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-06-02 (Fri, 02 Jun 2017)

  Changed paths:
    M glamor/glamor_debug.h
    M glamor/glamor_priv.h

  Log Message:
  -----------
  glamor: Remove the "delayed fallback" code.

The usage of this died with the old core rendering code.

Signed-off-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: d164c10850609c96fd46c8441efd40940b06dfe0
      https://github.com/XQuartz/xorg-server/commit/d164c10850609c96fd46c8441efd40940b06dfe0
  Author: Michel Dänzer <michel.daenzer at amd.com>
  Date:   2017-06-05 (Mon, 05 Jun 2017)

  Changed paths:
    M hw/xfree86/man/xorg.conf.man
    M hw/xfree86/modes/xf86Crtc.c

  Log Message:
  -----------
  xfree86: Add Option "PreferCloneMode"

When the default behaviour was changed from clone mode to horizontal
extended layout, a boolean ScrnInfoRec member preferClone was introduced
to choose the old default behaviour. Option "PreferCloneMode" allows
setting this preferClone member.

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>


  Commit: 7c88977d338a01aca866e52c9e736f8857fb9ae4
      https://github.com/XQuartz/xorg-server/commit/7c88977d338a01aca866e52c9e736f8857fb9ae4
  Author: Michel Dänzer <michel.daenzer at amd.com>
  Date:   2017-06-05 (Mon, 05 Jun 2017)

  Changed paths:
    M glamor/glamor_utils.h

  Log Message:
  -----------
  glamor: Store the actual EGL/GLX context pointer in lastGLContext

Fixes subtle breakage which could sometimes trigger after a server reset
with multiple screens using glamor:

Screen A enters glamor_close_screen last and calls various cleanup
functions, which at some point call glamor_make_current to make sure
screen A's GL context is current. This sets lastGLContext to screen A's
&glamor_priv->ctx. Finally, glamor_close_screen calls
glamor_release_screen_priv, which calls free(glamor_priv).

Later, screen B enters glamor_init, which allocates a new glamor_priv.
With bad luck, this can return the same pointer which was previously
used for screen A's glamor_priv. So when screen B's glamor_init calls
glamor_make_current, lastGLContext == &glamor_priv->ctx, so MakeCurrent
isn't called for screen B's GL context, and the following OpenGL API
calls triggered by glamor_init mess up screen A's GL context.

The observed end result of this was a crash in glamor_get_vbo_space
because glamor_priv->vbo didn't match the GL context, though there might
be other possible outcomes.

Assigning the actual GL context pointer to lastGLContext prevents this
by preventing the false negative test in glamor_make_current.

Reviewed-by: Keith Packard <keithp at keithp.com>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: f065721e6fa6e9057cca4eadaf145a4dc22a08d2
      https://github.com/XQuartz/xorg-server/commit/f065721e6fa6e9057cca4eadaf145a4dc22a08d2
  Author: Carlos Garnacho <carlosg at gnome.org>
  Date:   2017-06-07 (Wed, 07 Jun 2017)

  Changed paths:
    M dix/events.c

  Log Message:
  -----------
  dix: assume warping on the RootWindow always happens on visible coords

If the root window borderClip region is null, the PointInWindowIsVisible()
check fails if pointer warping is attempted on the root window, making
the warping operation bail out early.

Assume coordinates always lay inside the root window for this case,
the actual position will be clamped later within screen coordinates anyway.

Signed-off-by: Carlos Garnacho <carlosg at gnome.org>
Acked-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: c217fcb4c4640ffd2fefee63c6fcd7ea5e64b942
      https://github.com/XQuartz/xorg-server/commit/c217fcb4c4640ffd2fefee63c6fcd7ea5e64b942
  Author: Carlos Garnacho <carlosg at gnome.org>
  Date:   2017-06-07 (Wed, 07 Jun 2017)

  Changed paths:
    M hw/xwayland/xwayland.c

  Log Message:
  -----------
  xwayland: Allow pointer warp on root/None window

Of sorts, as we can't honor pointer warping across the whole root window
coordinates, peek the pointer focus in these cases.

Signed-off-by: Carlos Garnacho <carlosg at gnome.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: fafdb0cc9697eb53635ed1e78bec1d4cd87ab3a2
      https://github.com/XQuartz/xorg-server/commit/fafdb0cc9697eb53635ed1e78bec1d4cd87ab3a2
  Author: Carlos Garnacho <carlosg at gnome.org>
  Date:   2017-06-07 (Wed, 07 Jun 2017)

  Changed paths:
    M hw/xwayland/xwayland.c

  Log Message:
  -----------
  xwayland: "Accept" confineTo on InputOnly windows

Of sorts, actually make it confine to the pointer focus, as the
InputOnly window is entirely invisible to xwayland accounting,
we don't have a xwl_window for it.

Signed-off-by: Carlos Garnacho <carlosg at gnome.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 513e3bd3870fdb8a8e0e2e52c0fa93872300bc8b
      https://github.com/XQuartz/xorg-server/commit/513e3bd3870fdb8a8e0e2e52c0fa93872300bc8b
  Author: Carlos Garnacho <carlosg at gnome.org>
  Date:   2017-06-07 (Wed, 07 Jun 2017)

  Changed paths:
    M hw/xwayland/xwayland-output.c
    M hw/xwayland/xwayland.c

  Log Message:
  -----------
  xwayland: Update root window size when desktop size changes

This fixes grabs on InputOnly windows whose parent is the root window
failing with GrabNotViewable. This is due to window->borderSize/windowSize
being computed as clipped by its parent, resulting in a null region.

Setting up the right size on the root window makes the InputOnly size
correct too, so the GrabNotViewable paths aren't hit anymore.

Signed-off-by: Carlos Garnacho <carlosg at gnome.org>
Acked-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: ca17f3e9fd3b59fdc5ffd0e5d78e4db6ddc87aa1
      https://github.com/XQuartz/xorg-server/commit/ca17f3e9fd3b59fdc5ffd0e5d78e4db6ddc87aa1
  Author: Carlos Garnacho <carlosg at gnome.org>
  Date:   2017-06-07 (Wed, 07 Jun 2017)

  Changed paths:
    M hw/xwayland/xwayland-input.c

  Log Message:
  -----------
  xwayland: Lock the pointer if it is confined and has no cursor

In the typical pattern in games of "hide cursor, grab with a confineTo,
warp constantly the pointer to the middle of the window" the last warping
step is actually rather optional. Some games may choose to just set up a
grab with confineTo argument, and trust that they'll get correct relative
X/Y axis values despite the hidden cursor hitting the confinement window
edge.

To cater for these cases, lock the pointer whenever there is a pointer
confinement and the cursor is hidden. This ensures the pointer position
is in sync with the compositor's when it's next shown again, and more
importantly resorts to the relative pointer for event delivery.

Signed-off-by: Carlos Garnacho <carlosg at gnome.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 95febc42cadf392a888104ad6d5cf4f34fdde7d5
      https://github.com/XQuartz/xorg-server/commit/95febc42cadf392a888104ad6d5cf4f34fdde7d5
  Author: Carlos Garnacho <carlosg at gnome.org>
  Date:   2017-06-07 (Wed, 07 Jun 2017)

  Changed paths:
    M Xi/xiwarppointer.c

  Log Message:
  -----------
  Xi: Use WarpPointerProc hook on XI pointer warping implementation

Just like we do with XWarpPointer's.

Signed-off-by: Carlos Garnacho <carlosg at gnome.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: d5e2f271ad93e50412ff3605fb25cb9622f437e0
      https://github.com/XQuartz/xorg-server/commit/d5e2f271ad93e50412ff3605fb25cb9622f437e0
  Author: Carlos Garnacho <carlosg at gnome.org>
  Date:   2017-06-07 (Wed, 07 Jun 2017)

  Changed paths:
    M hw/xwayland/xwayland.h

  Log Message:
  -----------
  xwayland: Remove two unused proc pointers.

Xwayland doesn't override these, so we don't need defining those
in the xwl_screen struct.

Signed-off-by: Carlos Garnacho <carlosg at gnome.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: fbc9814975fe82be25becf1a55d4f8d34298a956
      https://github.com/XQuartz/xorg-server/commit/fbc9814975fe82be25becf1a55d4f8d34298a956
  Author: Jason Gerecke <killertofu at gmail.com>
  Date:   2017-06-12 (Mon, 12 Jun 2017)

  Changed paths:
    M hw/xwayland/xwayland-input.c

  Log Message:
  -----------
  xwayland: Correct off-by-one error in tablet button numbering

The 'tablet_tool_frame' function treats the button masks as though they
are zero-indexed, but 'tablet_tool_button_state' treats them as one-
indexed. The result is that an e.g. middle click event recieved from
Wayland will be sent from the X server as a right-click instead.

Fixes: 773b04748d0 ("xwayland: handle button events after motion events")
Signed-off-by: Jason Gerecke <jason.gerecke at wacom.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 7c7a540f1e1d6b5466e1c9aa28476a2d7273d5ed
      https://github.com/XQuartz/xorg-server/commit/7c7a540f1e1d6b5466e1c9aa28476a2d7273d5ed
  Author: Jason Gerecke <killertofu at gmail.com>
  Date:   2017-06-12 (Mon, 12 Jun 2017)

  Changed paths:
    M hw/xwayland/xwayland-input.c
    M hw/xwayland/xwayland.h

  Log Message:
  -----------
  xwayland: Implement tablet_tool_wheel for scrolling

The 'tablet_tool_wheel' function for tablet scrolling was added back in
8a1defcc634 but left unimplemented. This commit fills in the necessary
details, using the "clicks" count as the number of discrete scroll up/down
events to send.

Signed-off-by: Jason Gerecke <jason.gerecke at wacom.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: d4995a3936ae283b9080fdaa0905daa669ebacfc
      https://github.com/XQuartz/xorg-server/commit/d4995a3936ae283b9080fdaa0905daa669ebacfc
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

  Changed paths:
    M hw/xfree86/drivers/modesetting/drmmode_display.c

  Log Message:
  -----------
  modesetting: Validate the atom for enum properties

The client could have said anything here, and if what they said doesn't
actually name an atom NameForAtom() will return NULL, and strcmp() will
be unhappy about that.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: ffda82ed04d28feae2e001dbd0c32d6c795d90b1
      https://github.com/XQuartz/xorg-server/commit/ffda82ed04d28feae2e001dbd0c32d6c795d90b1
  Author: Michel Dänzer <michel.daenzer at amd.com>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

  Changed paths:
    M glamor/glamor_copy.c

  Log Message:
  -----------
  glamor: Fix temporary pixmap coordinate offsets

The previous values happened to work in basic cases, but not in general
if the destination is a subwindow or has a border.

Fixes crash with xli, which moves a large subwindow inside a smaller
parent window for scrolling.

No regressions with xterm, x11perf -copyplane or the xscreensaver
phosphor hack.

Bug: https://bugs.debian.org/857983
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: c86fc56b10b603b41ae37057eedfa9c86b609752
      https://github.com/XQuartz/xorg-server/commit/c86fc56b10b603b41ae37057eedfa9c86b609752
  Author: Keith Packard <keithp at keithp.com>
  Date:   2017-06-12 (Mon, 12 Jun 2017)

  Changed paths:
    M glamor/glamor_copy.c

  Log Message:
  -----------
  glamor: Clarify variable names in glamor_copy_cpu_fbo

This function creates a temporary pixmap to hold data being moved from
the source to the destination. However, it labeled all of the
variables associated with this as src_, which makes it confusing to
read the code. Rename them tmp_ instead. Also fix the comment
describing the function to note that it copies from CPU to GPU, not
GPU to GPU.

Signed-off-by: Keith Packard <keithp at keithp.com>
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>


  Commit: 5d941ccb0b30399d505b48bff894c95cc3023bbe
      https://github.com/XQuartz/xorg-server/commit/5d941ccb0b30399d505b48bff894c95cc3023bbe
  Author: Keith Packard <keithp at keithp.com>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

  Changed paths:
    M os/connection.c
    M os/osdep.h

  Log Message:
  -----------
  os: Eliminate ConnectionTranslation

This infrastructure is no longer read, only written; the mapping
from fd to client is now handled by ospoll.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 523d35e3e1c703a655386f6348a4bfb4291c3969
      https://github.com/XQuartz/xorg-server/commit/523d35e3e1c703a655386f6348a4bfb4291c3969
  Author: Keith Packard <keithp at keithp.com>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

  Changed paths:
    M os/connection.c
    M os/io.c
    M os/osdep.h

  Log Message:
  -----------
  os: Use CloseDownFileDescriptor from AbortClient, including ospoll_remove

AbortClient performs most of the same operations as
CloseDownFileDescriptor except that it doesn't call ospoll_remove,
leaving that unaware that the file descriptor has been closed.

If the file descriptor is re-used before the server comes back around
to clean up, and that new file descriptor is passed to SetNotifyFd,
then that function will mistakenly re-interpret the stale ClientPtr
returned by ospoll_data as a struct notify * instead and mangle data
badly.

To fix this, the patch does:

1) Change CloseDownFileDescriptor so that it can be called multiple
   times on the same OsCommPtr. The calls related to the file
   descriptor are moved inside the check for trans_conn and
   oc->trans_conn is set to NULL after cleaning up.

2) Move the XdmcpCloseDisplay call into CloseDownFileDescriptor. I
   don't think the actually matters as we just need to know at some
   point that the session client has exited. Moving it avoids the
   possibility of having this accidentally trigger from another client
   with the same fd which closes down at around the same time.

3) Change AbortClient to call CloseDownFileDescriptor. This makes sure
   that all of the fd-related clean up happens in the same way
   everywhere, in particular ensures that ospoll is notified about the
   closed file descriptor at the time it is closed and not some time later.

Debian-bug: https://bugs.debian.org/862824
Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 448a5586e9235bee9648d89e4103ed48e6237c15
      https://github.com/XQuartz/xorg-server/commit/448a5586e9235bee9648d89e4103ed48e6237c15
  Author: Keith Packard <keithp at keithp.com>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

  Changed paths:
    M os/connection.c

  Log Message:
  -----------
  os: Don't call ospoll_listen/ospoll_mute after connection is closed

In set_poll_client, check oc->trans_conn to make sure the connection
is still running before changing the ospoll configuration of the file
descriptor in case some other bit of the server is now using this file
descriptor.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: d05c754e1bde895589fb514d8f518afeccecbc05
      https://github.com/XQuartz/xorg-server/commit/d05c754e1bde895589fb514d8f518afeccecbc05
  Author: Keith Packard <keithp at keithp.com>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

  Changed paths:
    M os/io.c

  Log Message:
  -----------
  os: Check oc->trans_conn before using oc->fd in YieldControlNoInput

oc->trans_conn is set to NULL when the connection is closed. At this
point, oc->fd is no longer valid and shouldn't be used. Move
dereference of oc->fd up into YieldControlNoInput where the state of
oc->trans_conn can be checked in a single place.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: f3689f637f5ac0fb6c231a470e65b39aa5e9ba20
      https://github.com/XQuartz/xorg-server/commit/f3689f637f5ac0fb6c231a470e65b39aa5e9ba20
  Author: Keith Packard <keithp at keithp.com>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

  Changed paths:
    M os/connection.c

  Log Message:
  -----------
  os: Set oc->fd to -1 when connection is closed

This ensures that we don't use the now-closed file descriptor in the
future.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 75bf302ed20f4b9794f71f84c1da2b9fcd689356
      https://github.com/XQuartz/xorg-server/commit/75bf302ed20f4b9794f71f84c1da2b9fcd689356
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

  Changed paths:
    M hw/dmx/glxProxy/glxcmds.c
    M hw/dmx/glxProxy/glxcmdsswap.c

  Log Message:
  -----------
  dmx: Remove includes of glxtokens.h

Our top-level glx.h include already provides all of the tokens we use,
and fixes redefinition warnings in the meson build.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Eric Anholt <eric at anholt.net>


  Commit: fda2b064a0ebd223e8a39fd19f5c5ad1da0776e8
      https://github.com/XQuartz/xorg-server/commit/fda2b064a0ebd223e8a39fd19f5c5ad1da0776e8
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

  Changed paths:
    M hw/xfree86/drivers/modesetting/meson.build

  Log Message:
  -----------
  meson: Fix test for whether we've built glamor-EGL.

This matches the test we use for going into the glamor_egl subdir in
../../meson.build.


  Commit: 01dfb65ee2e34148718d3f95dfd4629024edba84
      https://github.com/XQuartz/xorg-server/commit/01dfb65ee2e34148718d3f95dfd4629024edba84
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

  Changed paths:
    A .travis.yml
    A test/scripts/build-travis-deps.sh

  Log Message:
  -----------
  travis: Add a build script for Travis CI.

This currently does a meson build using a docker image I've prepared.
The Dockerfile source is at:

    https://github.com/anholt/xserver-travis

Docker proved to be necessary to cut the build time per Travis push.
If some day we end up using meson in more of the X stack, we may be
able to move more dependencies out of the docker image and into the CI
build (putting the I in CI).  Until then, we'll have to do docker
image rebuilds when dependencies are added/updated.

To enable Travis CI on your github repository, see the first two steps
of the docs at:

    https://docs.travis-ci.com/user/getting-started/

Once you do that, pushing branches to your github repo will trigger
builds, which will send you email if they fail.  Current build status
can be veiewed your account on travis-ci.org:

    https://travis-ci.org/anholt/xserver


  Commit: d82c3cee02a99cf7861d1effaa5c7d38683a7783
      https://github.com/XQuartz/xorg-server/commit/d82c3cee02a99cf7861d1effaa5c7d38683a7783
  Author: Eric Anholt <eric at anholt.net>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

  Changed paths:
    M .travis.yml

  Log Message:
  -----------
  travis: Enable ccache.

We bind-mount the cache directory into the container.  Cuts build time
from about 4 minutes to 2.

Signed-off-by: Eric Anholt <eric at anholt.net>


  Commit: 05442de962d3dc624f79fc1a00eca3ffc5489ced
      https://github.com/XQuartz/xorg-server/commit/05442de962d3dc624f79fc1a00eca3ffc5489ced
  Author: Michal Srb <msrb at suse.com>
  Date:   2017-06-19 (Mon, 19 Jun 2017)

  Changed paths:
    M Xi/sendexev.c

  Log Message:
  -----------
  Xi: Zero target buffer in SProcXSendExtensionEvent.

Make sure that the xEvent eventT is initialized with zeros, the same way as
in SProcSendEvent.

Some event swapping functions do not overwrite all 32 bytes of xEvent
structure, for example XSecurityAuthorizationRevoked. Two cooperating
clients, one swapped and the other not, can send
XSecurityAuthorizationRevoked event to each other to retrieve old stack data
from X server. This can be potentialy misused to go around ASLR or
stack-protector.

Signed-off-by: Michal Srb <msrb at suse.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 215f894965df5fb0bb45b107d84524e700d2073c
      https://github.com/XQuartz/xorg-server/commit/215f894965df5fb0bb45b107d84524e700d2073c
  Author: Michal Srb <msrb at suse.com>
  Date:   2017-06-19 (Mon, 19 Jun 2017)

  Changed paths:
    M dix/events.c
    M dix/swapreq.c

  Log Message:
  -----------
  dix: Disallow GenericEvent in SendEvent request.

The SendEvent request holds xEvent which is exactly 32 bytes long, no more,
no less. Both ProcSendEvent and SProcSendEvent verify that the received data
exactly match the request size. However nothing stops the client from passing
in event with xEvent::type = GenericEvent and any value of
xGenericEvent::length.

In the case of ProcSendEvent, the event will be eventually passed to
WriteEventsToClient which will see that it is Generic event and copy the
arbitrary length from the receive buffer (and possibly past it) and send it to
the other client. This allows clients to copy unitialized heap memory out of X
server or to crash it.

In case of SProcSendEvent, it will attempt to swap the incoming event by
calling a swapping function from the EventSwapVector array. The swapped event
is written to target buffer, which in this case is local xEvent variable. The
xEvent variable is 32 bytes long, but the swapping functions for GenericEvents
expect that the target buffer has size matching the size of the source
GenericEvent. This allows clients to cause stack buffer overflows.

Signed-off-by: Michal Srb <msrb at suse.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 8caed4df36b1f802b4992edcfd282cbeeec35d9d
      https://github.com/XQuartz/xorg-server/commit/8caed4df36b1f802b4992edcfd282cbeeec35d9d
  Author: Michal Srb <msrb at suse.com>
  Date:   2017-06-19 (Mon, 19 Jun 2017)

  Changed paths:
    M Xi/sendexev.c

  Log Message:
  -----------
  Xi: Verify all events in ProcXSendExtensionEvent.

The requirement is that events have type in range
EXTENSION_EVENT_BASE..lastEvent, but it was tested
only for first event of all.

Signed-off-by: Michal Srb <msrb at suse.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: ba336b24052122b136486961c82deac76bbde455
      https://github.com/XQuartz/xorg-server/commit/ba336b24052122b136486961c82deac76bbde455
  Author: Michal Srb <msrb at suse.com>
  Date:   2017-06-19 (Mon, 19 Jun 2017)

  Changed paths:
    M Xi/sendexev.c

  Log Message:
  -----------
  Xi: Do not try to swap GenericEvent.

The SProcXSendExtensionEvent must not attempt to swap GenericEvent because
it is assuming that the event has fixed size and gives the swapping function
xEvent-sized buffer.

A GenericEvent would be later rejected by ProcXSendExtensionEvent anyway.

Signed-off-by: Michal Srb <msrb at suse.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 091af80be48c37f16c679d35fc12ad33e6b0cd74
      https://github.com/XQuartz/xorg-server/commit/091af80be48c37f16c679d35fc12ad33e6b0cd74
  Author: Aaron Plattner <aplattner at nvidia.com>
  Date:   2017-06-19 (Mon, 19 Jun 2017)

  Changed paths:
    M randr/rrcrtc.c

  Log Message:
  -----------
  randr: Use RRTransformEqual in RRCrtcPendingTransform

Currently, RRCrtcPendingTransform returns false unless the
transformation matrix itself is changing. This makes RRCrtcSet skip
doing anything if the only thing that is changing is the transform
filter.

There's already a function for comparing RRTransformPtrs, so use that
instead.

Tested by running

  xrandr --output DP-1 --mode 1920x1080 --rate 144 --scale 0.5x0.5 --filter nearest

follwed by

  xrandr --output DP-1 --mode 1920x1080 --rate 144 --scale 0.5x0.5 --filter bilinear

Signed-off-by: Aaron Plattner <aplattner at nvidia.com>
Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer at amd.com>


  Commit: 4212c884c423e5ce2cd3b4d67c0d656475fddc79
      https://github.com/XQuartz/xorg-server/commit/4212c884c423e5ce2cd3b4d67c0d656475fddc79
  Author: Michel Dänzer <michel.daenzer at amd.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M hw/xfree86/modes/xf86RandR12.c

  Log Message:
  -----------
  xfree86/modes: Use RRTransformEqual in xf86RandR12CrtcSet

The memcmp didn't catch when e.g. only the filter changed. Tested by
alternately running

xrandr --output DVI-I-0 --scale-from 3840x2160 --filter bilinear
xrandr --output DVI-I-0 --scale-from 3840x2160 --filter nearest

Reviewed-by: Aaron Plattner <aplattner at nvidia.com>


  Commit: 6d2b7d33678e7a881ebdb5ceb4a32509ad3ee930
      https://github.com/XQuartz/xorg-server/commit/6d2b7d33678e7a881ebdb5ceb4a32509ad3ee930
  Author: Jon Turney <jon.turney at dronecode.org.uk>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M hw/xfree86/os-support/meson.build

  Log Message:
  -----------
  meson: Restore stub ossupport

Don't build BSD ossupport when there is no specific support, build stubs

Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: fb212f2c1bcfb015112aa665dd1f25d9b80f86fc
      https://github.com/XQuartz/xorg-server/commit/fb212f2c1bcfb015112aa665dd1f25d9b80f86fc
  Author: Jon Turney <jon.turney at dronecode.org.uk>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M meson.build
    M meson_options.txt

  Log Message:
  -----------
  meson: Make VBE and VGAHW modules optional

Don't build them on platforms where they aren't meaningful.

Note that autoconf defines WITH_VGAHW when building the VGAHW module, but
that doesn't seem to be used anywhere, so we just drop that.

Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: e905b19a53f96013c4417bec993a1dea5a3b0a5f
      https://github.com/XQuartz/xorg-server/commit/e905b19a53f96013c4417bec993a1dea5a3b0a5f
  Author: Michel Dänzer <michel.daenzer at amd.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M hw/xfree86/common/xf86pciBus.c

  Log Message:
  -----------
  xfree86: Print BusID stanza compatible bus IDs for found devices

The PCI domain has to be specified like this:

 "PCI:<bus>@<domain>:<device>:<function>"

Example before:

 (--) PCI:*(0:0:1:0) 1002:130f:1043:85cb [...]
 (--) PCI: (0:1:0:0) 1002:6939:1458:229d [...]

after:

 (--) PCI:*(0 at 0:1:0) 1002:130f:1043:85cb [...]
 (--) PCI: (1 at 0:0:0) 1002:6939:1458:229d [...]

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>


  Commit: 8e00dc59b51da7e0d3978c26b1884c4767aa2dc2
      https://github.com/XQuartz/xorg-server/commit/8e00dc59b51da7e0d3978c26b1884c4767aa2dc2
  Author: Michel Dänzer <michel.daenzer at amd.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M hw/xfree86/common/xf86pciBus.c

  Log Message:
  -----------
  xfree86: Fix printing of PCI domain/bus in xf86MatchPciInstances

It was attempting to use the <bus>@<domain> format accepted by the BusID
stanza, but the two values were swapped.

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>


  Commit: 3b0fd9421add9f0ca8958ced0f39b2da21143c22
      https://github.com/XQuartz/xorg-server/commit/3b0fd9421add9f0ca8958ced0f39b2da21143c22
  Author: Michel Dänzer <michel.daenzer at amd.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M hw/xfree86/man/xorg.conf.man

  Log Message:
  -----------
  xfree86: Document BusID PCI domain format in xorg.conf manpage

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>


  Commit: d2e57f71ad16f1e677dd542a8bc0db87dfa9791d
      https://github.com/XQuartz/xorg-server/commit/d2e57f71ad16f1e677dd542a8bc0db87dfa9791d
  Author: Michel Dänzer <michel.daenzer at amd.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M hw/xfree86/doc/ddxDesign.xml

  Log Message:
  -----------
  xfree86: Document BusID PCI domain format in ddxDesign.xml

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>


  Commit: 88e807d4fa90165868929190f601beef18252f57
      https://github.com/XQuartz/xorg-server/commit/88e807d4fa90165868929190f601beef18252f57
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M include/extnsionst.h

  Log Message:
  -----------
  include: Remove some unused macros

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: f44e0af4daaad5b18d79f2076bc98d6e79f638af
      https://github.com/XQuartz/xorg-server/commit/f44e0af4daaad5b18d79f2076bc98d6e79f638af
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M Xext/xselinux_ext.c
    M dix/extension.c
    M glx/glxext.c
    M hw/dmx/glxProxy/glxext.c
    M include/extnsionst.h

  Log Message:
  -----------
  dix: Remove extension aliases

This appears to be essentially unused. The only known client-side
library for the SELinux extension is xcb, which does not look for the
name "Flask". The "SGI-GLX" alias for GLX appears to be a bit of
superstition at this point, NVIDIA's driver does not expose it and Mesa
does not check for it.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Acked-by: Keith Packard <keithp at keithp.com>


  Commit: b723da8390d2fe1bf048247302416b37972a0cc3
      https://github.com/XQuartz/xorg-server/commit/b723da8390d2fe1bf048247302416b37972a0cc3
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M hw/xfree86/common/xf86.h
    M hw/xfree86/common/xf86Events.c

  Log Message:
  -----------
  xfree86: Remove unused xf86EnableVTSwitch

Signed-off-by: Adam Jackson <ajax at redhat.com>
Acked-by: Keith Packard <keithp at keithp.com>


  Commit: fbc4da6fef2a0d2111284a19c26d83686ebcbd1f
      https://github.com/XQuartz/xorg-server/commit/fbc4da6fef2a0d2111284a19c26d83686ebcbd1f
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M hw/xfree86/common/xf86pciBus.c
    M hw/xfree86/common/xf86str.h
    M hw/xfree86/dri/dri.c
    M hw/xfree86/dri/dri.h

  Log Message:
  -----------
  xfree86: Move DRICreatePCIBusID to the PCI code

This symbol is used by some DRI2+ drivers and there's nothing
DRI1-specific about it.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Acked-by: Keith Packard <keithp at keithp.com>


  Commit: 17ad6e5d5616039021455bc821d6ee2497f7ebde
      https://github.com/XQuartz/xorg-server/commit/17ad6e5d5616039021455bc821d6ee2497f7ebde
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M hw/dmx/input/usb-keyboard.c

  Log Message:
  -----------
  dmx: Silence an unused-result warning

Modern glibc is very insistent that you care about whether write()
succeeds:

../hw/dmx/input/usb-keyboard.c: In function ‘kbdUSBCtrl’:
../hw/dmx/input/usb-keyboard.c:292:9: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
   write(priv->fd, &event, sizeof(event));
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: d6db66811643d3762716f6b144a7358572216a4f
      https://github.com/XQuartz/xorg-server/commit/d6db66811643d3762716f6b144a7358572216a4f
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M hw/dmx/dmxinit.c

  Log Message:
  -----------
  dmx: Remove some not-very-interesting debug prints

gcc/glibc think the snprintf in dmxExecOS() might truncate. Yes, it
might, and we also don't care. Just delete all this.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Acked-by: Keith Packard <keithp at keithp.com>


  Commit: c33541e59e338cd53f89d94a6898555d350e84aa
      https://github.com/XQuartz/xorg-server/commit/c33541e59e338cd53f89d94a6898555d350e84aa
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M glx/glxext.c
    M glx/indirect_program.c
    M glx/indirect_texture_compression.c
    M glx/indirect_util.c
    M glx/single2.c
    M glx/single2swap.c
    M glx/singlepix.c
    M glx/singlepixswap.c
    M glx/unpack.h

  Log Message:
  -----------
  glx: Remove __glXReply

Static data bad, hulk smash.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: 0b1831d043028f7dd6accca19a81e2abd9a145b5
      https://github.com/XQuartz/xorg-server/commit/0b1831d043028f7dd6accca19a81e2abd9a145b5
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M glx/glxcmds.c
    M glx/glxcontext.h
    M glx/glxdri2.c
    M glx/glxdriswrast.c
    M hw/xwin/glx/indirect.c

  Log Message:
  -----------
  glx: Remove some indirection around EXT_texture_from_pixmap

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: a6c23ef31a4e5aea19ddabdf4a0760f4c48f1ebe
      https://github.com/XQuartz/xorg-server/commit/a6c23ef31a4e5aea19ddabdf4a0760f4c48f1ebe
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M glx/glxdri2.c

  Log Message:
  -----------
  glx/dri2: Don't chirp when falling back to software

This isn't an error if the screen isn't accelerated in the first place.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Acked-by: Keith Packard <keithp at keithp.com>


  Commit: ecc5e362985d1f649c29ac5f93be19851eaf7d87
      https://github.com/XQuartz/xorg-server/commit/ecc5e362985d1f649c29ac5f93be19851eaf7d87
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M glx/glxdriswrast.c

  Log Message:
  -----------
  glx/drisw: Remove unused glx_enable_bits

Sloppy of me!

Signed-off-by: Adam Jackson <ajax at redhat.com>
Acked-by: Keith Packard <keithp at keithp.com>


  Commit: 525db17e04d5cabaeefd20e38cebe7d606047a76
      https://github.com/XQuartz/xorg-server/commit/525db17e04d5cabaeefd20e38cebe7d606047a76
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M glx/glxdriswrast.c

  Log Message:
  -----------
  glx/drisw: Use scratch GCs for swrastPutImage

The scratch GC defaults to the same state as our persistent GCs. Except
for the "draw" GC, which would generate graphics exposures for... well,
no reason really, PutImage doesn't generate graphics exposures.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Keith Packard <keithp at keithp.com>


  Commit: 5c8fb7d128e312e6c01cd40c7ada072c4b5f3776
      https://github.com/XQuartz/xorg-server/commit/5c8fb7d128e312e6c01cd40c7ada072c4b5f3776
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-06-22 (Thu, 22 Jun 2017)

  Changed paths:
    M hw/xfree86/common/xf86str.h
    M hw/xfree86/os-support/bus/xf86Pci.h

  Log Message:
  -----------
  xfree86: Move DRICreatePCIBusID to xf86Pci.h

xf86str.h is parsed into sdksyms unconditionally but the symbol is only
defined when building with PCI support. Move the decl to a header that
sdksyms only parses when building PCI support.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Jon Turney <jon.turney at dronecode.org.uk>


  Commit: fbdd73fac68383c93f6f5c6a7615860503039999
      https://github.com/XQuartz/xorg-server/commit/fbdd73fac68383c93f6f5c6a7615860503039999
  Author: Jon TURNEY <jon.turney at dronecode.org.uk>
  Date:   2017-06-27 (Tue, 27 Jun 2017)

  Changed paths:
    M configure.ac
    M hw/xfree86/Makefile.am
    M hw/xfree86/dixmods/Makefile.am
    M hw/xfree86/dixmods/meson.build
    R hw/xfree86/dixmods/xkbKillSrv.c
    R hw/xfree86/dixmods/xkbPrivate.c
    R hw/xfree86/dixmods/xkbVT.c
    M hw/xfree86/meson.build
    A hw/xfree86/xkb/Makefile.am
    A hw/xfree86/xkb/meson.build
    A hw/xfree86/xkb/xkbKillSrv.c
    A hw/xfree86/xkb/xkbPrivate.c
    A hw/xfree86/xkb/xkbVT.c
    M test/Makefile.am

  Log Message:
  -----------
  Move statically linked xorgxkb files from dixmods to a separate directory

[ajax: Fixed test/Makefile.am as well]

Reviewed-by: Adam Jackson <ajax at redhat.com>


  Commit: b34abb3d2da46339d59a0feefd2240790a6a6a0e
      https://github.com/XQuartz/xorg-server/commit/b34abb3d2da46339d59a0feefd2240790a6a6a0e
  Author: Jon TURNEY <jon.turney at dronecode.org.uk>
  Date:   2017-06-27 (Tue, 27 Jun 2017)

  Changed paths:
    M hw/xfree86/meson.build

  Log Message:
  -----------
  meson: Shuffle around subdirs so we build Xorg loadable modules after Xorg

Reviewed-by: Adam Jackson <ajax at redhat.com>


  Commit: 47a7b63f7455eaeacb634fd800e924f2087dacbd
      https://github.com/XQuartz/xorg-server/commit/47a7b63f7455eaeacb634fd800e924f2087dacbd
  Author: Jon TURNEY <jon.turney at dronecode.org.uk>
  Date:   2017-06-27 (Tue, 27 Jun 2017)

  Changed paths:
    M hw/xfree86/meson.build

  Log Message:
  -----------
  meson: Use --export-all-symbols when building PE/COFF objects

Reviewed-by: Adam Jackson <ajax at redhat.com>


  Commit: 06419a5b17180126d2507c8699229e07f5b2c434
      https://github.com/XQuartz/xorg-server/commit/06419a5b17180126d2507c8699229e07f5b2c434
  Author: Emil Velikov <emil.velikov at collabora.com>
  Date:   2017-06-29 (Thu, 29 Jun 2017)

  Changed paths:
    M glamor/glamor_egl.c

  Log Message:
  -----------
  glamor: remove no longer needed KHR_gl_texture_2D_image requirement

The code that needed it was introduced with commit 7cfd9cc2327 ("Add
DRI3 support to glamor") back in 2013. And was nuked a couple of years
ago with commit 51984dddfcc ("glamor: Delay making pixmaps shareable
until we need to.")

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Eric Anholt <eric at anholt.net>


  Commit: edaad0eff48219787d27f7723cd3d4d9b293de96
      https://github.com/XQuartz/xorg-server/commit/edaad0eff48219787d27f7723cd3d4d9b293de96
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-06-29 (Thu, 29 Jun 2017)

  Changed paths:
    M Makefile.am

  Log Message:
  -----------
  automake: Add hw/xfree86/xkb/meson.build to EXTRA_DIST

Signed-off-by: Adam Jackson <ajax at redhat.com>


  Commit: 43527d31810fe94a5eb4b2543bbc8eb26b1654b7
      https://github.com/XQuartz/xorg-server/commit/43527d31810fe94a5eb4b2543bbc8eb26b1654b7
  Author: Peter Hutterer <peter.hutterer at who-t.net>
  Date:   2017-07-04 (Tue, 04 Jul 2017)

  Changed paths:
    M hw/xfree86/man/xorg.conf.man

  Log Message:
  -----------
  xfree86: link to libinput(4) from the xorg.conf man page

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>


  Commit: ce393de0efb8626d15f3b97c97916971a6aefebd
      https://github.com/XQuartz/xorg-server/commit/ce393de0efb8626d15f3b97c97916971a6aefebd
  Author: Dave Airlie <airlied at redhat.com>
  Date:   2017-07-04 (Tue, 04 Jul 2017)

  Changed paths:
    M hw/xfree86/drivers/modesetting/drmmode_display.c

  Log Message:
  -----------
  modesetting: handle NULL cursor in drmmode_set_cursor.

We had a bug reported with a touchscreen where we could end up
in here with a NULL cursor, so let's not crash the X server.

Signed-off-by: Dave Airlie <airlied at redhat.com>
Reviewed-and-Tested-by: Daniel Martin <consume.noise at gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 04511a0476b5c860e7d157b01080dff94d935f74
      https://github.com/XQuartz/xorg-server/commit/04511a0476b5c860e7d157b01080dff94d935f74
  Author: Adam Jackson <ajax at redhat.com>
  Date:   2017-07-05 (Wed, 05 Jul 2017)

  Changed paths:
    M hw/xwayland/drm.xml

  Log Message:
  -----------
  wayland: Sync drm.xml with Mesa

... where it is named src/egl/wayland/wayland-drm/wayland-drm.xml and
has its requests sorted by protocol version number, avoiding a warning
from wayland-scanner.

Signed-off-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>


  Commit: 05a4396f08c83d9261b8ad16908d9e2730bd4bbf
      https://github.com/XQuartz/xorg-server/commit/05a4396f08c83d9261b8ad16908d9e2730bd4bbf
  Author: Emil Velikov <emil.velikov at collabora.com>
  Date:   2017-07-05 (Wed, 05 Jul 2017)

  Changed paths:
    M glamor/glamor.h

  Log Message:
  -----------
  glamor: update "required EGL extensions" comment

The extensions listed have not been needed in a while. Replace with the
only remaining requirement.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>


  Commit: abb031e731f5c159add1b3351de9c4bb121bf00a
      https://github.com/XQuartz/xorg-server/commit/abb031e731f5c159add1b3351de9c4bb121bf00a
  Author: Rodrigo Vivi <rodrigo.vivi at intel.com>
  Date:   2017-07-06 (Thu, 06 Jul 2017)

  Changed paths:
    M hw/xfree86/dri2/pci_ids/i965_pci_ids.h

  Log Message:
  -----------
  dri2: Sync i965_pci_ids.h from Mesa.

Copied from Mesa with no modifications.

Gives us Coffee Lake and Cannon Lake PCI IDs.

Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
Acked-by: Kenneth Graunke <kenneth at whitecape.org>


  Commit: 211e05ac85a294ef361b9f80d689047fa52b9076
      https://github.com/XQuartz/xorg-server/commit/211e05ac85a294ef361b9f80d689047fa52b9076
  Author: Michal Srb <msrb at suse.com>
  Date:   2017-07-11 (Tue, 11 Jul 2017)

  Changed paths:
    M Xi/xibarriers.c

  Log Message:
  -----------
  Xi: Test exact size of XIBarrierReleasePointer

Otherwise a client can send any value of num_barriers and cause reading or swapping of values on heap behind the receive buffer.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>


  Commit: 6f373c53a83e85d66eb5c4bfd5fbb8f734b8b0ea
      https://github.com/XQuartz/xorg-server/commit/6f373c53a83e85d66eb5c4bfd5fbb8f734b8b0ea
  Author: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
  Date:   2017-07-20 (Thu, 20 Jul 2017)

  Changed paths:
    M os/connection.c

  Log Message:
  -----------
  os/connection: Improve abstraction for launchd secure sockets

This changes away from hard-coding the /tmp/launch-* path to now
supporting a generic <absolute path to unix socket>[.<screen>]
format for $DISPLAY.

cf-libxcb: d978a4f69b30b630f28d07f1003cf290284d24d8

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
CC: Adam Jackson <ajax at kemper.freedesktop.org>


  Commit: e2ef50d6b6c76f70c857b1fd2c3475f234959c64
      https://github.com/XQuartz/xorg-server/commit/e2ef50d6b6c76f70c857b1fd2c3475f234959c64
  Author: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
  Date:   2017-07-20 (Thu, 20 Jul 2017)

  Changed paths:
    M randr/randr.c

  Log Message:
  -----------
  randr: Initialize RandR even if there are currently no screens attached

Failure to do so causes an overvlow in RRClientCallback().

=================================================================
==41262==ERROR: AddressSanitizer: global-buffer-overflow on address 0x000103ccfbc8 at pc 0x0001034f32b9 bp 0x7000035a94c0 sp 0x7000035a94b8
WRITE of size 4 at 0x000103ccfbc8 thread T6
    #0 0x1034f32b8 in RRClientCallback randr.c:72
    #1 0x1038c75e3 in _CallCallbacks dixutils.c:737
    #2 0x10388f406 in CallCallbacks callback.h:83
    #3 0x1038bc49a in NextAvailableClient dispatch.c:3562
    #4 0x103ad094c in AllocNewConnection connection.c:777
    #5 0x103ad1695 in EstablishNewConnections connection.c:863
    #6 0x1038c6630 in ProcessWorkQueue dixutils.c:523
    #7 0x103ab2dbf in WaitForSomething WaitFor.c:175
    #8 0x103880836 in Dispatch dispatch.c:411
    #9 0x1038c2141 in dix_main main.c:301
    #10 0x1032ac75a in server_thread quartzStartup.c:66
    #11 0x7fffc5f16aaa in _pthread_body (libsystem_pthread.dylib+0x3aaa)
    #12 0x7fffc5f169f6 in _pthread_start (libsystem_pthread.dylib+0x39f6)
    #13 0x7fffc5f161fc in thread_start (libsystem_pthread.dylib+0x31fc)

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>


  Commit: c1be98f9f94f4048e209dfddf127275f60adcece
      https://github.com/XQuartz/xorg-server/commit/c1be98f9f94f4048e209dfddf127275f60adcece
  Author: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
  Date:   2017-07-20 (Thu, 20 Jul 2017)

  Changed paths:
    M glx/glxext.c

  Log Message:
  -----------
  glx: Initialize glx even if there are currently no screens attached

Failure to do so causes an overvlow in glxClientCallback

Application Specific Information:
X.Org X Server 1.18.99.1 Build Date: 20160911
=================================================================
==52118==ERROR: AddressSanitizer: SEGV on unknown address 0x000102b27b80 (pc 0x000103433245 bp 0x70000de67c20 sp 0x70000de67c00 T6)
    #0 0x103433244 in __asan::asan_free(void*, __sanitizer::BufferedStackTrace*, __asan::AllocType) (libclang_rt.asan_osx_dynamic.dylib+0x3244)
    #1 0x10347aeee in wrap_free (libclang_rt.asan_osx_dynamic.dylib+0x4aeee)
    #2 0x102e6a5ed in glxClientCallback glxext.c:301
    #3 0x102b672a3 in _CallCallbacks dixutils.c:737
    #4 0x102b2f0c6 in CallCallbacks callback.h:83
    #5 0x102b5c15a in NextAvailableClient dispatch.c:3562
    #6 0x102d7060c in AllocNewConnection connection.c:777
    #7 0x102d71355 in EstablishNewConnections connection.c:863
    #8 0x102b662f0 in ProcessWorkQueue dixutils.c:523
    #9 0x102d52a7f in WaitForSomething WaitFor.c:175
    #10 0x102b204f6 in Dispatch dispatch.c:411
    #11 0x102b61e01 in dix_main main.c:301
    #12 0x10254c42a in server_thread quartzStartup.c:66
    #13 0x7fffc5f16aaa in _pthread_body (libsystem_pthread.dylib+0x3aaa)
    #14 0x7fffc5f169f6 in _pthread_start (libsystem_pthread.dylib+0x39f6)
    #15 0x7fffc5f161fc in thread_start (libsystem_pthread.dylib+0x31fc)

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>


  Commit: 655f08446311d8eade3a391aff5467955797a8bd
      https://github.com/XQuartz/xorg-server/commit/655f08446311d8eade3a391aff5467955797a8bd
  Author: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
  Date:   2017-07-20 (Thu, 20 Jul 2017)

  Changed paths:
    M hw/xquartz/X11Application.m

  Log Message:
  -----------
  XQuartz: Hack around an issue that can occur on macOS due to background apps incorrectly stealing focus

Works around <rdar://problem/7150340>.

Tested-by: Martin Otte <martinjotte at gmail.com>
Tested-by: Tom Lane <tgl at sss.pgh.pa.us>
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>


Compare: https://github.com/XQuartz/xorg-server/compare/3e6b701d9062...655f08446311


More information about the Xquartz-changes mailing list