summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-fix-dispmanx-build.patch
diff options
context:
space:
mode:
authorAndrew Geissler <geissonator@yahoo.com>2020-12-12 01:27:59 +0300
committerAndrew Geissler <geissonator@yahoo.com>2020-12-12 01:28:21 +0300
commit8fc454f9beebdd347403145c991697019a593cff (patch)
tree8cf3da68cb51c21d0989a7fb81249229e70b6fc8 /meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-fix-dispmanx-build.patch
parent12e5ffbbbaa05790d387750fadff4a2bf74e4f93 (diff)
downloadopenbmc-8fc454f9beebdd347403145c991697019a593cff.tar.xz
meta-openembedded: subtree update:f623d8b574..936f2380bb
Alexander Vickberg (2): libwebsockets: upgrade to 4.1.6 mbedtls: upgrade to 2.24.0 Bartosz Golaszewski (1): libgpiod: update v1.4.5 -> v1.6.2 Beniamin Sandu (1): trace-cmd: create recipe for version 2.9.1 Fabio Berton (2): beep: Add recipe for version 1.2.2 linuxconsole: Add recipe for version 1.7.0 Gianfranco (1): dlt-daemon: add upstream patch to fix CVE-2020-29394 Kai Kang (1): colord: fix installed-vs-shipped error Khem Raj (1): packagegroup-meta-python: Remove packages moved to core Luca Boccassi (3): dbus-broker: rdepend on dbus-common dbus-brocker: upgrade 23 -> 24 dbus-broker: upgrade 24 -> 25 Martin Jansa (1): nanopb: move to dynamic-layers Michael Vetter (1): jasper: upgrade 2.0.22 -> 2.0.23 Philip Balister (1): spdlog: Fix recipe so other recipes can use spdlog with external fmt. Robert Karszniewicz (1): firmwared: add recipe Roland Hieber (5): pcsc-lite: provide pcsc-lite-lib-native explicitly for native build lockfile-progs: use DEBIAN_MIRROR in SRC_URI fbset: use DEBIAN_MIRROR in SRC_URI liboop: use upstream SRC_URI openct: use upstream SRC_URI Senthil Selvaganesan (1): fcgiwrap: add recipe Thomas Perrot (1): openocd: disable the support of ccache Trevor Woerner (4): glmark2: update information glmark2: update to latest glmark2: add support for dispmanx glmark2: revert to previous behaviour Vyacheslav Yurkov (1): python3-aiohttp: added missing RDEPENDs Wang Mingyu (2): gensio: 2.1.4 -> 2.2.0 ser2net: 4.2.0 -> 4.3.0 Zang Ruochen (7): dialog: upgrade 1.3-20200327 -> 1.3-20201126 fmt: upgrade 7.1.2 -> 7.1.3 hidapi: upgrade 0.10.0 -> 0.10.1 opensc: upgrade 0.20.0 -> 0.20.1 pugixml: upgrade 1.10 -> 1.11 satyr: upgrade 0.31 -> 0.35 nanopb: upgrade 0.4.3 -> 0.4.4 zhengruoqin (9): c-periphery: upgrade 2.2.4 -> 2.2.5 crash: upgrade 7.2.8 -> 7.2.9 dfu-util: upgrade 0.9 -> 0.10 monit: upgrade 5.26.0 -> 5.27.1 qpdf: upgrade 10.0.1 -> 10.0.4 tcsh: upgrade 6.22.02 -> 6.22.03 xserver-xorg-cvt-native: upgrade 1.20.5 -> 1.20.9 zchunk: upgrade 1.1.6 -> 1.1.7 libconfig-autoconf-perl: upgrade 0.318 -> 0.319 Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I8371eb789fa288193da895bd51ce2160194809d8
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-fix-dispmanx-build.patch')
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-fix-dispmanx-build.patch125
1 files changed, 125 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-fix-dispmanx-build.patch b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-fix-dispmanx-build.patch
new file mode 100644
index 0000000000..e9b880c260
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-fix-dispmanx-build.patch
@@ -0,0 +1,125 @@
+From 56e4959f0bc3e442c813d78e8ab6b3bf64b4ac66 Mon Sep 17 00:00:00 2001
+From: OpenEmbedded <oe.patch@oe>
+Date: Wed, 2 Dec 2020 20:27:42 +0000
+Subject: [PATCH] fix dispmanx build
+
+For when the user is building "--with-flavors dispmanx-glesv2", fixes a bunch
+of "redeclared as different kind of symbol" problems.
+
+This patch is almost entirely from:
+ https://github.com/glmark2/glmark2/commit/3b1a0f78d03ae126b78ee52a7c434809115e5993
+
+Which was created by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
+
+See:
+ https://github.com/glmark2/glmark2/issues/80
+
+My contribution is to tweak the wscript to link all the required libraries.
+
+Upstream-status: submitted [https://github.com/glmark2/glmark2/pull/135]
+Signed-off-by: Trevor Woerner <twoerner@gmail.com>
+---
+ src/native-state-dispmanx.cpp | 22 +++++++++++++++++-----
+ src/native-state-dispmanx.h | 7 +++----
+ wscript | 2 +-
+ 3 files changed, 21 insertions(+), 10 deletions(-)
+
+diff --git a/src/native-state-dispmanx.cpp b/src/native-state-dispmanx.cpp
+index 2117386..49f74e7 100644
+--- a/src/native-state-dispmanx.cpp
++++ b/src/native-state-dispmanx.cpp
+@@ -23,13 +23,25 @@
+ #include "native-state-dispmanx.h"
+ #include "log.h"
+
++#include "EGL/egl.h"
++
+ #include <cstring>
+ #include <csignal>
+
++struct NativeStateDispmanx::Private
++{
++ Private()
++ {
++ memset(&egl_dispmanx_window, 0, sizeof(egl_dispmanx_window));
++ }
++
++ EGL_DISPMANX_WINDOW_T egl_dispmanx_window;
++};
++
+ NativeStateDispmanx::NativeStateDispmanx()
++ : priv{std::make_unique<Private>()}
+ {
+ memset(&properties_, 0, sizeof(properties_));
+- memset(&egl_dispmanx_window, 0, sizeof(egl_dispmanx_window));
+ }
+
+ NativeStateDispmanx::~NativeStateDispmanx()
+@@ -99,9 +111,9 @@ NativeStateDispmanx::create_window(WindowProperties const& properties)
+ 0 /*clamp*/,
+ DISPMANX_NO_ROTATE);
+
+- egl_dispmanx_window.element = dispmanx_element;
+- egl_dispmanx_window.width = dst_rect.width;
+- egl_dispmanx_window.height = dst_rect.height;
++ priv->egl_dispmanx_window.element = dispmanx_element;
++ priv->egl_dispmanx_window.width = dst_rect.width;
++ priv->egl_dispmanx_window.height = dst_rect.height;
+ vc_dispmanx_update_submit_sync(dispmanx_update);
+
+ return true;
+@@ -111,7 +123,7 @@ void*
+ NativeStateDispmanx::window(WindowProperties &properties)
+ {
+ properties = properties_;
+- return &egl_dispmanx_window;
++ return &priv->egl_dispmanx_window;
+ }
+
+ void
+diff --git a/src/native-state-dispmanx.h b/src/native-state-dispmanx.h
+index a6ed3d4..794b2d3 100644
+--- a/src/native-state-dispmanx.h
++++ b/src/native-state-dispmanx.h
+@@ -24,10 +24,8 @@
+ #define GLMARK2_NATIVE_STATE_DISPMANX_H_
+
+ #include <vector>
++#include <memory>
+ #include "bcm_host.h"
+-#include "GLES/gl.h"
+-#include "EGL/egl.h"
+-#include "EGL/eglext.h"
+
+ #include "native-state.h"
+
+@@ -46,11 +44,12 @@ public:
+ void flip();
+
+ private:
++ struct Private;
+ DISPMANX_DISPLAY_HANDLE_T dispmanx_display;
+ DISPMANX_UPDATE_HANDLE_T dispmanx_update;
+ DISPMANX_ELEMENT_HANDLE_T dispmanx_element;
+- EGL_DISPMANX_WINDOW_T egl_dispmanx_window;
+ WindowProperties properties_;
++ std::unique_ptr<Private> priv;
+ };
+
+ #endif /* GLMARK2_NATIVE_STATE_DISPMANX_H_ */
+diff --git a/wscript b/wscript
+index e09fa78..6c3869c 100644
+--- a/wscript
++++ b/wscript
+@@ -205,7 +205,7 @@ def configure_linux(ctx):
+
+ ctx.check_cxx(lib = 'brcmGLESv2', uselib_store = 'glesv2', libpath='/opt/vc/lib')
+ ctx.check_cxx(lib = ['brcmEGL', 'brcmGLESv2'], uselib_store = 'egl', libpath='/opt/vc/lib')
+- ctx.check_cxx(lib = ['bcm_host', 'vcos', 'vchiq_arm'], uselib_store = 'dispmanx', libpath='/opt/vc/lib')
++ ctx.check_cxx(lib = ['brcmEGL', 'brcmGLESv2', 'vchostif', 'bcm_host', 'vcos', 'vchiq_arm'], uselib_store = 'dispmanx', libpath='/opt/vc/lib')
+
+ # Check optional packages
+ opt_pkgs = [('x11', 'x11', None, list_contains(ctx.options.flavors, 'x11')),
+--
+2.28.0.497.g54e85e7af1
+