Hello community,

here is the log from the commit of package xf86-video-intel for 
openSUSE:Factory checked in at 2016-03-09 15:16:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xf86-video-intel (Old)
 and      /work/SRC/openSUSE:Factory/.xf86-video-intel.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xf86-video-intel"

Changes:
--------
--- /work/SRC/openSUSE:Factory/xf86-video-intel/xf86-video-intel.changes        
2016-02-22 08:56:30.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.xf86-video-intel.new/xf86-video-intel.changes   
2016-03-09 15:16:02.000000000 +0100
@@ -1,0 +2,7 @@
+Mon Feb 29 06:47:52 UTC 2016 - e...@suse.com
+
+- U_tools-intel-virtual-output-Check-for-DRI3-more-carefully.patch
+  Fix intel intel-virtual-output: check more carefully for DRI3
+  (boo#968598).
+
+-------------------------------------------------------------------

New:
----
  U_tools-intel-virtual-output-Check-for-DRI3-more-carefully.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xf86-video-intel.spec ++++++
--- /var/tmp/diff_new_pack.0aShRM/_old  2016-03-09 15:16:03.000000000 +0100
+++ /var/tmp/diff_new_pack.0aShRM/_new  2016-03-09 15:16:03.000000000 +0100
@@ -37,6 +37,7 @@
 Patch2:         u_uxa-fix-missing-includes-for-fstat.patch
 Patch10:        
U_uxa_fix_the_call_to_PixmapSyncDirtyHelper_broken_by_xservers_90db5ed.patch
 Patch11:        U_gen8-Fix-the-YUV-RGB-shader.patch
+Patch12:        
U_tools-intel-virtual-output-Check-for-DRI3-more-carefully.patch
 %if %glamor
 Requires:       glamor
 %endif
@@ -112,6 +113,7 @@
 %patch2 -p1
 %patch10 -p1
 %patch11 -p1
+%patch12 -p1
 
 %build
 ###    --enable-dri3 \

++++++ U_tools-intel-virtual-output-Check-for-DRI3-more-carefully.patch ++++++
From: Chris Wilson <ch...@chris-wilson.co.uk>
Date: Mon Feb 16 21:37:35 2015 +0000
Subject: [PATCH]tools/intel-virtual-output: Check for DRI3 more carefully
Patch-mainline: 127aae5a72a69df325fed0b63d345e81583d5ca1
Git-repo: git://anongit.freedesktop.org/git/xorg/driver/xf86-video-intel
References: bsc#968598
Signed-off-by: Egbert Eich <e...@suse.com>

Using xcb, we cannot simply call xcb_dri3_query_version() without it
terminating the connection if DRI3 is not enabled on the target display.
Oops.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89172
Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
---
 tools/virtual.c | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/tools/virtual.c b/tools/virtual.c
index 8e2b4a2..3bcd057 100644
--- a/tools/virtual.c
+++ b/tools/virtual.c
@@ -218,6 +218,13 @@ static inline XRRScreenResources 
*_XRRGetScreenResourcesCurrent(Display *dpy, Wi
 static int _x_error_occurred;
 
 static int
+_io_error_handler(Display *display)
+{
+       fprintf(stderr, "XIO error on display %s\n", DisplayString(display));
+       abort();
+}
+
+static int
 _check_error_handler(Display     *display,
                     XErrorEvent *event)
 {
@@ -320,6 +327,7 @@ can_use_shm(Display *dpy,
 #include <X11/Xlib-xcb.h>
 #include <X11/xshmfence.h>
 #include <xcb/xcb.h>
+#include <xcb/xcbext.h>
 #include <xcb/dri3.h>
 #include <xcb/sync.h>
 static Pixmap dri3_create_pixmap(Display *dpy,
@@ -357,6 +365,7 @@ static int dri3_query_version(Display *dpy, int *major, int 
*minor)
 {
        xcb_connection_t *c = XGetXCBConnection(dpy);
        xcb_dri3_query_version_reply_t *reply;
+       xcb_generic_error_t *error;
 
        *major = *minor = -1;
 
@@ -364,7 +373,8 @@ static int dri3_query_version(Display *dpy, int *major, int 
*minor)
                                             xcb_dri3_query_version(c,
                                                                    
XCB_DRI3_MAJOR_VERSION,
                                                                    
XCB_DRI3_MINOR_VERSION),
-                                            NULL);
+                                            &error);
+       free(error);
        if (reply == NULL)
                return -1;
 
@@ -377,8 +387,14 @@ static int dri3_query_version(Display *dpy, int *major, 
int *minor)
 
 static int dri3_exists(Display *dpy)
 {
+       xcb_extension_t dri3 = { "DRI3", 0 };
+       const xcb_query_extension_reply_t *ext;
        int major, minor;
 
+       ext = xcb_get_extension_data(XGetXCBConnection(dpy), &dri3);
+       if (ext == NULL || !ext->present)
+               return 0;
+
        if (dri3_query_version(dpy, &major, &minor) < 0)
                return 0;
 
@@ -3228,6 +3244,7 @@ int main(int argc, char **argv)
                return -ret;
 
        XSetErrorHandler(_check_error_handler);
+       XSetIOErrorHandler(_io_error_handler);
 
        ret = add_fd(&ctx, display_open(&ctx, src_name));
        if (ret) {

Reply via email to