]> code.ossystems Code Review - openembedded-core.git/commitdiff
mesa: Fix a case when gbm is enabled but DRIDRIVERS is not defined
authorKhem Raj <raj.khem@gmail.com>
Wed, 22 May 2019 18:28:27 +0000 (11:28 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 27 May 2019 16:06:27 +0000 (17:06 +0100)
This is a typical scenario with arm platforms, with meson if DRIDRIVERS
is empty then dri is disabled automatically, but gbm needs dri2 enabled
for it to have proper backend, in autotools we could use --enable-gbm
--enable-dri and get correct behaviour but with meson enabling dri2 only
works if DRIDRIVERS is not empty

This fixes mesa-gl build for rpi machines when using userland graphics

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-graphics/mesa/files/0001-Allow-enable-DRI-without-DRI-drivers.patch [new file with mode: 0644]
meta/recipes-graphics/mesa/mesa.inc
meta/recipes-graphics/mesa/mesa_19.0.3.bb

diff --git a/meta/recipes-graphics/mesa/files/0001-Allow-enable-DRI-without-DRI-drivers.patch b/meta/recipes-graphics/mesa/files/0001-Allow-enable-DRI-without-DRI-drivers.patch
new file mode 100644 (file)
index 0000000..52d670a
--- /dev/null
@@ -0,0 +1,45 @@
+From 8e0a58c8eea7ed70071cac139655700fdfa16445 Mon Sep 17 00:00:00 2001
+From: Andrei Gherzan <andrei@gherzan.ro>
+Date: Wed, 22 May 2019 18:32:07 +0100
+Subject: [PATCH] Allow enable DRI without DRI drivers
+
+Upstream-status: Pending
+Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
+---
+ meson.build       | 2 +-
+ meson_options.txt | 6 ++++++
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 53d02e3..9a8578f 100644
+--- a/meson.build
++++ b/meson.build
+@@ -119,7 +119,7 @@ with_dri_r200 = _drivers.contains('r200')
+ with_dri_nouveau = _drivers.contains('nouveau')
+ with_dri_swrast = _drivers.contains('swrast')
+-with_dri = _drivers.length() != 0 and _drivers != ['']
++with_dri = get_option('dri') or (_drivers.length() != 0 and _drivers != [''])
+ _drivers = get_option('gallium-drivers')
+ if _drivers.contains('auto')
+diff --git a/meson_options.txt b/meson_options.txt
+index ccf7065..5174320 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -34,6 +34,12 @@ option(
+   choices : ['auto', 'true', 'false'],
+   description : 'enable support for dri3'
+ )
++option(
++  'dri',
++  type : 'boolean',
++  value : false,
++  description : 'enable support for dri'
++)
+ option(
+   'dri-drivers',
+   type : 'array',
+-- 
+2.17.1
+
index cd3ddfd8223a1b498abb724d291834be5363723e..3ecfb8506c0d952cf86c243dcfab06839eb56b6e 100644 (file)
@@ -70,7 +70,7 @@ DRIDRIVERS_class-nativesdk = "swrast"
 DRIDRIVERS_append_x86_class-target = ",r100,r200,nouveau,i965,i915"
 DRIDRIVERS_append_x86-64_class-target = ",r100,r200,nouveau,i965,i915"
 # "dri" requires "opengl"
-PACKAGECONFIG[dri] = "-Ddri-drivers=${DRIDRIVERS}, -Ddri-drivers='', xorgproto libdrm"
+PACKAGECONFIG[dri] = "-Ddri=true -Ddri-drivers=${DRIDRIVERS}, -Ddri=false -Ddri-drivers='', xorgproto libdrm"
 PACKAGECONFIG[dri3] = "-Ddri3=true, -Ddri3=false, xorgproto libxshmfence"
 
 # Vulkan drivers need dri3 enabled
index 36faa4a99d7fcbeeb9ff3641e720434da0178b88..8a72df10147a633b1eb52cfb3b516dac6be31189 100644 (file)
@@ -3,6 +3,7 @@ require ${BPN}.inc
 SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
            file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \
            file://0001-meson.build-make-TLS-GLX-optional-again.patch \
+           file://0001-Allow-enable-DRI-without-DRI-drivers.patch \
            "
 
 SRC_URI[md5sum] = "d03bf14e42c0e54ebae5730712ccc408"