From 57b6a223868386ca642e8aad981e686d9c0ca78d Mon Sep 17 00:00:00 2001 From: Florin Sarbu Date: Thu, 2 Oct 2014 06:17:28 +0300 Subject: mesa: Add patch for compiling mesa when drm platform is not set. Signed-off-by: Florin Sarbu --- .../recipes-graphics/mesa/mesa-wayland.inc | 3 ++ ...x-wayland_platform-when-drm_platform-is-n.patch | 61 ++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 meta-rcar-gen2/recipes-graphics/mesa/mesa_10.1.3/0001-egl_dri2-fix-wayland_platform-when-drm_platform-is-n.patch diff --git a/meta-rcar-gen2/recipes-graphics/mesa/mesa-wayland.inc b/meta-rcar-gen2/recipes-graphics/mesa/mesa-wayland.inc index e58535e..a69d7d6 100644 --- a/meta-rcar-gen2/recipes-graphics/mesa/mesa-wayland.inc +++ b/meta-rcar-gen2/recipes-graphics/mesa/mesa-wayland.inc @@ -2,6 +2,9 @@ PACKAGECONFIG[gles] = "--enable-gles1 --disable-gles2" PACKAGECONFIG[egl] = "--enable-egl --with-egl-platforms=wayland" +FILESEXTRAPATHS_append := ":${THISDIR}/mesa_10.1.3/" +SRC_URI += "file://0001-egl_dri2-fix-wayland_platform-when-drm_platform-is-n.patch" + # Disable the gbm modules of mesa EXTRA_OECONF_rcar-gen2 := "${@'${EXTRA_OECONF}'.replace('--enable-gbm', '--disable-gbm')}" # Remove the gbm and egl packages. These are provided in other recipes. diff --git a/meta-rcar-gen2/recipes-graphics/mesa/mesa_10.1.3/0001-egl_dri2-fix-wayland_platform-when-drm_platform-is-n.patch b/meta-rcar-gen2/recipes-graphics/mesa/mesa_10.1.3/0001-egl_dri2-fix-wayland_platform-when-drm_platform-is-n.patch new file mode 100644 index 0000000..284ea04 --- /dev/null +++ b/meta-rcar-gen2/recipes-graphics/mesa/mesa_10.1.3/0001-egl_dri2-fix-wayland_platform-when-drm_platform-is-n.patch @@ -0,0 +1,61 @@ +From 6638c55838b8f5186166b7855fdaf41e0a015e88 Mon Sep 17 00:00:00 2001 +From: Emil Velikov +Date: Wed, 28 May 2014 14:36:46 +0100 +Subject: [PATCH] egl_dri2: fix wayland_platform when drm_platform is not set +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The build fails with implicit delaration of drmGetCap (xf86drm.h) +Were we're including the header only when building the DRM_PLATFORM. + +Wayland backend can operate without DRM_PLATFORM so replace the +guard, and fold in drmGetCap() usage to silence compiler warnings. + +Cc: Chad Versace +Cc: Kristian Høgsberg +Signed-off-by: Emil Velikov +--- + src/egl/drivers/dri2/egl_dri2.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c +index f7f2da2..c1497b8 100644 +--- a/src/egl/drivers/dri2/egl_dri2.c ++++ b/src/egl/drivers/dri2/egl_dri2.c +@@ -35,7 +35,7 @@ + #include + #include + #include +-#ifdef HAVE_DRM_PLATFORM ++#ifdef HAVE_LIBDRM + #include + #include + #endif +@@ -2001,7 +2001,7 @@ dri2_bind_wayland_display_wl(_EGLDriver *drv, _EGLDisplay *disp, + struct wl_display *wl_dpy) + { + struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); +- int ret, flags = 0; ++ int flags = 0; + uint64_t cap; + + (void) drv; +@@ -2012,11 +2012,13 @@ dri2_bind_wayland_display_wl(_EGLDriver *drv, _EGLDisplay *disp, + wl_drm_callbacks.authenticate = + (int(*)(void *, uint32_t)) dri2_dpy->vtbl->authenticate; + +- ret = drmGetCap(dri2_dpy->fd, DRM_CAP_PRIME, &cap); +- if (ret == 0 && cap == (DRM_PRIME_CAP_IMPORT | DRM_PRIME_CAP_EXPORT) && ++#ifdef HAVE_LIBDRM ++ if (drmGetCap(dri2_dpy->fd, DRM_CAP_PRIME, &cap) == 0 && ++ cap == (DRM_PRIME_CAP_IMPORT | DRM_PRIME_CAP_EXPORT) && + dri2_dpy->image->base.version >= 7 && + dri2_dpy->image->createImageFromFds != NULL) + flags |= WAYLAND_DRM_PRIME; ++#endif + + dri2_dpy->wl_server_drm = + wayland_drm_init(wl_dpy, dri2_dpy->device_name, +-- +1.9.1 -- cgit 1.2.3-korg