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

mesa: Changes to 'ubuntu+1'



 debian/changelog                      |   18 +++++++++++++
 debian/control                        |    2 -
 debian/patches/egl-platform-mir.patch |   45 +++++++++++++++++++++++++++-------
 3 files changed, 56 insertions(+), 9 deletions(-)

New commits:
commit 443e9a1eda33596f6b6ae314a1e928ea4822aeef
Author: Maarten Lankhorst <maarten.lankhorst@ubuntu.com>
Date:   Wed Feb 11 09:22:34 2015 +0100

    Fix ftbfs from no longer including libmirclient-dev.

diff --git a/debian/changelog b/debian/changelog
index 2517127..94916c8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+mesa (10.4.2-2ubuntu5) vivid; urgency=medium
+
+  * Fix ftbfs from no longer including libmirclient-dev.
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Wed, 11 Feb 2015 09:21:54 +0100
+
 mesa (10.4.2-2ubuntu4) vivid; urgency=medium
 
   * debian/control:
diff --git a/debian/patches/egl-platform-mir.patch b/debian/patches/egl-platform-mir.patch
index f56c7fc..6e1765b 100644
--- a/debian/patches/egl-platform-mir.patch
+++ b/debian/patches/egl-platform-mir.patch
@@ -104,12 +104,11 @@
        free(dri2_dpy->driver_configs);
 --- a/src/egl/drivers/dri2/egl_dri2.h
 +++ b/src/egl/drivers/dri2/egl_dri2.h
-@@ -64,6 +64,11 @@
+@@ -64,6 +64,10 @@
  
  #endif /* HAVE_ANDROID_PLATFORM */
  
 +#ifdef HAVE_MIR_PLATFORM
-+#include <mir_toolkit/mir_client_library.h>
 +#include <mir_toolkit/mesa/native_display.h>
 +#endif
 +

commit ea665e5bd3aeb2ffe2d0c461688792d51065de24
Author: Maarten Lankhorst <maarten.lankhorst@ubuntu.com>
Date:   Tue Feb 10 16:28:54 2015 +0100

    bump mir patch some more

diff --git a/debian/changelog b/debian/changelog
index 727b862..2517127 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,15 @@
+mesa (10.4.2-2ubuntu4) vivid; urgency=medium
+
+  * debian/control:
+    - Change build-dep for mir to mir-client-platform-mesa-dev.
+  * debian/patches/egl-platform-mir.patch:
+    - Fix potential double free (LP: #1414999).
+    - Fix gbm_device leak (LP: #1419704).
+    - Fix dri_buffers[front/back] leak (LP: #1419710).
+    - Use mir-client-platform-mesa-dev to get Mir build flags.
+
+ -- Alexandros Frantzis <alexandros.frantzis@canonical.com>  Mon, 09 Feb 2015 12:35:56 +0200
+
 mesa (10.4.2-2ubuntu3) vivid; urgency=medium
 
   * egl-platform-mir.patch: Fix memory leak. (LP:#1418486)
diff --git a/debian/control b/debian/control
index 4c60ceb..46bad7a 100644
--- a/debian/control
+++ b/debian/control
@@ -41,7 +41,7 @@ Build-Depends:
  llvm-3.6-dev (>= 1:3.5-1) [amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf],
  libelf-dev [amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf],
  libwayland-dev (>= 1.2.0) [linux-any],
- libmirclient-dev [!arm64 !powerpc !ppc64 !ppc64el],
+ mir-client-platform-mesa-dev [!arm64 !powerpc !ppc64 !ppc64el],
 Vcs-Git: git://git.debian.org/git/pkg-xorg/lib/mesa
 Vcs-Browser: http://git.debian.org/?p=pkg-xorg/lib/mesa.git
 Homepage: http://mesa3d.sourceforge.net/
diff --git a/debian/patches/egl-platform-mir.patch b/debian/patches/egl-platform-mir.patch
index f6ec7b6..f56c7fc 100644
--- a/debian/patches/egl-platform-mir.patch
+++ b/debian/patches/egl-platform-mir.patch
@@ -6,7 +6,7 @@
  		;;
 -
 +        mir)
-+                PKG_CHECK_MODULES([MIR], [mirclient])
++                PKG_CHECK_MODULES([MIR], [mir-client-platform-mesa-dev])
 +                ;;
  	*)
  		AC_MSG_ERROR([EGL platform '$plat' does not exist])
@@ -78,6 +78,30 @@
  #ifdef HAVE_ANDROID_PLATFORM
     case _EGL_PLATFORM_ANDROID:
        if (disp->Options.TestOnly)
+@@ -699,6 +705,13 @@ dri2_terminate(_EGLDriver *drv, _EGLDisp
+       }
+       break;
+ #endif
++#ifdef HAVE_MIR_PLATFORM
++   case _EGL_PLATFORM_MIR:
++      if (dri2_dpy->own_device) {
++         gbm_device_destroy(&dri2_dpy->gbm_dri->base.base);
++      }
++      break;
++#endif
+ #ifdef HAVE_WAYLAND_PLATFORM
+    case _EGL_PLATFORM_WAYLAND:
+       wl_drm_destroy(dri2_dpy->wl_drm);
+@@ -715,7 +728,8 @@ dri2_terminate(_EGLDriver *drv, _EGLDisp
+     * the ones from the gbm device. As such the gbm itself is responsible
+     * for the cleanup.
+     */
+-   if (disp->Platform != _EGL_PLATFORM_DRM) {
++   if (disp->Platform != _EGL_PLATFORM_DRM &&
++       disp->Platform != _EGL_PLATFORM_MIR) {
+       for (i = 0; dri2_dpy->driver_configs[i]; i++)
+          free((__DRIconfig *) dri2_dpy->driver_configs[i]);
+       free(dri2_dpy->driver_configs);
 --- a/src/egl/drivers/dri2/egl_dri2.h
 +++ b/src/egl/drivers/dri2/egl_dri2.h
 @@ -64,6 +64,11 @@
@@ -148,7 +172,7 @@
  #endif /* EGL_DRI2_INCLUDED */
 --- /dev/null
 +++ b/src/egl/drivers/dri2/platform_mir.c
-@@ -0,0 +1,613 @@
+@@ -0,0 +1,619 @@
 +/*
 + * Copyright © 2012 Canonical, Inc
 + *
@@ -174,6 +198,7 @@
 + *
 + * Authors:
 + *    Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
++ *    Alexandros Frantzis <alexandros.frantzis@canonical.com>
 + */
 +
 +#include <mir_toolkit/mesa/native_display.h>
@@ -567,10 +592,15 @@
 +   (*dri2_dpy->core->destroyDrawable)(dri2_surf->dri_drawable);
 +
 +   for (i = 0; i < __DRI_BUFFER_COUNT; ++i) {
-+      if (dri2_surf->dri_buffers[i] && !((i == __DRI_BUFFER_FRONT_LEFT) ||
-+                                         (i == __DRI_BUFFER_BACK_LEFT))) {
-+         dri2_dpy->dri2->releaseBuffer(dri2_dpy->dri_screen,
-+                                       dri2_surf->dri_buffers[i]);
++      if (dri2_surf->dri_buffers[i]) {
++         if ((i == __DRI_BUFFER_FRONT_LEFT) ||
++             (i == __DRI_BUFFER_BACK_LEFT)) {
++            free(dri2_surf->dri_buffers[i]);
++         }
++         else {
++            dri2_dpy->dri2->releaseBuffer(dri2_dpy->dri_screen,
++                                          dri2_surf->dri_buffers[i]);
++         }
 +      }
 +   }
 +


Reply to: