summaryrefslogtreecommitdiff
path: root/recipes-graphics
diff options
context:
space:
mode:
authorYuqing Zhu <carol.zhu-3arQi8VN3Tc@public.gmane.org>2018-06-06 11:46:42 +0800
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2018-06-20 17:04:30 +0200
commitf49df6f7db05b33d8e5acd969cec71223ffc61a1 (patch)
tree36a11644a99436f0dd14e2b3fe0851a861be92e1 /recipes-graphics
parent97af9b54157142f500c0322b49e669d893768850 (diff)
libdrm: Create i.MX specific version recipe to switch to use i.MX fork
This i.MX specific version is based on v2.4.84 Signed-off-by: Yuqing Zhu <carol.zhu-3arQi8VN3Tc@public.gmane.org> Pulled from meta-freescale mailing list. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
Diffstat (limited to 'recipes-graphics')
-rw-r--r--recipes-graphics/drm/libdrm/0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch56
-rw-r--r--recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch24
-rw-r--r--recipes-graphics/drm/libdrm/installtests.patch25
-rw-r--r--recipes-graphics/drm/libdrm_2.4.84.imx.bb66
4 files changed, 171 insertions, 0 deletions
diff --git a/recipes-graphics/drm/libdrm/0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch b/recipes-graphics/drm/libdrm/0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch
new file mode 100644
index 0000000..6ca9336
--- /dev/null
+++ b/recipes-graphics/drm/libdrm/0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch
@@ -0,0 +1,56 @@
+From e6bd4205b0b546afe991ae6f72256645f4404ad4 Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
+Date: Mon, 5 Sep 2016 14:41:37 +0300
+Subject: [PATCH libdrm] configure.ac: Allow explicit enabling of cunit tests
+
+Add --with-cunit to make it easier to do reproducible builds. Default
+is still to probe cunit and build opportunistically.
+
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
+Upstream-Status: Submitted [mailing list]
+---
+ configure.ac | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index e3048c7..918d21d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -137,6 +137,12 @@ AC_ARG_ENABLE(install-test-programs,
+ [Install test programs (default: no)]),
+ [INSTALL_TESTS=$enableval], [INSTALL_TESTS=no])
+
++AC_ARG_WITH([cunit],
++ [AS_HELP_STRING([--with-cunit],
++ [Build tests that use cunit (default: auto)])],
++ [],
++ [with_cunit=auto])
++
+ dnl ===========================================================================
+ dnl check compiler flags
+ AC_DEFUN([LIBDRM_CC_TRY_FLAG], [
+@@ -372,7 +378,7 @@ if test "x$RADEON" = xyes; then
+ AC_DEFINE(HAVE_RADEON, 1, [Have radeon support])
+ fi
+
+-if test "x$AMDGPU" != xno; then
++if test "x$with_cunit" != xno -a "x$AMDGPU" != xno; then
+ # Detect cunit library
+ PKG_CHECK_MODULES([CUNIT], [cunit >= 2.1], [have_cunit=yes], [have_cunit=no])
+ # If pkg-config does not find cunit, check it using AC_CHECK_LIB. We
+@@ -399,7 +406,11 @@ if test "x$AMDGPU" = xyes; then
+ AC_DEFINE(HAVE_CUNIT, [test "x$have_cunit" != "xno"], [Enable CUNIT Have amdgpu support])
+
+ if test "x$have_cunit" = "xno"; then
+- AC_MSG_WARN([Could not find cunit library. Disabling amdgpu tests])
++ if test "x$with_cunit" = "xyes"; then
++ AC_MSG_ERROR([Could not find cunit library but --with-cunit was given])
++ elif test "x$with_cunit" = "xauto"; then
++ AC_MSG_WARN([Could not find cunit library. Disabling amdgpu tests])
++ fi
+ fi
+ fi
+
+--
+2.1.4
+
diff --git a/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch b/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch
new file mode 100644
index 0000000..377310a
--- /dev/null
+++ b/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch
@@ -0,0 +1,24 @@
+drmdevice.c: define _GNU_SOURCE
+
+Include config.h to fix this build error with uclibc:
+
+libdrm-2.4.66/tests/drmdevice.c: In function 'main':
+libdrm-2.4.66/tests/drmdevice.c:96:60: error:
+'O_CLOEXEC' undeclared (first use in this function)
+fd = open(devices[i]->nodes[j],O_RDONLY | O_CLOEXEC, 0);
+
+Upstream-Status: Pending
+
+Signed-off-by: Maxin B. John <maxin.john-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
+---
+diff -Naur libdrm-2.4.66-orig/tests/drmdevice.c libdrm-2.4.66/tests/drmdevice.c
+--- libdrm-2.4.66-orig/tests/drmdevice.c 2016-02-23 11:34:02.054904502 +0200
++++ libdrm-2.4.66/tests/drmdevice.c 2016-02-23 11:35:34.371750383 +0200
+@@ -21,6 +21,7 @@
+ *
+ */
+
++#include <config.h>
+ #include <errno.h>
+ #include <stdio.h>
+ #include <stdlib.h>
diff --git a/recipes-graphics/drm/libdrm/installtests.patch b/recipes-graphics/drm/libdrm/installtests.patch
new file mode 100644
index 0000000..09086c6
--- /dev/null
+++ b/recipes-graphics/drm/libdrm/installtests.patch
@@ -0,0 +1,25 @@
+From 5c6eb43c2f6e7f2ee7c25c92e42f4e4403fa0527 Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
+Date: Tue, 21 Feb 2017 14:37:52 +0200
+Subject: [PATCH] tests: also install test apps
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Yu Ke <ke.yu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
+---
+ tests/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 0355a92..b4882cd 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -45,3 +45,4 @@ TESTS = \
+ check_PROGRAMS = \
+ $(TESTS) \
+ drmdevice
++bin_PROGRAMS = $(check_PROGRAMS)
+--
+2.1.4
+
diff --git a/recipes-graphics/drm/libdrm_2.4.84.imx.bb b/recipes-graphics/drm/libdrm_2.4.84.imx.bb
new file mode 100644
index 0000000..53de62b
--- /dev/null
+++ b/recipes-graphics/drm/libdrm_2.4.84.imx.bb
@@ -0,0 +1,66 @@
+SUMMARY = "Userspace interface to the kernel DRM services"
+DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \
+stands for \"Direct Rendering Manager\", which is the kernel portion of the \
+\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \
+accelerated OpenGL drivers."
+HOMEPAGE = "http://dri.freedesktop.org"
+SECTION = "x11/base"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71"
+PROVIDES = "drm"
+DEPENDS = "libpthread-stubs libpciaccess"
+
+IMX_LIBDRM_SRC ?= "git://source.codeaurora.org/external/imx/libdrm-imx.git;protocol=https"
+IMX_LIBDRM_BRANCH = "libdrm-imx-2.4.84"
+SRC_URI = "${IMX_LIBDRM_SRC};branch=${IMX_LIBDRM_BRANCH} \
+ file://installtests.patch \
+ file://fix_O_CLOEXEC_undeclared.patch \
+ file://0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch \
+ "
+SRC_URI_remove_mx8 = "file://drm-update-arm.patch"
+SRCREV = "8c8c46d41839035de605291bc1c26902011a74ac"
+
+# IMX: Remove manpages which is added in pyro
+#inherit autotools pkgconfig manpages
+inherit autotools pkgconfig
+
+EXTRA_OECONF += "--disable-cairo-tests \
+ --without-cunit \
+ --enable-omap-experimental-api \
+ --enable-etnaviv-experimental-api \
+ --enable-install-test-programs \
+ --disable-valgrind \
+ "
+# IMX: Remove manpages which is added in pyro
+#PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, libxslt-native xmlto-native"
+EXTRA_OECONF += "--disable-manpages"
+
+ALLOW_EMPTY_${PN}-drivers = "1"
+PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \
+ ${PN}-intel ${PN}-exynos ${PN}-kms ${PN}-freedreno ${PN}-amdgpu \
+ ${PN}-etnaviv"
+
+RRECOMMENDS_${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \
+ ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \
+ ${PN}-etnaviv"
+
+FILES_${PN}-tests = "${bindir}/*"
+FILES_${PN}-radeon = "${libdir}/libdrm_radeon.so.*"
+FILES_${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*"
+FILES_${PN}-omap = "${libdir}/libdrm_omap.so.*"
+FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*"
+FILES_${PN}-exynos = "${libdir}/libdrm_exynos.so.*"
+FILES_${PN}-kms = "${libdir}/libkms*.so.*"
+FILES_${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*"
+FILES_${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.*"
+FILES_${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*"
+
+EXTRA_OECONF_append_imxgpu = " --enable-vivante-experimental-api"
+
+PACKAGES_prepend_imxgpu = "${PN}-vivante "
+
+RRECOMMENDS_${PN}-drivers_append_imxgpu = " ${PN}-vivante"
+
+FILES_${PN}-vivante = "${libdir}/libdrm_vivante.so.*"
+
+S = "${WORKDIR}/git"