Merge branch 'master' into f21
This commit is contained in:
commit
f9e5e85715
77
patchwork-33052.patch
Normal file
77
patchwork-33052.patch
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
Content-Type: text/plain; charset="utf-8"
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Transfer-Encoding: 7bit
|
||||||
|
Subject: glx/present: Only send GLX_BufferSwapComplete for
|
||||||
|
PresentCompleteKindPixmap
|
||||||
|
From: Keith Packard <keithp@keithp.com>
|
||||||
|
X-Patchwork-Id: 33052
|
||||||
|
Message-Id: <1409844967-19450-1-git-send-email-keithp@keithp.com>
|
||||||
|
To: xorg-devel@lists.freedesktop.org
|
||||||
|
Date: Thu, 4 Sep 2014 08:36:07 -0700
|
||||||
|
|
||||||
|
Present didn't provide the 'kind' argument to the
|
||||||
|
present_complete_notify hook that GLX uses to construct
|
||||||
|
GLX_BufferSwapComplete events, so GLX was reporting events for
|
||||||
|
PresentCompleteKindMSC notifications, which resulted in duplicate
|
||||||
|
GLX_BufferSwapComplete events and crashes in clutter.
|
||||||
|
|
||||||
|
See the gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=733282
|
||||||
|
|
||||||
|
Signed-off-by: Keith Packard <keithp@keithp.com>
|
||||||
|
Reviewed-by: Eric Anholt <eric@anholt.net>
|
||||||
|
|
||||||
|
---
|
||||||
|
glx/glxcmds.c | 7 +++++--
|
||||||
|
present/present.h | 1 +
|
||||||
|
present/present_event.c | 2 +-
|
||||||
|
3 files changed, 7 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/glx/glxcmds.c b/glx/glxcmds.c
|
||||||
|
index 2fc3f4c..d11c667 100644
|
||||||
|
--- a/glx/glxcmds.c
|
||||||
|
+++ b/glx/glxcmds.c
|
||||||
|
@@ -2508,13 +2508,16 @@ __glXsendSwapEvent(__GLXdrawable *drawable, int type, CARD64 ust,
|
||||||
|
|
||||||
|
#if PRESENT
|
||||||
|
static void
|
||||||
|
-__glXpresentCompleteNotify(WindowPtr window, CARD8 present_mode, CARD32 serial,
|
||||||
|
- uint64_t ust, uint64_t msc)
|
||||||
|
+__glXpresentCompleteNotify(WindowPtr window, CARD8 present_kind, CARD8 present_mode,
|
||||||
|
+ CARD32 serial, uint64_t ust, uint64_t msc)
|
||||||
|
{
|
||||||
|
__GLXdrawable *drawable;
|
||||||
|
int glx_type;
|
||||||
|
int rc;
|
||||||
|
|
||||||
|
+ if (present_kind != PresentCompleteKindPixmap)
|
||||||
|
+ return;
|
||||||
|
+
|
||||||
|
rc = dixLookupResourceByType((void **) &drawable, window->drawable.id,
|
||||||
|
__glXDrawableRes, serverClient, DixGetAttrAccess);
|
||||||
|
|
||||||
|
diff --git a/present/present.h b/present/present.h
|
||||||
|
index 0e3bdc0..aab2e16 100644
|
||||||
|
--- a/present/present.h
|
||||||
|
+++ b/present/present.h
|
||||||
|
@@ -116,6 +116,7 @@ extern _X_EXPORT Bool
|
||||||
|
present_screen_init(ScreenPtr screen, present_screen_info_ptr info);
|
||||||
|
|
||||||
|
typedef void (*present_complete_notify_proc)(WindowPtr window,
|
||||||
|
+ CARD8 kind,
|
||||||
|
CARD8 mode,
|
||||||
|
CARD32 serial,
|
||||||
|
uint64_t ust,
|
||||||
|
diff --git a/present/present_event.c b/present/present_event.c
|
||||||
|
index ff57eba..d3a59ea 100644
|
||||||
|
--- a/present/present_event.c
|
||||||
|
+++ b/present/present_event.c
|
||||||
|
@@ -174,7 +174,7 @@ present_send_complete_notify(WindowPtr window, CARD8 kind, CARD8 mode, CARD32 se
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (complete_notify)
|
||||||
|
- (*complete_notify)(window, mode, serial, ust, msc);
|
||||||
|
+ (*complete_notify)(window, kind, mode, serial, ust, msc);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
|
@ -42,7 +42,7 @@
|
|||||||
Summary: X.Org X11 X server
|
Summary: X.Org X11 X server
|
||||||
Name: xorg-x11-server
|
Name: xorg-x11-server
|
||||||
Version: 1.16.0
|
Version: 1.16.0
|
||||||
Release: 8%{?gitdate:.%{gitdate}}%{dist}
|
Release: 10%{?gitdate:.%{gitdate}}%{dist}
|
||||||
URL: http://www.x.org
|
URL: http://www.x.org
|
||||||
License: MIT
|
License: MIT
|
||||||
Group: User Interface/X
|
Group: User Interface/X
|
||||||
@ -104,6 +104,9 @@ Patch10200: 0001-xwayland-Snap-damage-reports-to-the-bounding-box.patch
|
|||||||
Patch10301: 0001-xfree86-Fallback-to-first-platform-device-as-primary.patch
|
Patch10301: 0001-xfree86-Fallback-to-first-platform-device-as-primary.patch
|
||||||
Patch10302: 0002-xfree86-Allow-non-PCI-devices-as-primary.patch
|
Patch10302: 0002-xfree86-Allow-non-PCI-devices-as-primary.patch
|
||||||
|
|
||||||
|
# http://lists.x.org/archives/xorg-devel/2014-September/043722.html
|
||||||
|
Patch10303: patchwork-33052.patch
|
||||||
|
|
||||||
%global moduledir %{_libdir}/xorg/modules
|
%global moduledir %{_libdir}/xorg/modules
|
||||||
%global drimoduledir %{_libdir}/dri
|
%global drimoduledir %{_libdir}/dri
|
||||||
%global sdkdir %{_includedir}/xorg
|
%global sdkdir %{_includedir}/xorg
|
||||||
@ -256,7 +259,7 @@ upon.
|
|||||||
|
|
||||||
|
|
||||||
%package Xnest
|
%package Xnest
|
||||||
Summary: A nested server.
|
Summary: A nested server
|
||||||
Group: User Interface/X
|
Group: User Interface/X
|
||||||
Requires: xorg-x11-server-common >= %{version}-%{release}
|
Requires: xorg-x11-server-common >= %{version}-%{release}
|
||||||
Provides: Xnest
|
Provides: Xnest
|
||||||
@ -287,7 +290,7 @@ application for Xdmx would be to unify a 4 by 4 grid of 1280x1024 displays
|
|||||||
|
|
||||||
|
|
||||||
%package Xvfb
|
%package Xvfb
|
||||||
Summary: A X Windows System virtual framebuffer X server.
|
Summary: A X Windows System virtual framebuffer X server
|
||||||
Group: User Interface/X
|
Group: User Interface/X
|
||||||
# xvfb-run is GPLv2, rest is MIT
|
# xvfb-run is GPLv2, rest is MIT
|
||||||
License: MIT and GPLv2
|
License: MIT and GPLv2
|
||||||
@ -305,7 +308,7 @@ is normally used for testing servers.
|
|||||||
|
|
||||||
|
|
||||||
%package Xephyr
|
%package Xephyr
|
||||||
Summary: A nested server.
|
Summary: A nested server
|
||||||
Group: User Interface/X
|
Group: User Interface/X
|
||||||
Requires: xorg-x11-server-common >= %{version}-%{release}
|
Requires: xorg-x11-server-common >= %{version}-%{release}
|
||||||
Provides: Xephyr
|
Provides: Xephyr
|
||||||
@ -323,7 +326,7 @@ Render and Composite.
|
|||||||
|
|
||||||
%if 0%{?fedora} > 20
|
%if 0%{?fedora} > 20
|
||||||
%package Xwayland
|
%package Xwayland
|
||||||
Summary: Wayland X Sserver.
|
Summary: Wayland X Server
|
||||||
Group: User Interface/X
|
Group: User Interface/X
|
||||||
Requires: xorg-x11-server-common >= %{version}-%{release}
|
Requires: xorg-x11-server-common >= %{version}-%{release}
|
||||||
|
|
||||||
@ -640,6 +643,12 @@ find %{inst_srcdir}/hw/xfree86 -name \*.c -delete
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Sep 11 2014 Adam Jackson <ajax@redhat.com> 1.16.0-10
|
||||||
|
- Only send GLX_BufferSwapComplete for PresentCompleteKindPixmap
|
||||||
|
|
||||||
|
* Wed Sep 10 2014 Hans de Goede <hdegoede@redhat.com> - 1.16.0-9
|
||||||
|
- Fixup Xwayland summary, remove . at end of summaries (rhbz#1140225)
|
||||||
|
|
||||||
* Tue Sep 09 2014 Kalev Lember <kalevlember@gmail.com> - 1.16.0-8
|
* Tue Sep 09 2014 Kalev Lember <kalevlember@gmail.com> - 1.16.0-8
|
||||||
- Update the versions of obsoletes for dropped drivers
|
- Update the versions of obsoletes for dropped drivers
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user