diff options
author | Peter Seiderer <ps.report@gmx.net> | 2017-11-28 23:37:44 +0100 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2017-12-01 23:02:22 +0100 |
commit | 914f55e2b13ea4b5bc2383fcf91f115f418634e2 (patch) | |
tree | 538c19e6378277cced2647411dfc370b408e292c /package/qt5/qt5webengine/5.9.3/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch | |
parent | b58059ad98984382934320235ce89faf0549062f (diff) | |
download | buildroot-914f55e2b13ea4b5bc2383fcf91f115f418634e2.tar.gz buildroot-914f55e2b13ea4b5bc2383fcf91f115f418634e2.zip |
qt5: bump latest version to 5.9.3
qt5connectivity:
- moved 0001-Example-heartrate-server-needs-only-core-and-bluetoo.patch
to 5.9.3
qt5declarative:
- removed 0001-Fix-no-opengl-builds.patch to 5.9.3 (upstream committed,
see [1])
qt5webengine:
- keep 0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch
(upstream committed, see [2], but reverted afterwards, see [3])
[1] https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=fa52bb665d6beb77a951c14c8edcba3541850afc
[2] https://code.qt.io/cgit/qt/qtwebengine.git/commit/?id=d4c621f6a6b87f2a86069fa393b9f7c4f9e7b9ad
[3] https://code.qt.io/cgit/qt/qtwebengine.git/commit/?id=c11c2c8981e647c1eb2c6753ce77d436b92fff87
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/qt5/qt5webengine/5.9.3/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch')
-rw-r--r-- | package/qt5/qt5webengine/5.9.3/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/package/qt5/qt5webengine/5.9.3/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch b/package/qt5/qt5webengine/5.9.3/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch new file mode 100644 index 0000000000..b8ef687f99 --- /dev/null +++ b/package/qt5/qt5webengine/5.9.3/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch @@ -0,0 +1,89 @@ +From d4c621f6a6b87f2a86069fa393b9f7c4f9e7b9ad Mon Sep 17 00:00:00 2001 +From: Viktor Engelmann <viktor.engelmann@qt.io> +Date: Fri, 7 Jul 2017 12:56:19 +0200 +Subject: [PATCH] Load libEGL and libGLES2 symbols implicitly + +Instead of explicitly loading libraries from hard-coded locations, +we now just call dlopen(NULL, RTLD_LAZY). This returns a handle to +the host process'es context, which already contains the symbols of +both these libraries, because we link against them. +It was necessary to bypass LoadLibrary, because that expects a non-NULL +file path, so we couldn't pass NULL through that interface. + +Task-number: QTBUG-57761 +Change-Id: I29f037dfe542222b5188a33c7727c81a464a87bb +Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> +Reviewed-by: Michal Klocek <michal.klocek@qt.io> +Upstream-Status: Merged +Signed-off-by: Gaƫl PORTAY <gael.portay@savoirfairelinux.com> +--- + src/core/surface_factory_qt.cpp | 40 ++++++++-------------------------------- + 1 file changed, 8 insertions(+), 32 deletions(-) + +diff --git a/src/core/surface_factory_qt.cpp b/src/core/surface_factory_qt.cpp +index 36c05ec5..e8be8480 100644 +--- a/src/core/surface_factory_qt.cpp ++++ b/src/core/surface_factory_qt.cpp +@@ -51,51 +51,27 @@ + #if defined(USE_OZONE) + + #include <EGL/egl.h> +- +-#ifndef QT_LIBDIR_EGL +-#define QT_LIBDIR_EGL "/usr/lib" +-#endif +-#ifndef QT_LIBDIR_GLES2 +-#define QT_LIBDIR_GLES2 QT_LIBDIR_EGL +-#endif ++#include <dlfcn.h> + + namespace QtWebEngineCore { + +-base::NativeLibrary LoadLibrary(const base::FilePath& filename) { +- base::NativeLibraryLoadError error; +- base::NativeLibrary library = base::LoadNativeLibrary(filename, &error); +- if (!library) { +- LOG(ERROR) << "Failed to load " << filename.MaybeAsASCII() << ": " << error.ToString(); +- return NULL; +- } +- return library; +-} +- + bool SurfaceFactoryQt::LoadEGLGLES2Bindings() + { +- base::FilePath libEGLPath = QtWebEngineCore::toFilePath(QT_LIBDIR_EGL); +- libEGLPath = libEGLPath.Append("libEGL.so.1"); +- base::NativeLibrary eglLibrary = LoadLibrary(libEGLPath); +- if (!eglLibrary) +- return false; +- +- base::FilePath libGLES2Path = QtWebEngineCore::toFilePath(QT_LIBDIR_GLES2); +- libGLES2Path = libGLES2Path.Append("libGLESv2.so.2"); +- base::NativeLibrary gles2Library = LoadLibrary(libGLES2Path); +- if (!gles2Library) ++ base::NativeLibrary eglgles2Library = dlopen(NULL, RTLD_LAZY); ++ if (!eglgles2Library) { ++ LOG(ERROR) << "Failed to open EGL/GLES2 context " << dlerror(); + return false; ++ } + +- gl::GLGetProcAddressProc get_proc_address = reinterpret_cast<gl::GLGetProcAddressProc>(base::GetFunctionPointerFromNativeLibrary(eglLibrary, "eglGetProcAddress")); ++ gl::GLGetProcAddressProc get_proc_address = reinterpret_cast<gl::GLGetProcAddressProc>(base::GetFunctionPointerFromNativeLibrary(eglgles2Library, "eglGetProcAddress")); + if (!get_proc_address) { + LOG(ERROR) << "eglGetProcAddress not found."; +- base::UnloadNativeLibrary(eglLibrary); +- base::UnloadNativeLibrary(gles2Library); ++ base::UnloadNativeLibrary(eglgles2Library); + return false; + } + + gl::SetGLGetProcAddressProc(get_proc_address); +- gl::AddGLNativeLibrary(eglLibrary); +- gl::AddGLNativeLibrary(gles2Library); ++ gl::AddGLNativeLibrary(eglgles2Library); + return true; + } + +-- +2.13.2 + |