summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2016-01-26 16:16:20 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-05-03 09:50:36 +0200
commitf130f98c723e40b2427fc2f7553403f2ea3c1d3c (patch)
treec8ddb54a3794c5eefa06e7861d675dbdb07d9cf9
parent9dc4ae05e9872a7a60de6225ea05f61b8ac0d2fb (diff)
downloadqtwebengine-chromium-f130f98c723e40b2427fc2f7553403f2ea3c1d3c.tar.gz
Fix dependencies on ANGLE
Removes dependency on libEGL and libGLESv2 on both Windows and X11, and links to the Qt versions on windows if doing an ANGLE build. Technically we don't need ANGLE in that case either because we disable GPU acceleration when Qt is using ANGLE, but since it is runtime disabled it still need to be there at compile and link time. Change-Id: I866442d7172609b81eaf83fdba3d8d85cc848cf2 Reviewed-by: Michael BrĂ¼ning <michael.bruning@theqtcompany.com> Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
-rw-r--r--chromium/content/gpu/BUILD.gn6
-rw-r--r--chromium/media/gpu/BUILD.gn10
-rw-r--r--chromium/ui/compositor/BUILD.gn6
-rw-r--r--chromium/ui/gl/BUILD.gn7
-rw-r--r--chromium/ui/gl/init/gl_initializer_win.cc16
5 files changed, 37 insertions, 8 deletions
diff --git a/chromium/content/gpu/BUILD.gn b/chromium/content/gpu/BUILD.gn
index 50ebf1507ba..9adb5be96a8 100644
--- a/chromium/content/gpu/BUILD.gn
+++ b/chromium/content/gpu/BUILD.gn
@@ -90,6 +90,12 @@ target(link_target_type, "gpu_sources") {
"//third_party/angle:libEGL",
"//third_party/angle:libGLESv2",
]
+ if (use_qt) {
+ deps -= [
+ "//third_party/angle:libEGL",
+ "//third_party/angle:libGLESv2",
+ ]
+ }
}
if (is_chromeos && current_cpu != "arm") {
diff --git a/chromium/media/gpu/BUILD.gn b/chromium/media/gpu/BUILD.gn
index e026eee6778..1083106eb2e 100644
--- a/chromium/media/gpu/BUILD.gn
+++ b/chromium/media/gpu/BUILD.gn
@@ -411,10 +411,12 @@ if (is_win || is_android || is_chromeos) {
if (is_win) {
# TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
- deps += [
- "//third_party/angle:libEGL",
- "//third_party/angle:libGLESv2",
- ]
+ if (!use_qt) {
+ deps += [
+ "//third_party/angle:libEGL",
+ "//third_party/angle:libGLESv2",
+ ]
+ }
}
if (use_x11) {
diff --git a/chromium/ui/compositor/BUILD.gn b/chromium/ui/compositor/BUILD.gn
index a3c781b10f1..6fec9ddf457 100644
--- a/chromium/ui/compositor/BUILD.gn
+++ b/chromium/ui/compositor/BUILD.gn
@@ -99,6 +99,12 @@ component("compositor") {
"//third_party/angle:libGLESv2",
"//ui/resources",
]
+ if (use_qt) {
+ deps -= [
+ "//third_party/angle:libEGL",
+ "//third_party/angle:libGLESv2",
+ ]
+ }
}
}
diff --git a/chromium/ui/gl/BUILD.gn b/chromium/ui/gl/BUILD.gn
index 79871957c16..d41f5c8c239 100644
--- a/chromium/ui/gl/BUILD.gn
+++ b/chromium/ui/gl/BUILD.gn
@@ -282,6 +282,13 @@ component("gl") {
deps += [ ":gl_jni_headers" ]
}
+
+ if (use_qt && (is_win || use_x11)) {
+ data_deps -= [
+ "//third_party/angle:libEGL",
+ "//third_party/angle:libGLESv2",
+ ]
+ }
}
static_library("gl_unittest_utils") {
diff --git a/chromium/ui/gl/init/gl_initializer_win.cc b/chromium/ui/gl/init/gl_initializer_win.cc
index c8648a761c7..7ea08c54082 100644
--- a/chromium/ui/gl/init/gl_initializer_win.cc
+++ b/chromium/ui/gl/init/gl_initializer_win.cc
@@ -35,6 +35,14 @@ namespace {
const wchar_t kD3DCompiler[] = L"D3DCompiler_47.dll";
+#if defined(NDEBUG) || !defined(TOOLKIT_QT)
+const wchar_t kGLESv2Library[] = L"libglesv2.dll";
+const wchar_t kEGLLibrary[] = L"libegl.dll";
+#else
+const wchar_t kGLESv2Library[] = L"libglesv2d.dll";
+const wchar_t kEGLLibrary[] = L"libegld.dll";
+#endif
+
bool LoadD3DXLibrary(const base::FilePath& module_path,
const base::FilePath::StringType& name) {
base::NativeLibrary library =
@@ -117,18 +125,18 @@ bool InitializeStaticEGLInternal() {
// the former and if there is another version of libglesv2.dll in the dll
// search path, it will get loaded instead.
base::NativeLibrary gles_library =
- base::LoadNativeLibrary(gles_path.Append(L"libglesv2.dll"), nullptr);
+ base::LoadNativeLibrary(gles_path.Append(kGLESv2Library), nullptr);
if (!gles_library) {
- DVLOG(1) << "libglesv2.dll not found";
+ DVLOG(1) << kGLESv2Library << "not found";
return false;
}
// When using EGL, first try eglGetProcAddress and then Windows
// GetProcAddress on both the EGL and GLES2 DLLs.
base::NativeLibrary egl_library =
- base::LoadNativeLibrary(gles_path.Append(L"libegl.dll"), nullptr);
+ base::LoadNativeLibrary(gles_path.Append(kEGLLibrary), nullptr);
if (!egl_library) {
- DVLOG(1) << "libegl.dll not found.";
+ DVLOG(1) << kEGLLibrary << "not found.";
base::UnloadNativeLibrary(gles_library);
return false;
}