Commit a4ab5804 by Yuly Novikov Committed by Commit Bot

Remove libEGL dependency on libANGLE

libEGL should use libGLESv2 for EGL implementation, to prevent libANGLE global variables being duplicated. BUG=angleproject:1660 Change-Id: I84c1e22fcce8f4a21acfb1fcde0c84ebd77204f8 Reviewed-on: https://chromium-review.googlesource.com/422574Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
parent 2a19313f
...@@ -281,15 +281,9 @@ config("libANGLE_config") { ...@@ -281,15 +281,9 @@ config("libANGLE_config") {
] ]
if (is_win) { if (is_win) {
defines += [ defines += [ "GL_APICALL=" ]
"GL_APICALL=",
"EGLAPI=",
]
} else { } else {
defines += [ defines += [ "GL_APICALL=__attribute__((visibility(\"default\")))" ]
"GL_APICALL=__attribute__((visibility(\"default\")))",
"EGLAPI=__attribute__((visibility(\"default\")))",
]
} }
if (is_win) { if (is_win) {
cflags += [ "/wd4530" ] # C++ exception handler used, but unwind semantics are not enabled. cflags += [ "/wd4530" ] # C++ exception handler used, but unwind semantics are not enabled.
...@@ -473,10 +467,14 @@ shared_library("libEGL") { ...@@ -473,10 +467,14 @@ shared_library("libEGL") {
":debug_annotations_config", ":debug_annotations_config",
":extra_warnings", ":extra_warnings",
":internal_config", ":internal_config",
":libANGLE_config",
] ]
defines = [ "LIBEGL_IMPLEMENTATION" ] defines = [ "LIBEGL_IMPLEMENTATION" ]
if (is_win) {
defines += [ "EGLAPI=" ]
} else {
defines += [ "EGLAPI=__attribute__((visibility(\"default\")))" ]
}
deps = [ deps = [
":includes", ":includes",
......
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
'type': '<(angle_gl_library_type)', 'type': '<(angle_gl_library_type)',
'dependencies': 'dependencies':
[ [
'libANGLE',
'libGLESv2', 'libGLESv2',
], ],
'includes': 'includes':
...@@ -34,6 +33,24 @@ ...@@ -34,6 +33,24 @@
{ {
'msvs_requires_importlibrary' : 'true', 'msvs_requires_importlibrary' : 'true',
}], }],
['OS=="win"', {
'defines':
[
'EGLAPI=',
],
}, {
'defines':
[
'EGLAPI=__attribute__((visibility("default")))',
],
}],
['OS == "mac"',
{
'xcode_settings':
{
'DYLIB_INSTALL_NAME_BASE': '@rpath',
},
}],
], ],
}, },
], ],
......
...@@ -763,13 +763,11 @@ ...@@ -763,13 +763,11 @@
'defines': 'defines':
[ [
'GL_APICALL=', 'GL_APICALL=',
'EGLAPI=',
], ],
}, { }, {
'defines': 'defines':
[ [
'GL_APICALL=__attribute__((visibility("default")))', 'GL_APICALL=__attribute__((visibility("default")))',
'EGLAPI=__attribute__((visibility("default")))',
], ],
}], }],
['OS == "mac"', ['OS == "mac"',
......
...@@ -1718,6 +1718,8 @@ ...@@ -1718,6 +1718,8 @@
'dependencies': 'dependencies':
[ [
'angle_deqp_libgles2', 'angle_deqp_libgles2',
# Real dependency is in angle_deqp_libtester, however, not propagated here by GYP
'<(angle_path)/src/angle.gyp:libEGL',
], ],
'sources': 'sources':
[ [
...@@ -1731,6 +1733,8 @@ ...@@ -1731,6 +1733,8 @@
'dependencies': 'dependencies':
[ [
'angle_deqp_libgles3', 'angle_deqp_libgles3',
# Real dependency is in angle_deqp_libtester, however, not propagated here by GYP
'<(angle_path)/src/angle.gyp:libEGL',
], ],
'sources': 'sources':
[ [
...@@ -1744,6 +1748,8 @@ ...@@ -1744,6 +1748,8 @@
'dependencies': 'dependencies':
[ [
'angle_deqp_libgles31', 'angle_deqp_libgles31',
# Real dependency is in angle_deqp_libtester, however, not propagated here by GYP
'<(angle_path)/src/angle.gyp:libEGL',
], ],
'sources': 'sources':
[ [
...@@ -1757,6 +1763,8 @@ ...@@ -1757,6 +1763,8 @@
'dependencies': 'dependencies':
[ [
'angle_deqp_libegl', 'angle_deqp_libegl',
# Real dependency is in angle_deqp_libtester, however, not propagated here by GYP
'<(angle_path)/src/angle.gyp:libEGL',
], ],
'sources': 'sources':
[ [
...@@ -1861,6 +1869,8 @@ ...@@ -1861,6 +1869,8 @@
[ [
'angle_deqp_gtest_support', 'angle_deqp_gtest_support',
'angle_deqp_libgles2', 'angle_deqp_libgles2',
# Real dependency is in angle_deqp_libtester, however, not propagated here by GYP
'<(angle_path)/src/angle.gyp:libEGL',
], ],
'sources': 'sources':
[ [
...@@ -1876,6 +1886,8 @@ ...@@ -1876,6 +1886,8 @@
[ [
'angle_deqp_gtest_support', 'angle_deqp_gtest_support',
'angle_deqp_libgles3', 'angle_deqp_libgles3',
# Real dependency is in angle_deqp_libtester, however, not propagated here by GYP
'<(angle_path)/src/angle.gyp:libEGL',
], ],
'sources': 'sources':
[ [
...@@ -1891,6 +1903,8 @@ ...@@ -1891,6 +1903,8 @@
[ [
'angle_deqp_gtest_support', 'angle_deqp_gtest_support',
'angle_deqp_libgles31', 'angle_deqp_libgles31',
# Real dependency is in angle_deqp_libtester, however, not propagated here by GYP
'<(angle_path)/src/angle.gyp:libEGL',
], ],
'sources': 'sources':
[ [
...@@ -1906,6 +1920,8 @@ ...@@ -1906,6 +1920,8 @@
[ [
'angle_deqp_gtest_support', 'angle_deqp_gtest_support',
'angle_deqp_libegl', 'angle_deqp_libegl',
# Real dependency is in angle_deqp_libtester, however, not propagated here by GYP
'<(angle_path)/src/angle.gyp:libEGL',
], ],
'sources': 'sources':
[ [
......
...@@ -3,11 +3,11 @@ ...@@ -3,11 +3,11 @@
#include <EGL/egl.h> #include <EGL/egl.h>
#include <EGL/eglext.h> #include <EGL/eglext.h>
typedef EGLAPI EGLDisplay EGLAPIENTRY EGLGetDisplay(EGLNativeDisplayType display_id); typedef EGLDisplay EGLAPIENTRY EGLGetDisplay(EGLNativeDisplayType display_id);
typedef EGLAPI EGLBoolean EGLAPIENTRY EGLInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor); typedef EGLBoolean EGLAPIENTRY EGLInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor);
typedef EGLAPI EGLContext EGLAPIENTRY EGLGetCurrentContext(void); typedef EGLContext EGLAPIENTRY EGLGetCurrentContext(void);
typedef EGLAPI EGLSurface EGLAPIENTRY EGLGetCurrentSurface(EGLint readdraw); typedef EGLSurface EGLAPIENTRY EGLGetCurrentSurface(EGLint readdraw);
typedef EGLAPI EGLBoolean EGLAPIENTRY EGLTerminate(EGLDisplay dpy); typedef EGLBoolean EGLAPIENTRY EGLTerminate(EGLDisplay dpy);
class EGLThreadTest : public testing::Test class EGLThreadTest : public testing::Test
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment