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: