Hello community,
here is the log from the commit of package xorg-x11-server for openSUSE:Factory
checked in at 2020-04-04 12:17:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xorg-x11-server (Old)
and /work/SRC/openSUSE:Factory/.xorg-x11-server.new.3248 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xorg-x11-server"
Sat Apr 4 12:17:15 2020 rev:380 rq:789725 version:1.20.8+0
Changes:
--------
--- /work/SRC/openSUSE:Factory/xorg-x11-server/xorg-x11-server.changes
2020-02-29 21:23:37.106410103 +0100
+++
/work/SRC/openSUSE:Factory/.xorg-x11-server.new.3248/xorg-x11-server.changes
2020-04-04 12:17:24.923520355 +0200
@@ -1,0 +2,31 @@
+Mon Mar 30 11:17:21 UTC 2020 - Stefan Dirsch <[email protected]>
+
+- Update to version 1.20.8+0:
+ * Revert "dri2: Don't make reference to noClientException"
+ * dix: Check for NULL spriteInfo in GetPairedDevice
+ * os: Ignore dying client in ResetCurrentRequest
+ * modesetting: remove unnecessary error message, fix zaphod leases
+ * Fix building with `-fno-common`
+ * xwayland: clear pixmaps after creation in rootless mode
+ * glamor: Fix a compiler warning since the recent OOM fixes.
+ * Restrict 1x1 pixmap filling optimization to GXcopy
+ * Add xf86OSInputThreadInit to stub os-support as well
+ * Fix old-style definition warning for xf86OSInputThreadInit()
+ * xwayland/glamor-gbm: Handle DRM_FORMAT_MOD_INVALID gracefully
+ * configure: Define GLAMOR_HAS_EGL_QUERY_DRIVER when available
+ * modesetting: Disable atomic support by default
+ * modesetting: Explicitly #include "mi.h"
+ * xfree86/modes: Bail from xf86RotateRedisplay if pScreen->root is NULL
+ * xwayland: Split up xwl_screen_post_damage into two phases
+ * xwayland: Call glamor_block_handler from xwl_screen_post_damage
+ * xwayland: Add xwl_window_create_frame_callback helper
+ * xwayland: Use single frame callback for Present flips and normal updates
+ * xwayland: Use frame callbacks for Present vblank events
+ * xwayland: Delete all frame_callback_list nodes in xwl_unrealize_window
+ * glamor: Propagate FBO allocation failure for picture to texture upload
+ * glamor: Error out on out-of-memory when allocating PBO for FBO access
+ * glamor: Propagate glamor_prepare_access failures in copy helpers
+ * glamor: Fallback to system memory for RW PBO buffer allocation
+- supersedes u_fno-common.patch
+
+-------------------------------------------------------------------
Old:
----
u_fno-common.patch
xserver-1.20.7+0.tar.xz
New:
----
xserver-1.20.8+0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xorg-x11-server.spec ++++++
--- /var/tmp/diff_new_pack.g20DE2/_old 2020-04-04 12:17:28.991524022 +0200
+++ /var/tmp/diff_new_pack.g20DE2/_new 2020-04-04 12:17:28.995524025 +0200
@@ -42,7 +42,7 @@
%endif
Name: xorg-x11-server
-Version: 1.20.7+0
+Version: 1.20.8+0
Release: 0
URL: http://xorg.freedesktop.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -248,8 +248,6 @@
Patch1505: U_xwayland-Allow-passing-a-fd.patch
-Patch1600: u_fno-common.patch
-
%description
This package contains the X.Org Server.
@@ -397,7 +395,6 @@
%patch1502 -p1
%patch1503 -p1
%patch1505 -p1
-%patch1600 -p1
%build
%define _lto_cflags %{nil}
++++++ _service ++++++
--- /var/tmp/diff_new_pack.g20DE2/_old 2020-04-04 12:17:29.059524080 +0200
+++ /var/tmp/diff_new_pack.g20DE2/_new 2020-04-04 12:17:29.059524080 +0200
@@ -2,7 +2,7 @@
<service name="tar_scm" mode="disabled">
<param name="url">https://gitlab.freedesktop.org/xorg/xserver.git</param>
<param name="scm">git</param>
- <param name="revision">489f4191</param>
+ <param name="revision">f84ad082</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
<param name="versionrewrite-pattern">xorgserver(.*)</param>
<param name="changesgenerate">enable</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.g20DE2/_old 2020-04-04 12:17:29.083524101 +0200
+++ /var/tmp/diff_new_pack.g20DE2/_new 2020-04-04 12:17:29.083524101 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param
name="url">https://gitlab.freedesktop.org/xorg/xserver.git</param>
- <param
name="changesrevision">489f4191f3c881c6c8acce97ec612167a4ae0f33</param></service></servicedata>
\ No newline at end of file
+ <param
name="changesrevision">f84ad082557f9cde6b8faa373eca6a0a89ba7d56</param></service></servicedata>
++++++ xserver-1.20.7+0.tar.xz -> xserver-1.20.8+0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/configure.ac
new/xserver-1.20.8+0/configure.ac
--- old/xserver-1.20.7+0/configure.ac 2020-01-13 23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/configure.ac 2020-03-29 22:02:03.000000000 +0200
@@ -26,9 +26,9 @@
dnl Process this file with autoconf to create configure.
AC_PREREQ(2.60)
-AC_INIT([xorg-server], 1.20.7,
[https://gitlab.freedesktop.org/xorg/xserver/issues], xorg-server)
-RELEASE_DATE="2020-01-13"
-RELEASE_NAME="Stuffed French Toast"
+AC_INIT([xorg-server], 1.20.8,
[https://gitlab.freedesktop.org/xorg/xserver/issues], xorg-server)
+RELEASE_DATE="2020-03-29"
+RELEASE_NAME="Chicken Parmigiana"
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
@@ -2053,6 +2053,10 @@
[AC_DEFINE(GLAMOR_HAS_EGL_QUERY_DMABUF, 1, [Have
GLAMOR_HAS_EGL_QUERY_DMABUF])],
[])
+ PKG_CHECK_EXISTS(epoxy >= 1.5.4,
+ [AC_DEFINE(GLAMOR_HAS_EGL_QUERY_DRIVER, 1, [Have
GLAMOR_HAS_EGL_QUERY_DRIVER])],
+ [])
+
PKG_CHECK_MODULES(GBM, "$LIBGBM", [GBM=yes], [GBM=no])
if test "x$GBM" = xyes; then
AC_DEFINE(GLAMOR_HAS_GBM, 1,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/dix/devices.c
new/xserver-1.20.8+0/dix/devices.c
--- old/xserver-1.20.7+0/dix/devices.c 2020-01-13 23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/dix/devices.c 2020-03-29 22:02:03.000000000 +0200
@@ -2656,7 +2656,7 @@
if (!IsMaster(dev) && !IsFloating(dev))
dev = GetMaster(dev, MASTER_ATTACHED);
- return dev->spriteInfo->paired;
+ return dev->spriteInfo? dev->spriteInfo->paired: NULL;
}
/**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/exa/exa_accel.c
new/xserver-1.20.8+0/exa/exa_accel.c
--- old/xserver-1.20.7+0/exa/exa_accel.c 2020-01-13 23:50:00.000000000
+0100
+++ new/xserver-1.20.8+0/exa/exa_accel.c 2020-03-29 22:02:03.000000000
+0200
@@ -1037,7 +1037,7 @@
if (pExaPixmap->pDamage &&
pExaPixmap->sys_ptr && pDrawable->type == DRAWABLE_PIXMAP &&
pDrawable->width == 1 && pDrawable->height == 1 &&
- pDrawable->bitsPerPixel != 24) {
+ pDrawable->bitsPerPixel != 24 && alu == GXcopy) {
RegionPtr pending_damage =
DamagePendingRegion(pExaPixmap->pDamage);
switch (pDrawable->bitsPerPixel) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/glamor/glamor.c
new/xserver-1.20.8+0/glamor/glamor.c
--- old/xserver-1.20.7+0/glamor/glamor.c 2020-01-13 23:50:00.000000000
+0100
+++ new/xserver-1.20.8+0/glamor/glamor.c 2020-03-29 22:02:03.000000000
+0200
@@ -128,6 +128,21 @@
glamor_pixmap_attach_fbo(pixmap, fbo);
}
+_X_EXPORT void
+glamor_clear_pixmap(PixmapPtr pixmap)
+{
+ ScreenPtr screen = pixmap->drawable.pScreen;
+ glamor_screen_private *glamor_priv;
+ glamor_pixmap_private *pixmap_priv;
+
+ glamor_priv = glamor_get_screen_private(screen);
+ pixmap_priv = glamor_get_pixmap_private(pixmap);
+
+ assert(pixmap_priv->fbo != NULL);
+
+ glamor_pixmap_clear_fbo(glamor_priv, pixmap_priv->fbo);
+}
+
uint32_t
glamor_get_pixmap_texture(PixmapPtr pixmap)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/glamor/glamor.h
new/xserver-1.20.8+0/glamor/glamor.h
--- old/xserver-1.20.7+0/glamor/glamor.h 2020-01-13 23:50:00.000000000
+0100
+++ new/xserver-1.20.8+0/glamor/glamor.h 2020-03-29 22:02:03.000000000
+0200
@@ -115,6 +115,9 @@
extern _X_EXPORT void glamor_set_pixmap_type(PixmapPtr pixmap,
glamor_pixmap_type_t type);
+
+extern _X_EXPORT void glamor_clear_pixmap(PixmapPtr pixmap);
+
extern _X_EXPORT void glamor_block_handler(ScreenPtr screen);
extern _X_EXPORT PixmapPtr glamor_create_pixmap(ScreenPtr screen, int w, int h,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/glamor/glamor_copy.c
new/xserver-1.20.8+0/glamor/glamor_copy.c
--- old/xserver-1.20.7+0/glamor/glamor_copy.c 2020-01-13 23:50:00.000000000
+0100
+++ new/xserver-1.20.8+0/glamor/glamor_copy.c 2020-03-29 22:02:03.000000000
+0200
@@ -221,7 +221,9 @@
goto bail;
glamor_make_current(glamor_priv);
- glamor_prepare_access(src, GLAMOR_ACCESS_RO);
+
+ if (!glamor_prepare_access(src, GLAMOR_ACCESS_RO))
+ goto bail;
glamor_get_drawable_deltas(dst, dst_pixmap, &dst_xoff, &dst_yoff);
@@ -309,7 +311,9 @@
goto bail;
glamor_make_current(glamor_priv);
- glamor_prepare_access(dst, GLAMOR_ACCESS_RW);
+
+ if (!glamor_prepare_access(dst, GLAMOR_ACCESS_RW))
+ goto bail;
glamor_get_drawable_deltas(src, src_pixmap, &src_xoff, &src_yoff);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/glamor/glamor_fbo.c
new/xserver-1.20.8+0/glamor/glamor_fbo.c
--- old/xserver-1.20.7+0/glamor/glamor_fbo.c 2020-01-13 23:50:00.000000000
+0100
+++ new/xserver-1.20.8+0/glamor/glamor_fbo.c 2020-03-29 22:02:03.000000000
+0200
@@ -239,6 +239,18 @@
return NULL;
}
+void
+glamor_pixmap_clear_fbo(glamor_screen_private *glamor_priv, glamor_pixmap_fbo
*fbo)
+{
+ glamor_make_current(glamor_priv);
+
+ assert(fbo->fb != 0 && fbo->tex != 0);
+
+ glamor_set_destination_pixmap_fbo(glamor_priv, fbo, 0, 0, fbo->width,
fbo->height);
+ glClearColor(0.0, 0.0, 0.0, 0.0);
+ glClear(GL_COLOR_BUFFER_BIT);
+}
+
glamor_pixmap_fbo *
glamor_pixmap_detach_fbo(glamor_pixmap_private *pixmap_priv)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/glamor/glamor_picture.c
new/xserver-1.20.8+0/glamor/glamor_picture.c
--- old/xserver-1.20.7+0/glamor/glamor_picture.c 2020-01-13
23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/glamor/glamor_picture.c 2020-03-29
22:02:03.000000000 +0200
@@ -340,8 +340,10 @@
else
iformat = format;
- if (!glamor_pixmap_ensure_fbo(pixmap, iformat, GLAMOR_CREATE_FBO_NO_FBO))
+ if (!glamor_pixmap_ensure_fbo(pixmap, iformat, GLAMOR_CREATE_FBO_NO_FBO)) {
+ ret = FALSE;
goto fail;
+ }
glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/glamor/glamor_prepare.c
new/xserver-1.20.8+0/glamor/glamor_prepare.c
--- old/xserver-1.20.7+0/glamor/glamor_prepare.c 2020-01-13
23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/glamor/glamor_prepare.c 2020-03-29
22:02:03.000000000 +0200
@@ -88,11 +88,29 @@
gl_usage = GL_STREAM_READ;
+ glamor_priv->suppress_gl_out_of_memory_logging = true;
+
glBindBuffer(GL_PIXEL_PACK_BUFFER, priv->pbo);
glBufferData(GL_PIXEL_PACK_BUFFER,
pixmap->devKind * pixmap->drawable.height, NULL,
gl_usage);
- } else {
+
+ glamor_priv->suppress_gl_out_of_memory_logging = false;
+
+ if (glGetError() == GL_OUT_OF_MEMORY) {
+ if (!glamor_priv->logged_any_pbo_allocation_failure) {
+ LogMessageVerb(X_WARNING, 0, "glamor: Failed to allocate
%d "
+ "bytes PBO due to GL_OUT_OF_MEMORY.\n",
+ pixmap->devKind * pixmap->drawable.height);
+ glamor_priv->logged_any_pbo_allocation_failure = true;
+ }
+ glBindBuffer(GL_PIXEL_PACK_BUFFER, 0);
+ glDeleteBuffers(1, &priv->pbo);
+ priv->pbo = 0;
+ }
+ }
+
+ if (!priv->pbo) {
pixmap->devPrivate.ptr = xallocarray(pixmap->devKind,
pixmap->drawable.height);
if (!pixmap->devPrivate.ptr)
@@ -106,7 +124,7 @@
RegionUninit(®ion);
- if (glamor_priv->has_rw_pbo) {
+ if (priv->pbo) {
if (priv->map_access == GLAMOR_ACCESS_RW)
gl_access = GL_READ_WRITE;
else
@@ -128,8 +146,6 @@
static void
glamor_fini_pixmap(PixmapPtr pixmap)
{
- ScreenPtr screen = pixmap->drawable.pScreen;
- glamor_screen_private *glamor_priv =
glamor_get_screen_private(screen);
glamor_pixmap_private *priv = glamor_get_pixmap_private(pixmap);
if (!GLAMOR_PIXMAP_PRIV_HAS_FBO(priv))
@@ -138,7 +154,7 @@
if (!priv->prepared)
return;
- if (glamor_priv->has_rw_pbo) {
+ if (priv->pbo) {
glBindBuffer(GL_PIXEL_UNPACK_BUFFER, priv->pbo);
glUnmapBuffer(GL_PIXEL_UNPACK_BUFFER);
pixmap->devPrivate.ptr = NULL;
@@ -153,7 +169,7 @@
RegionUninit(&priv->prepare_region);
- if (glamor_priv->has_rw_pbo) {
+ if (priv->pbo) {
glBindBuffer(GL_PIXEL_UNPACK_BUFFER, 0);
glDeleteBuffers(1, &priv->pbo);
priv->pbo = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/glamor/glamor_priv.h
new/xserver-1.20.8+0/glamor/glamor_priv.h
--- old/xserver-1.20.7+0/glamor/glamor_priv.h 2020-01-13 23:50:00.000000000
+0100
+++ new/xserver-1.20.8+0/glamor/glamor_priv.h 2020-03-29 22:02:03.000000000
+0200
@@ -289,6 +289,7 @@
Bool suppress_gl_out_of_memory_logging;
Bool logged_any_fbo_allocation_failure;
+ Bool logged_any_pbo_allocation_failure;
/* xv */
glamor_program xv_prog;
@@ -538,6 +539,7 @@
glamor_pixmap_fbo *fbo);
void glamor_pixmap_destroy_fbo(PixmapPtr pixmap);
Bool glamor_pixmap_fbo_fixup(ScreenPtr screen, PixmapPtr pixmap);
+void glamor_pixmap_clear_fbo(glamor_screen_private *glamor_priv,
glamor_pixmap_fbo *fbo);
/* Return whether 'picture' is alpha-only */
static inline Bool glamor_picture_is_alpha(PicturePtr picture)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/glx/glxdri2.c
new/xserver-1.20.8+0/glx/glxdri2.c
--- old/xserver-1.20.7+0/glx/glxdri2.c 2020-01-13 23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/glx/glxdri2.c 2020-03-29 22:02:03.000000000 +0200
@@ -295,7 +295,7 @@
}
if (ret) {
- *error = -1;
+ *error = cl->client->noClientException;
return TRUE;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/hw/dmx/config/dmxconfig.c
new/xserver-1.20.8+0/hw/dmx/config/dmxconfig.c
--- old/xserver-1.20.7+0/hw/dmx/config/dmxconfig.c 2020-01-13
23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/hw/dmx/config/dmxconfig.c 2020-03-29
22:02:03.000000000 +0200
@@ -72,7 +72,7 @@
DMXConfigList *xinputs;
} DMXConfigCmd, *DMXConfigCmdPtr;
-DMXConfigEntryPtr dmxConfigEntry;
+extern DMXConfigEntryPtr dmxConfigEntry;
static DMXConfigCmd dmxConfigCmd;
static int dmxDisplaysFromCommandLine;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/hw/dmx/config/xdmxconfig.c
new/xserver-1.20.8+0/hw/dmx/config/xdmxconfig.c
--- old/xserver-1.20.7+0/hw/dmx/config/xdmxconfig.c 2020-01-13
23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/hw/dmx/config/xdmxconfig.c 2020-03-29
22:02:03.000000000 +0200
@@ -65,7 +65,7 @@
#define DMX_CANVAS_WIDTH 400
#define DMX_CANVAS_HEIGHT 500
-DMXConfigEntryPtr dmxConfigEntry;
+extern DMXConfigEntryPtr dmxConfigEntry;
static DMXConfigVirtualPtr dmxConfigCurrent, dmxConfigNewVirtual;
static DMXConfigDisplayPtr dmxConfigCurrentDisplay, dmxConfigNewDisplay;
static int dmxConfigGrabbed, dmxConfigGrabbedFine;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/hw/dmx/glxProxy/glxext.c
new/xserver-1.20.8+0/hw/dmx/glxProxy/glxext.c
--- old/xserver-1.20.7+0/hw/dmx/glxProxy/glxext.c 2020-01-13
23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/hw/dmx/glxProxy/glxext.c 2020-03-29
22:02:03.000000000 +0200
@@ -47,8 +47,6 @@
#include "extinit.h"
#include "glx_extinit.h"
-int noGlxExtension;
-
/*
** Forward declarations.
*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xserver-1.20.7+0/hw/xfree86/drivers/modesetting/driver.c
new/xserver-1.20.8+0/hw/xfree86/drivers/modesetting/driver.c
--- old/xserver-1.20.7+0/hw/xfree86/drivers/modesetting/driver.c
2020-01-13 23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/hw/xfree86/drivers/modesetting/driver.c
2020-03-29 22:02:03.000000000 +0200
@@ -131,6 +131,7 @@
{OPTION_PAGEFLIP, "PageFlip", OPTV_BOOLEAN, {0}, FALSE},
{OPTION_ZAPHOD_HEADS, "ZaphodHeads", OPTV_STRING, {0}, FALSE},
{OPTION_DOUBLE_SHADOW, "DoubleShadow", OPTV_BOOLEAN, {0}, FALSE},
+ {OPTION_ATOMIC, "Atomic", OPTV_BOOLEAN, {0}, FALSE},
{-1, NULL, OPTV_NONE, {0}, FALSE}
};
@@ -1038,8 +1039,12 @@
#endif
}
- ret = drmSetClientCap(ms->fd, DRM_CLIENT_CAP_ATOMIC, 1);
- ms->atomic_modeset = (ret == 0);
+ if (xf86ReturnOptValBool(ms->drmmode.Options, OPTION_ATOMIC, FALSE)) {
+ ret = drmSetClientCap(ms->fd, DRM_CLIENT_CAP_ATOMIC, 1);
+ ms->atomic_modeset = (ret == 0);
+ } else {
+ ms->atomic_modeset = FALSE;
+ }
ms->kms_has_modifiers = FALSE;
ret = drmGetCap(ms->fd, DRM_CAP_ADDFB2_MODIFIERS, &value);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xserver-1.20.7+0/hw/xfree86/drivers/modesetting/driver.h
new/xserver-1.20.8+0/hw/xfree86/drivers/modesetting/driver.h
--- old/xserver-1.20.7+0/hw/xfree86/drivers/modesetting/driver.h
2020-01-13 23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/hw/xfree86/drivers/modesetting/driver.h
2020-03-29 22:02:03.000000000 +0200
@@ -51,6 +51,7 @@
OPTION_PAGEFLIP,
OPTION_ZAPHOD_HEADS,
OPTION_DOUBLE_SHADOW,
+ OPTION_ATOMIC,
} modesettingOpts;
typedef struct
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xserver-1.20.7+0/hw/xfree86/drivers/modesetting/drmmode_display.c
new/xserver-1.20.8+0/hw/xfree86/drivers/modesetting/drmmode_display.c
--- old/xserver-1.20.7+0/hw/xfree86/drivers/modesetting/drmmode_display.c
2020-01-13 23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/hw/xfree86/drivers/modesetting/drmmode_display.c
2020-03-29 22:02:03.000000000 +0200
@@ -36,6 +36,7 @@
#include "dumb_bo.h"
#include "xf86str.h"
#include "X11/Xatom.h"
+#include "mi.h"
#include "micmap.h"
#include "xf86cmap.h"
#include "xf86DDC.h"
@@ -3676,7 +3677,7 @@
goto out;
if (mode_res->count_crtcs != config->num_crtc) {
- ErrorF("number of CRTCs changed - failed to handle, %d vs %d\n",
mode_res->count_crtcs, config->num_crtc);
+ /* this triggers with Zaphod mode where we don't currently support
connector hotplug or MST. */
goto out_free_res;
}
@@ -3725,15 +3726,16 @@
drmmode_output_init(scrn, drmmode, mode_res, i, TRUE, 0);
}
- /* Check to see if a lessee has disappeared */
- drmmode_validate_leases(scrn);
-
if (changed) {
RRSetChanged(xf86ScrnToScreen(scrn));
RRTellChanged(xf86ScrnToScreen(scrn));
}
out_free_res:
+
+ /* Check to see if a lessee has disappeared */
+ drmmode_validate_leases(scrn);
+
drmModeFreeResources(mode_res);
out:
RRGetInfo(xf86ScrnToScreen(scrn), TRUE);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/hw/xfree86/modes/xf86Rotate.c
new/xserver-1.20.8+0/hw/xfree86/modes/xf86Rotate.c
--- old/xserver-1.20.7+0/hw/xfree86/modes/xf86Rotate.c 2020-01-13
23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/hw/xfree86/modes/xf86Rotate.c 2020-03-29
22:02:03.000000000 +0200
@@ -176,7 +176,7 @@
DamagePtr damage = xf86_config->rotation_damage;
RegionPtr region;
- if (!damage)
+ if (!damage || !pScreen->root)
return FALSE;
xf86RotatePrepare(pScreen);
region = DamageRegion(damage);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xserver-1.20.7+0/hw/xfree86/os-support/bsd/bsd_init.c
new/xserver-1.20.8+0/hw/xfree86/os-support/bsd/bsd_init.c
--- old/xserver-1.20.7+0/hw/xfree86/os-support/bsd/bsd_init.c 2020-01-13
23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/hw/xfree86/os-support/bsd/bsd_init.c 2020-03-29
22:02:03.000000000 +0200
@@ -663,7 +663,7 @@
}
void
-xf86OSInputThreadInit()
+xf86OSInputThreadInit(void)
{
return;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xserver-1.20.7+0/hw/xfree86/os-support/hurd/hurd_init.c
new/xserver-1.20.8+0/hw/xfree86/os-support/hurd/hurd_init.c
--- old/xserver-1.20.7+0/hw/xfree86/os-support/hurd/hurd_init.c 2020-01-13
23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/hw/xfree86/os-support/hurd/hurd_init.c 2020-03-29
22:02:03.000000000 +0200
@@ -89,7 +89,7 @@
}
void
-xf86OSInputThreadInit()
+xf86OSInputThreadInit(void)
{
return;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xserver-1.20.7+0/hw/xfree86/os-support/linux/lnx_init.c
new/xserver-1.20.8+0/hw/xfree86/os-support/linux/lnx_init.c
--- old/xserver-1.20.7+0/hw/xfree86/os-support/linux/lnx_init.c 2020-01-13
23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/hw/xfree86/os-support/linux/lnx_init.c 2020-03-29
22:02:03.000000000 +0200
@@ -399,7 +399,7 @@
}
void
-xf86OSInputThreadInit()
+xf86OSInputThreadInit(void)
{
return;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xserver-1.20.7+0/hw/xfree86/os-support/solaris/sun_vid.c
new/xserver-1.20.8+0/hw/xfree86/os-support/solaris/sun_vid.c
--- old/xserver-1.20.7+0/hw/xfree86/os-support/solaris/sun_vid.c
2020-01-13 23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/hw/xfree86/os-support/solaris/sun_vid.c
2020-03-29 22:02:03.000000000 +0200
@@ -74,7 +74,7 @@
/***************************************************************************/
void
-xf86OSInputThreadInit()
+xf86OSInputThreadInit(void)
{
/*
* Need to enable in input thread as well, as Solaris kernel tracks
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xserver-1.20.7+0/hw/xfree86/os-support/stub/stub_init.c
new/xserver-1.20.8+0/hw/xfree86/os-support/stub/stub_init.c
--- old/xserver-1.20.7+0/hw/xfree86/os-support/stub/stub_init.c 2020-01-13
23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/hw/xfree86/os-support/stub/stub_init.c 2020-03-29
22:02:03.000000000 +0200
@@ -24,3 +24,9 @@
xf86UseMsg(void)
{
}
+
+void
+xf86OSInputThreadInit(void)
+{
+ return;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/hw/xwayland/xwayland-glamor-gbm.c
new/xserver-1.20.8+0/hw/xwayland/xwayland-glamor-gbm.c
--- old/xserver-1.20.7+0/hw/xwayland/xwayland-glamor-gbm.c 2020-01-13
23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/hw/xwayland/xwayland-glamor-gbm.c 2020-03-29
22:02:03.000000000 +0200
@@ -242,8 +242,12 @@
if (bo) {
pixmap = xwl_glamor_gbm_create_pixmap_for_bo(screen, bo, depth);
- if (!pixmap)
+ if (!pixmap) {
gbm_bo_destroy(bo);
+ }
+ else if (xwl_screen->rootless && hint ==
CREATE_PIXMAP_USAGE_BACKING_PIXMAP) {
+ glamor_clear_pixmap(pixmap);
+ }
}
}
@@ -794,6 +798,10 @@
struct xwl_format *xwl_format = NULL;
int i;
+ if (modifier_hi == (DRM_FORMAT_MOD_INVALID >> 32) &&
+ modifier_lo == (DRM_FORMAT_MOD_INVALID & 0xffffffff))
+ return;
+
for (i = 0; i < xwl_screen->num_formats; i++) {
if (xwl_screen->formats[i].format == format) {
xwl_format = &xwl_screen->formats[i];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/hw/xwayland/xwayland-present.c
new/xserver-1.20.8+0/hw/xwayland/xwayland-present.c
--- old/xserver-1.20.7+0/hw/xwayland/xwayland-present.c 2020-01-13
23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/hw/xwayland/xwayland-present.c 2020-03-29
22:02:03.000000000 +0200
@@ -60,6 +60,7 @@
xwl_present_window->msc = 1;
xwl_present_window->ust = GetTimeInMicros();
+ xorg_list_init(&xwl_present_window->frame_callback_list);
xorg_list_init(&xwl_present_window->event_list);
xorg_list_init(&xwl_present_window->release_queue);
@@ -96,7 +97,7 @@
if (xwl_present_has_events(xwl_present_window)) {
CARD32 timeout;
- if (xwl_present_window->frame_callback)
+ if (!xorg_list_is_empty(&xwl_present_window->frame_callback_list))
timeout = TIMER_LEN_FLIP;
else
timeout = TIMER_LEN_COPY;
@@ -119,10 +120,7 @@
if (!xwl_present_window)
return;
- if (xwl_present_window->frame_callback) {
- wl_callback_destroy(xwl_present_window->frame_callback);
- xwl_present_window->frame_callback = NULL;
- }
+ xorg_list_del(&xwl_present_window->frame_callback_list);
if (xwl_present_window->sync_callback) {
wl_callback_destroy(xwl_present_window->sync_callback);
@@ -244,7 +242,10 @@
{
struct xwl_present_window *xwl_present_window = arg;
- xwl_present_window->frame_timer_firing = TRUE;
+ /* If we were expecting a frame callback for this window, it didn't arrive
+ * in a second. Stop listening to it to avoid double-bumping the MSC
+ */
+ xorg_list_del(&xwl_present_window->frame_callback_list);
xwl_present_msc_bump(xwl_present_window);
xwl_present_reset_timer(xwl_present_window);
@@ -252,20 +253,10 @@
return 0;
}
-static void
-xwl_present_frame_callback(void *data,
- struct wl_callback *callback,
- uint32_t time)
+void
+xwl_present_frame_callback(struct xwl_present_window *xwl_present_window)
{
- struct xwl_present_window *xwl_present_window = data;
-
- wl_callback_destroy(xwl_present_window->frame_callback);
- xwl_present_window->frame_callback = NULL;
-
- if (xwl_present_window->frame_timer_firing) {
- /* If the timer is firing, this frame callback is too late */
- return;
- }
+ xorg_list_del(&xwl_present_window->frame_callback_list);
xwl_present_msc_bump(xwl_present_window);
@@ -275,10 +266,6 @@
xwl_present_reset_timer(xwl_present_window);
}
-static const struct wl_callback_listener xwl_present_frame_listener = {
- xwl_present_frame_callback
-};
-
static void
xwl_present_sync_callback(void *data,
struct wl_callback *callback,
@@ -360,6 +347,7 @@
uint64_t msc)
{
struct xwl_present_window *xwl_present_window =
xwl_present_window_get_priv(present_window);
+ struct xwl_window *xwl_window = xwl_window_from_window(present_window);
struct xwl_present_event *event;
event = malloc(sizeof *event);
@@ -372,7 +360,15 @@
xorg_list_append(&event->list, &xwl_present_window->event_list);
- if (!xwl_present_window->frame_timer)
+ /* If there's a pending frame callback, use that */
+ if (xwl_window && xwl_window->frame_callback &&
+ xorg_list_is_empty(&xwl_present_window->frame_callback_list)) {
+ xorg_list_add(&xwl_present_window->frame_callback_list,
+ &xwl_window->frame_callback_list);
+ }
+
+ if ((xwl_window && xwl_window->frame_callback) ||
+ !xwl_present_window->frame_timer)
xwl_present_reset_timer(xwl_present_window);
return Success;
@@ -488,15 +484,15 @@
/* We can flip directly to the main surface (full screen window without
clips) */
wl_surface_attach(xwl_window->surface, buffer, 0, 0);
- if (!xwl_present_window->frame_callback) {
- xwl_present_window->frame_callback =
wl_surface_frame(xwl_window->surface);
- wl_callback_add_listener(xwl_present_window->frame_callback,
- &xwl_present_frame_listener,
- xwl_present_window);
+ if (!xwl_window->frame_callback)
+ xwl_window_create_frame_callback(xwl_window);
+
+ if (xorg_list_is_empty(&xwl_present_window->frame_callback_list)) {
+ xorg_list_add(&xwl_present_window->frame_callback_list,
+ &xwl_window->frame_callback_list);
}
/* Realign timer */
- xwl_present_window->frame_timer_firing = FALSE;
xwl_present_reset_timer(xwl_present_window);
wl_surface_damage(xwl_window->surface, 0, 0,
@@ -528,18 +524,12 @@
}
void
-xwl_present_unrealize_window(WindowPtr window)
+xwl_present_unrealize_window(struct xwl_present_window *xwl_present_window)
{
- struct xwl_present_window *xwl_present_window =
xwl_present_window_priv(window);
-
- if (!xwl_present_window || !xwl_present_window->frame_callback)
- return;
-
/* The pending frame callback may never be called, so drop it and shorten
* the frame timer interval.
*/
- wl_callback_destroy(xwl_present_window->frame_callback);
- xwl_present_window->frame_callback = NULL;
+ xorg_list_del(&xwl_present_window->frame_callback_list);
xwl_present_reset_timer(xwl_present_window);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/hw/xwayland/xwayland.c
new/xserver-1.20.8+0/hw/xwayland/xwayland.c
--- old/xserver-1.20.7+0/hw/xwayland/xwayland.c 2020-01-13 23:50:00.000000000
+0100
+++ new/xserver-1.20.8+0/hw/xwayland/xwayland.c 2020-03-29 22:02:03.000000000
+0200
@@ -40,7 +40,11 @@
#ifdef XF86VIDMODE
#include <X11/extensions/xf86vmproto.h>
-_X_EXPORT Bool noXFree86VidModeExtension;
+extern _X_EXPORT Bool noXFree86VidModeExtension;
+#endif
+
+#ifdef XWL_HAS_GLAMOR
+#include <glamor.h>
#endif
void
@@ -596,6 +600,10 @@
dixSetPrivate(&window->devPrivates, &xwl_window_private_key, xwl_window);
xorg_list_init(&xwl_window->link_damage);
+#ifdef GLAMOR_HAS_GBM
+ xorg_list_init(&xwl_window->frame_callback_list);
+#endif
+
xwl_window_init_allow_commits(xwl_window);
return TRUE;
@@ -680,11 +688,6 @@
xwl_screen->UnrealizeWindow = screen->UnrealizeWindow;
screen->UnrealizeWindow = xwl_unrealize_window;
-#ifdef GLAMOR_HAS_GBM
- if (xwl_screen->present)
- xwl_present_unrealize_window(window);
-#endif
-
xwl_window = xwl_window_get(window);
if (!xwl_window)
return ret;
@@ -696,6 +699,18 @@
if (xwl_window->frame_callback)
wl_callback_destroy(xwl_window->frame_callback);
+#ifdef GLAMOR_HAS_GBM
+ if (xwl_screen->present) {
+ struct xwl_present_window *xwl_present_window, *tmp;
+
+ xorg_list_for_each_entry_safe(xwl_present_window, tmp,
+ &xwl_window->frame_callback_list,
+ frame_callback_list) {
+ xwl_present_unrealize_window(xwl_present_window);
+ }
+ }
+#endif
+
free(xwl_window);
dixSetPrivate(&window->devPrivates, &xwl_window_private_key, NULL);
@@ -737,12 +752,32 @@
wl_callback_destroy (xwl_window->frame_callback);
xwl_window->frame_callback = NULL;
+
+#ifdef GLAMOR_HAS_GBM
+ if (xwl_window->xwl_screen->present) {
+ struct xwl_present_window *xwl_present_window, *tmp;
+
+ xorg_list_for_each_entry_safe(xwl_present_window, tmp,
+ &xwl_window->frame_callback_list,
+ frame_callback_list) {
+ xwl_present_frame_callback(xwl_present_window);
+ }
+ }
+#endif
}
static const struct wl_callback_listener frame_listener = {
frame_callback
};
+void
+xwl_window_create_frame_callback(struct xwl_window *xwl_window)
+{
+ xwl_window->frame_callback = wl_surface_frame(xwl_window->surface);
+ wl_callback_add_listener(xwl_window->frame_callback, &frame_listener,
+ xwl_window);
+}
+
static Bool
xwl_destroy_window(WindowPtr window)
{
@@ -813,19 +848,17 @@
box->x2 - box->x1, box->y2 - box->y1);
}
- xwl_window->frame_callback = wl_surface_frame(xwl_window->surface);
- wl_callback_add_listener(xwl_window->frame_callback, &frame_listener,
xwl_window);
-
- wl_surface_commit(xwl_window->surface);
+ xwl_window_create_frame_callback(xwl_window);
DamageEmpty(window_get_damage(xwl_window->window));
-
- xorg_list_del(&xwl_window->link_damage);
}
static void
xwl_screen_post_damage(struct xwl_screen *xwl_screen)
{
struct xwl_window *xwl_window, *next_xwl_window;
+ struct xorg_list commit_window_list;
+
+ xorg_list_init(&commit_window_list);
xorg_list_for_each_entry_safe(xwl_window, next_xwl_window,
&xwl_screen->damage_window_list,
link_damage) {
@@ -843,6 +876,24 @@
#endif
xwl_window_post_damage(xwl_window);
+ xorg_list_del(&xwl_window->link_damage);
+ xorg_list_append(&xwl_window->link_damage, &commit_window_list);
+ }
+
+ if (xorg_list_is_empty(&commit_window_list))
+ return;
+
+#ifdef XWL_HAS_GLAMOR
+ if (xwl_screen->glamor &&
+ xwl_screen->egl_backend == &xwl_screen->gbm_backend) {
+ glamor_block_handler(xwl_screen->screen);
+ }
+#endif
+
+ xorg_list_for_each_entry_safe(xwl_window, next_xwl_window,
+ &commit_window_list, link_damage) {
+ wl_surface_commit(xwl_window->surface);
+ xorg_list_del(&xwl_window->link_damage);
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/hw/xwayland/xwayland.h
new/xserver-1.20.8+0/hw/xwayland/xwayland.h
--- old/xserver-1.20.7+0/hw/xwayland/xwayland.h 2020-01-13 23:50:00.000000000
+0100
+++ new/xserver-1.20.8+0/hw/xwayland/xwayland.h 2020-03-29 22:02:03.000000000
+0200
@@ -183,6 +183,7 @@
struct wl_callback *frame_callback;
Bool allow_commits;
#ifdef GLAMOR_HAS_GBM
+ struct xorg_list frame_callback_list;
Bool present_flipped;
#endif
};
@@ -192,15 +193,13 @@
struct xwl_screen *xwl_screen;
struct xwl_present_event *sync_flip;
WindowPtr window;
- struct xorg_list link;
+ struct xorg_list frame_callback_list;
uint64_t msc;
uint64_t ust;
OsTimerPtr frame_timer;
- Bool frame_timer_firing;
- struct wl_callback *frame_callback;
struct wl_callback *sync_callback;
struct xorg_list event_list;
@@ -378,6 +377,8 @@
Bool xdg_output_done;
};
+void xwl_window_create_frame_callback(struct xwl_window *xwl_window);
+
void xwl_sync_events (struct xwl_screen *xwl_screen);
Bool xwl_screen_init_cursor(struct xwl_screen *xwl_screen);
@@ -452,9 +453,10 @@
void xwl_glamor_egl_make_current(struct xwl_screen *xwl_screen);
#ifdef GLAMOR_HAS_GBM
+void xwl_present_frame_callback(struct xwl_present_window *xwl_present_window);
Bool xwl_present_init(ScreenPtr screen);
void xwl_present_cleanup(WindowPtr window);
-void xwl_present_unrealize_window(WindowPtr window);
+void xwl_present_unrealize_window(struct xwl_present_window
*xwl_present_window);
#endif /* GLAMOR_HAS_GBM */
#ifdef XV
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/include/dix-config.h.in
new/xserver-1.20.8+0/include/dix-config.h.in
--- old/xserver-1.20.7+0/include/dix-config.h.in 2020-01-13
23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/include/dix-config.h.in 2020-03-29
22:02:03.000000000 +0200
@@ -485,6 +485,9 @@
/* Glamor can use eglQueryDmaBuf* functions */
#undef GLAMOR_HAS_EGL_QUERY_DMABUF
+/* Glamor can use EGL_MESA_query_driver functions */
+#undef GLAMOR_HAS_EGL_QUERY_DRIVER
+
/* byte order */
#undef X_BYTE_ORDER
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/meson.build
new/xserver-1.20.8+0/meson.build
--- old/xserver-1.20.7+0/meson.build 2020-01-13 23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/meson.build 2020-03-29 22:02:03.000000000 +0200
@@ -3,7 +3,7 @@
'buildtype=debugoptimized',
'c_std=gnu99',
],
- version: '1.20.7',
+ version: '1.20.8',
meson_version: '>= 0.42.0',
)
add_project_arguments('-DHAVE_DIX_CONFIG_H', language: 'c')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/os/io.c new/xserver-1.20.8+0/os/io.c
--- old/xserver-1.20.7+0/os/io.c 2020-01-13 23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/os/io.c 2020-03-29 22:02:03.000000000 +0200
@@ -557,6 +557,11 @@
ResetCurrentRequest(ClientPtr client)
{
OsCommPtr oc = (OsCommPtr) client->osPrivate;
+
+ /* ignore dying clients */
+ if (!oc)
+ return;
+
register ConnectionInputPtr oci = oc->input;
register xReq *request;
int gotnow, needed;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/test/misc.c
new/xserver-1.20.8+0/test/misc.c
--- old/xserver-1.20.7+0/test/misc.c 2020-01-13 23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/test/misc.c 2020-03-29 22:02:03.000000000 +0200
@@ -33,7 +33,7 @@
#include "tests-common.h"
-ScreenInfo screenInfo;
+extern ScreenInfo screenInfo;
static void
dix_version_compare(void)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xserver-1.20.7+0/test/xi1/protocol-xchangedevicecontrol.c
new/xserver-1.20.8+0/test/xi1/protocol-xchangedevicecontrol.c
--- old/xserver-1.20.7+0/test/xi1/protocol-xchangedevicecontrol.c
2020-01-13 23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/test/xi1/protocol-xchangedevicecontrol.c
2020-03-29 22:02:03.000000000 +0200
@@ -37,7 +37,7 @@
#include "protocol-common.h"
-ClientRec client_window;
+extern ClientRec client_window;
static ClientRec client_request;
static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/test/xi2/protocol-common.c
new/xserver-1.20.8+0/test/xi2/protocol-common.c
--- old/xserver-1.20.7+0/test/xi2/protocol-common.c 2020-01-13
23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/test/xi2/protocol-common.c 2020-03-29
22:02:03.000000000 +0200
@@ -45,6 +45,8 @@
void *global_userdata;
+void (*reply_handler) (ClientPtr client, int len, char *data, void *userdata);
+
int enable_GrabButton_wrap = 1;
int enable_XISetEventMask_wrap = 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/test/xi2/protocol-common.h
new/xserver-1.20.8+0/test/xi2/protocol-common.h
--- old/xserver-1.20.7+0/test/xi2/protocol-common.h 2020-01-13
23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/test/xi2/protocol-common.h 2020-03-29
22:02:03.000000000 +0200
@@ -99,7 +99,7 @@
* The reply handler called from WriteToClient. Set this handler if you need
* to check the reply values.
*/
-void (*reply_handler) (ClientPtr client, int len, char *data, void *userdata);
+extern void (*reply_handler) (ClientPtr client, int len, char *data, void
*userdata);
/**
* The default screen used for the windows. Initialized by init_simple().
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xserver-1.20.7+0/test/xi2/protocol-xigetclientpointer.c
new/xserver-1.20.8+0/test/xi2/protocol-xigetclientpointer.c
--- old/xserver-1.20.7+0/test/xi2/protocol-xigetclientpointer.c 2020-01-13
23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/test/xi2/protocol-xigetclientpointer.c 2020-03-29
22:02:03.000000000 +0200
@@ -46,7 +46,7 @@
int win;
} test_data;
-ClientRec client_window;
+extern ClientRec client_window;
static ClientRec client_request;
static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xserver-1.20.7+0/test/xi2/protocol-xigetselectedevents.c
new/xserver-1.20.8+0/test/xi2/protocol-xigetselectedevents.c
--- old/xserver-1.20.7+0/test/xi2/protocol-xigetselectedevents.c
2020-01-13 23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/test/xi2/protocol-xigetselectedevents.c
2020-03-29 22:02:03.000000000 +0200
@@ -60,7 +60,7 @@
int mask_len;
} test_data;
-ClientRec client_window;
+extern ClientRec client_window;
/* AddResource is called from XISetSEventMask, we don't need this */
Bool
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xserver-1.20.7+0/test/xi2/protocol-xipassivegrabdevice.c
new/xserver-1.20.8+0/test/xi2/protocol-xipassivegrabdevice.c
--- old/xserver-1.20.7+0/test/xi2/protocol-xipassivegrabdevice.c
2020-01-13 23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/test/xi2/protocol-xipassivegrabdevice.c
2020-03-29 22:02:03.000000000 +0200
@@ -41,7 +41,7 @@
#include "protocol-common.h"
-ClientRec client_window;
+extern ClientRec client_window;
static ClientRec client_request;
#define N_MODS 7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/test/xi2/protocol-xiquerydevice.c
new/xserver-1.20.8+0/test/xi2/protocol-xiquerydevice.c
--- old/xserver-1.20.7+0/test/xi2/protocol-xiquerydevice.c 2020-01-13
23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/test/xi2/protocol-xiquerydevice.c 2020-03-29
22:02:03.000000000 +0200
@@ -54,7 +54,7 @@
int num_devices_in_reply;
};
-ClientRec client_window;
+extern ClientRec client_window;
static void reply_XIQueryDevice_data(ClientPtr client, int len, char *data,
void *closure);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/test/xi2/protocol-xiquerypointer.c
new/xserver-1.20.8+0/test/xi2/protocol-xiquerypointer.c
--- old/xserver-1.20.7+0/test/xi2/protocol-xiquerypointer.c 2020-01-13
23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/test/xi2/protocol-xiquerypointer.c 2020-03-29
22:02:03.000000000 +0200
@@ -41,7 +41,7 @@
#include "protocol-common.h"
-ClientRec client_window;
+extern ClientRec client_window;
static ClientRec client_request;
static void reply_XIQueryPointer_data(ClientPtr client, int len,
char *data, void *closure);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/test/xi2/protocol-xiqueryversion.c
new/xserver-1.20.8+0/test/xi2/protocol-xiqueryversion.c
--- old/xserver-1.20.7+0/test/xi2/protocol-xiqueryversion.c 2020-01-13
23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/test/xi2/protocol-xiqueryversion.c 2020-03-29
22:02:03.000000000 +0200
@@ -58,7 +58,7 @@
int minor_expected;
};
-ClientRec client_window;
+extern ClientRec client_window;
static void
reply_XIQueryVersion(ClientPtr client, int len, char *data, void *closure)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/test/xi2/protocol-xiselectevents.c
new/xserver-1.20.8+0/test/xi2/protocol-xiselectevents.c
--- old/xserver-1.20.7+0/test/xi2/protocol-xiselectevents.c 2020-01-13
23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/test/xi2/protocol-xiselectevents.c 2020-03-29
22:02:03.000000000 +0200
@@ -62,7 +62,7 @@
static unsigned char *data[4096 * 20]; /* the request data buffer */
-ClientRec client_window;
+extern ClientRec client_window;
int
__real_XISetEventMask(DeviceIntPtr dev, WindowPtr win, ClientPtr client,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xserver-1.20.7+0/test/xi2/protocol-xisetclientpointer.c
new/xserver-1.20.8+0/test/xi2/protocol-xisetclientpointer.c
--- old/xserver-1.20.7+0/test/xi2/protocol-xisetclientpointer.c 2020-01-13
23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/test/xi2/protocol-xisetclientpointer.c 2020-03-29
22:02:03.000000000 +0200
@@ -48,7 +48,7 @@
#include "protocol-common.h"
-ClientRec client_window;
+extern ClientRec client_window;
static ClientRec client_request;
static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xserver-1.20.7+0/test/xi2/protocol-xiwarppointer.c
new/xserver-1.20.8+0/test/xi2/protocol-xiwarppointer.c
--- old/xserver-1.20.7+0/test/xi2/protocol-xiwarppointer.c 2020-01-13
23:50:00.000000000 +0100
+++ new/xserver-1.20.8+0/test/xi2/protocol-xiwarppointer.c 2020-03-29
22:02:03.000000000 +0200
@@ -44,7 +44,7 @@
static int expected_x = SPRITE_X;
static int expected_y = SPRITE_Y;
-ClientRec client_window;
+extern ClientRec client_window;
/**
* This function overrides the one in the screen rec.