summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/mesa/mesa.inc
diff options
context:
space:
mode:
authorJussi Kukkonen <jussi.kukkonen@intel.com>2017-08-28 15:46:35 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-08-30 11:14:26 +0100
commitd935a1a3f0c11d180b3080801fa836b3ad12651f (patch)
tree30b7a3344e83cc1652617815c5f148f13cc1d69f /meta/recipes-graphics/mesa/mesa.inc
parentf9c451b71ad0093b4c2abedf7f3d714c5a3af5a5 (diff)
downloadpoky-d935a1a3f0c11d180b3080801fa836b3ad12651f.tar.gz
mesa: Support building without opengl
mesa can build certain things without opengl: most importantly vulkan drivers. Add comments on the dependencies between the packageconfigs. Also add a few dependencies to packageconfigs. Modify default packageconfig to do the reasonable thing based on distro features. Add a backported patch to fix the build with --disable-opengl. Fix do_install_append() so it works even if dri drivers are not built. (From OE-Core rev: 48d39cf43b59c96d4deca783ec66686f5c8cd3e7) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-graphics/mesa/mesa.inc')
-rw-r--r--meta/recipes-graphics/mesa/mesa.inc23
1 files changed, 16 insertions, 7 deletions
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
index 3bb3cf401f..4f31ed255c 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -20,7 +20,7 @@ PROVIDES = "virtual/libgl virtual/libgles1 virtual/libgles2 virtual/egl virtual/
20 20
21inherit autotools pkgconfig gettext distro_features_check 21inherit autotools pkgconfig gettext distro_features_check
22 22
23REQUIRED_DISTRO_FEATURES = "opengl" 23ANY_OF_DISTRO_FEATURES = "opengl vulkan"
24 24
25PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)} \ 25PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)} \
26 ${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'drm', '', d)}" 26 ${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'drm', '', d)}"
@@ -32,20 +32,25 @@ EXTRA_OECONF = "--enable-shared-glapi \
32 --with-llvm-prefix=${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE} \ 32 --with-llvm-prefix=${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE} \
33 --with-platforms='${PLATFORMS}'" 33 --with-platforms='${PLATFORMS}'"
34 34
35PACKAGECONFIG ??= "gbm egl gles dri \ 35PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland vulkan', d)} \
36 ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11 vulkan', d)} \ 36 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm dri', '', d)} \
37 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \ 37 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11', '', d)} \
38 " 38 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \
39 "
40
41# "gbm" requires "dri", "opengl"
39PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm" 42PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm"
40 43
41X11_DEPS = "xf86driproto glproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes" 44X11_DEPS = "xf86driproto glproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes"
45# "x11" requires "opengl"
42PACKAGECONFIG[x11] = "--enable-glx-tls,--disable-glx,${X11_DEPS}" 46PACKAGECONFIG[x11] = "--enable-glx-tls,--disable-glx,${X11_DEPS}"
43PACKAGECONFIG[xvmc] = "--enable-xvmc,--disable-xvmc,libxvmc" 47PACKAGECONFIG[xvmc] = "--enable-xvmc,--disable-xvmc,libxvmc"
44PACKAGECONFIG[wayland] = ",,wayland-native wayland" 48PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm"
45 49
46DRIDRIVERS = "swrast" 50DRIDRIVERS = "swrast"
47DRIDRIVERS_append_x86 = ",radeon,r200,nouveau,i965,i915" 51DRIDRIVERS_append_x86 = ",radeon,r200,nouveau,i965,i915"
48DRIDRIVERS_append_x86-64 = ",radeon,r200,nouveau,i965,i915" 52DRIDRIVERS_append_x86-64 = ",radeon,r200,nouveau,i965,i915"
53# "dri" requires "opengl"
49PACKAGECONFIG[dri] = "--enable-dri --with-dri-drivers=${DRIDRIVERS}, --disable-dri, dri2proto libdrm" 54PACKAGECONFIG[dri] = "--enable-dri --with-dri-drivers=${DRIDRIVERS}, --disable-dri, dri2proto libdrm"
50PACKAGECONFIG[dri3] = "--enable-dri3, --disable-dri3, dri3proto presentproto libxshmfence" 55PACKAGECONFIG[dri3] = "--enable-dri3, --disable-dri3, dri3proto presentproto libxshmfence"
51 56
@@ -56,8 +61,12 @@ VULKAN_DRIVERS_append_x86 = ",intel"
56VULKAN_DRIVERS_append_x86-64 = ",intel" 61VULKAN_DRIVERS_append_x86-64 = ",intel"
57PACKAGECONFIG[vulkan] = "--with-vulkan-drivers=${VULKAN_DRIVERS}, --without-vulkan-drivers" 62PACKAGECONFIG[vulkan] = "--with-vulkan-drivers=${VULKAN_DRIVERS}, --without-vulkan-drivers"
58 63
64PACKAGECONFIG[opengl] = "--enable-opengl, --disable-opengl"
65
66# "gles" requires "opengl"
59PACKAGECONFIG[gles] = "--enable-gles1 --enable-gles2, --disable-gles1 --disable-gles2" 67PACKAGECONFIG[gles] = "--enable-gles1 --enable-gles2, --disable-gles1 --disable-gles2"
60 68
69# "egl" requires "dri", "opengl"
61PACKAGECONFIG[egl] = "--enable-egl, --disable-egl" 70PACKAGECONFIG[egl] = "--enable-egl, --disable-egl"
62 71
63PACKAGECONFIG[etnaviv] = "" 72PACKAGECONFIG[etnaviv] = ""
@@ -121,7 +130,7 @@ do_install_append () {
121 130
122 # it was packaged in libdricore9.1.3-1 and preventing upgrades when debian.bbclass was used 131 # it was packaged in libdricore9.1.3-1 and preventing upgrades when debian.bbclass was used
123 rm -f ${D}${sysconfdir}/drirc 132 rm -f ${D}${sysconfdir}/drirc
124 chrpath --delete ${D}${libdir}/dri/*_dri.so 133 chrpath --delete ${D}${libdir}/dri/*_dri.so || true
125} 134}
126 135
127# For the packages that make up the OpenGL interfaces, inject variables so that 136# For the packages that make up the OpenGL interfaces, inject variables so that