[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xorg-server: Changes to 'ubuntu'



 debian/changelog                                 |   14 ++++++++
 debian/patches/xmir-desktop-file-hint-flag.patch |    4 +-
 debian/patches/xmir-rootless.patch               |   34 ++++++++++-----------
 debian/patches/xmir.patch                        |   36 +++++++++++++++++------
 4 files changed, 60 insertions(+), 28 deletions(-)

New commits:
commit 57450213538280a57d6601fc4d4e5f493b6df0d5
Author: Robert Ancell <robert.ancell@canonical.com>
Date:   Fri Aug 21 14:51:34 2015 +1200

    debian/patches/xmir-rootless.patch:
    
    * debian/patches/xmir-rootless.patch:
      - Fix crash when running XMir in rootless mode (LP: #1472097)

diff --git a/debian/changelog b/debian/changelog
index 3f37f39..5d373f1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xorg-server (2:1.17.2-1ubuntu4) wily; urgency=medium
+
+  * debian/patches/xmir-rootless.patch:
+    - Fix crash when running XMir in rootless mode (LP: #1472097)
+
+ -- Robert Ancell <robert.ancell@canonical.com>  Thu, 20 Aug 2015 16:31:37 +1200
+
 xorg-server (2:1.17.2-1ubuntu3) wily; urgency=medium
 
   * debian/patches/xmir.patch:
diff --git a/debian/patches/xmir-rootless.patch b/debian/patches/xmir-rootless.patch
index b6b7bbd..f3bef1e 100644
--- a/debian/patches/xmir-rootless.patch
+++ b/debian/patches/xmir-rootless.patch
@@ -1,4 +1,4 @@
-From 2cf1ea480b7ebcecc61509a54b27b685c4ccfc53 Mon Sep 17 00:00:00 2001
+From a7b78b9c0eee1a53e0fed309474aa6cc76656ffc Mon Sep 17 00:00:00 2001
 From: Robert Ancell <robert.ancell@canonical.com>
 Date: Thu, 9 Jul 2015 14:03:49 +1200
 Subject: [PATCH 2/4] xmir: Support rootless
@@ -167,7 +167,7 @@ index f958e87..c1770d5 100644
          xmir_screen->windowed = 1;
  
 diff --git a/hw/xmir/xmir.c b/hw/xmir/xmir.c
-index 4afd66e..ef78cca 100644
+index 4afd66e..13224aa 100644
 --- a/hw/xmir/xmir.c
 +++ b/hw/xmir/xmir.c
 @@ -33,6 +33,7 @@
@@ -202,14 +202,14 @@ index 4afd66e..ef78cca 100644
  
 -    if (window->parent)
 -        return ret;
-+    if (xmir_screen->rootless) {
-+        if (!window->parent) {
-+            CompositeRedirectSubwindows(window, /*CompositeRedirectManual*/TRUE); // WTF? Where is this defined
-+            RegionNull(&window->clipList);
-+            RegionNull(&window->borderClip);
-+            RegionNull(&window->winSize);
-+        }
++    if (xmir_screen->rootless && !window->parent) {
++        RegionNull(&window->clipList);
++        RegionNull(&window->borderClip);
++        RegionNull(&window->winSize);
++    }
 +
++    if (xmir_screen->rootless) {
++        CompositeRedirectSubwindows(window, /*CompositeRedirectManual*/TRUE); // WTF? Where is this defined
 +        if (window->redirectDraw != RedirectDrawManual)
 +            return ret;
 +    }
@@ -292,5 +292,5 @@ index e43fa40..b67f3a1 100644
      CreateScreenResourcesProcPtr CreateScreenResources;
      CloseScreenProcPtr CloseScreen;
 -- 
-2.4.6
+2.5.0
 

commit e66034f70fbf0962877cfd3adfe18d3503d54aa9
Author: Robert Ancell <robert.ancell@canonical.com>
Date:   Fri Aug 21 14:51:20 2015 +1200

    debian/patches/xmir.patch:
    
    * debian/patches/xmir.patch:
      - Fix red and blue channels being swapped on Android drivers (LP: #1471146)

diff --git a/debian/changelog b/debian/changelog
index 6b05edc..3f37f39 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xorg-server (2:1.17.2-1ubuntu3) wily; urgency=medium
+
+  * debian/patches/xmir.patch:
+    - Fix red and blue channels being swapped on Android drivers (LP: #1471146)
+
+ -- Robert Ancell <robert.ancell@canonical.com>  Thu, 30 Jul 2015 15:31:29 +1200
+
 xorg-server (2:1.17.2-1ubuntu2) wily; urgency=medium
 
   * debian/patches/xmir.patch:
diff --git a/debian/patches/xmir-desktop-file-hint-flag.patch b/debian/patches/xmir-desktop-file-hint-flag.patch
index 8b3a1dd..7dbc73a 100644
--- a/debian/patches/xmir-desktop-file-hint-flag.patch
+++ b/debian/patches/xmir-desktop-file-hint-flag.patch
@@ -1,4 +1,4 @@
-From cc91948d4be69af96ddf9417a4b3cfac5d0f0f35 Mon Sep 17 00:00:00 2001
+From 938313b76b0e3279a94af931cbe5fd34b8cb580c Mon Sep 17 00:00:00 2001
 From: Robert Ancell <robert.ancell@canonical.com>
 Date: Mon, 13 Jul 2015 15:54:32 +1200
 Subject: [PATCH 3/4] xmir: Ignore --desktop_file_hint flag required by Unity8
@@ -9,7 +9,7 @@ Subject: [PATCH 3/4] xmir: Ignore --desktop_file_hint flag required by Unity8
  1 file changed, 3 insertions(+)
 
 diff --git a/hw/xmir/xmir.c b/hw/xmir/xmir.c
-index 2a7227e..810b715 100644
+index ef78cca..b9b7f2d 100644
 --- a/hw/xmir/xmir.c
 +++ b/hw/xmir/xmir.c
 @@ -123,6 +123,9 @@ ddxProcessArgument(int argc, char *argv[], int i)
diff --git a/debian/patches/xmir-rootless.patch b/debian/patches/xmir-rootless.patch
index 4f0196a..b6b7bbd 100644
--- a/debian/patches/xmir-rootless.patch
+++ b/debian/patches/xmir-rootless.patch
@@ -1,4 +1,4 @@
-From 3c705fcf4a68de1276d1a2f6ee176ec7e62eb9df Mon Sep 17 00:00:00 2001
+From 2cf1ea480b7ebcecc61509a54b27b685c4ccfc53 Mon Sep 17 00:00:00 2001
 From: Robert Ancell <robert.ancell@canonical.com>
 Date: Thu, 9 Jul 2015 14:03:49 +1200
 Subject: [PATCH 2/4] xmir: Support rootless
@@ -167,7 +167,7 @@ index f958e87..c1770d5 100644
          xmir_screen->windowed = 1;
  
 diff --git a/hw/xmir/xmir.c b/hw/xmir/xmir.c
-index c07457d..2a7227e 100644
+index 4afd66e..ef78cca 100644
 --- a/hw/xmir/xmir.c
 +++ b/hw/xmir/xmir.c
 @@ -33,6 +33,7 @@
@@ -196,7 +196,7 @@ index c07457d..2a7227e 100644
          strcmp(argv[i], "-egl") == 0 ||
          strcmp(argv[i], "-egl_sync") == 0 ||
          strcmp(argv[i], "-2x") == 0 ||
-@@ -422,8 +425,21 @@ xmir_realize_window(WindowPtr window)
+@@ -425,8 +428,21 @@ xmir_realize_window(WindowPtr window)
      xmir_screen->RealizeWindow = screen->RealizeWindow;
      screen->RealizeWindow = xmir_realize_window;
  
@@ -218,9 +218,9 @@ index c07457d..2a7227e 100644
 +            return ret;
 +    }
  
-     spec = mir_connection_create_spec_for_normal_surface(xmir_screen->conn,
-                                                          mir_width,
-@@ -528,8 +544,15 @@ xmir_handle_surface_event(struct xmir_window *xmir_window, MirSurfaceAttrib attr
+     mir_connection_get_available_surface_formats (xmir_screen->conn, formats, 1024, &n_formats);
+     for (i = 0; i < n_formats && pixel_format == mir_pixel_format_invalid; i++) {
+@@ -546,8 +562,15 @@ xmir_handle_surface_event(struct xmir_window *xmir_window, MirSurfaceAttrib attr
  void
  xmir_close_surface(struct xmir_window *xmir_window)
  {
@@ -238,7 +238,7 @@ index c07457d..2a7227e 100644
  }
  
  static void
-@@ -661,7 +684,8 @@ xmir_is_unblank(int mode)
+@@ -679,7 +702,8 @@ xmir_is_unblank(int mode)
  Bool
  DPMSSupported(void)
  {
@@ -248,7 +248,7 @@ index c07457d..2a7227e 100644
  }
  
  int
-@@ -730,12 +754,16 @@ xmir_create_screen_resources(ScreenPtr screen)
+@@ -748,12 +772,16 @@ xmir_create_screen_resources(ScreenPtr screen)
      if (!ret)
          return ret;
  
@@ -267,7 +267,7 @@ index c07457d..2a7227e 100644
          glamor_pixmap_private *pixmap_priv = glamor_get_pixmap_private(screen->devPrivate);
  
          glBindFramebuffer(GL_FRAMEBUFFER, pixmap_priv->base.fbo->fb);
-@@ -817,7 +845,9 @@ xmir_screen_init(ScreenPtr pScreen, int argc, char **argv)
+@@ -835,7 +863,9 @@ xmir_screen_init(ScreenPtr pScreen, int argc, char **argv)
      xmir_screen->glamor = 1;
  
      for (i = 1; i < argc; i++) {
diff --git a/debian/patches/xmir.patch b/debian/patches/xmir.patch
index 117b7dc..f0c8bef 100644
--- a/debian/patches/xmir.patch
+++ b/debian/patches/xmir.patch
@@ -1,4 +1,4 @@
-From 0ee9ce22bb8741841d37bd0c4bd9a48bf86e82a0 Mon Sep 17 00:00:00 2001
+From 288ecd8208dadaf661639559192373874cad9f20 Mon Sep 17 00:00:00 2001
 From: Robert Ancell <robert.ancell@canonical.com>
 Date: Fri, 15 May 2015 14:58:59 +1200
 Subject: [PATCH 1/4] XMir DDX
@@ -25,9 +25,9 @@ Contributions from:
  hw/xmir/xmir-input.c        |  505 ++++++++++++++++
  hw/xmir/xmir-output.c       |  444 ++++++++++++++
  hw/xmir/xmir-thread-proxy.c |  132 ++++
- hw/xmir/xmir.c              |  981 ++++++++++++++++++++++++++++++
+ hw/xmir/xmir.c              |  999 +++++++++++++++++++++++++++++++
  hw/xmir/xmir.h              |  211 +++++++
- 18 files changed, 7083 insertions(+), 2 deletions(-)
+ 18 files changed, 7101 insertions(+), 2 deletions(-)
  create mode 100644 hw/xmir/.gitignore
  create mode 100644 hw/xmir/Makefile.am
  create mode 100644 hw/xmir/dri2/Makefile.am
@@ -6075,10 +6075,10 @@ index 0000000..6b16871
 +}
 diff --git a/hw/xmir/xmir.c b/hw/xmir/xmir.c
 new file mode 100644
-index 0000000..c07457d
+index 0000000..4afd66e
 --- /dev/null
 +++ b/hw/xmir/xmir.c
-@@ -0,0 +1,981 @@
+@@ -0,0 +1,999 @@
 +/*
 + * Copyright © 2015 Canonical Ltd
 + *
@@ -6493,6 +6493,9 @@ index 0000000..c07457d
 +    struct xmir_screen *xmir_screen = xmir_screen_get(screen);
 +    struct xmir_window *xmir_window = xmir_window_get(window);
 +    Bool ret;
++    MirPixelFormat formats[1024];
++    unsigned int n_formats, i;
++    MirPixelFormat pixel_format = mir_pixel_format_invalid;
 +
 +    int mir_width = window->drawable.width / (1 + xmir_screen->doubled);
 +    int mir_height = window->drawable.height / (1 + xmir_screen->doubled);
@@ -6506,10 +6509,25 @@ index 0000000..c07457d
 +    if (window->parent)
 +        return ret;
 +
-+    spec = mir_connection_create_spec_for_normal_surface(xmir_screen->conn,
-+                                                         mir_width,
-+                                                         mir_height,
-+                                                         window->drawable.depth == 32 ? mir_pixel_format_argb_8888 : mir_pixel_format_xrgb_8888);
++    mir_connection_get_available_surface_formats (xmir_screen->conn, formats, 1024, &n_formats);
++    for (i = 0; i < n_formats && pixel_format == mir_pixel_format_invalid; i++) {
++        switch (formats[i]) {
++        case mir_pixel_format_argb_8888:
++        case mir_pixel_format_abgr_8888:
++            if (window->drawable.depth == 32)
++                pixel_format = formats[i];
++            break;
++        case mir_pixel_format_xrgb_8888:
++        case mir_pixel_format_xbgr_8888:
++        case mir_pixel_format_bgr_888:
++            if (window->drawable.depth == 24)
++                pixel_format = formats[i];
++            break;
++        default:
++            break;
++        }
++    }
++    spec = mir_connection_create_spec_for_normal_surface(xmir_screen->conn, mir_width, mir_height, pixel_format);
 +
 +    if (spec == NULL) {
 +        ErrorF("failed to create a surface spec: %s\n", mir_connection_get_error_message(xmir_screen->conn));


Reply to: