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") {
]
if (is_win) {
defines += [
"GL_APICALL=",
"EGLAPI=",
]
defines += [ "GL_APICALL=" ]
} else {
defines += [
"GL_APICALL=__attribute__((visibility(\"default\")))",
"EGLAPI=__attribute__((visibility(\"default\")))",
]
defines += [ "GL_APICALL=__attribute__((visibility(\"default\")))" ]
}
if (is_win) {
cflags += [ "/wd4530" ] # C++ exception handler used, but unwind semantics are not enabled.
......@@ -473,10 +467,14 @@ shared_library("libEGL") {
":debug_annotations_config",
":extra_warnings",
":internal_config",
":libANGLE_config",
]
defines = [ "LIBEGL_IMPLEMENTATION" ]
if (is_win) {
defines += [ "EGLAPI=" ]
} else {
defines += [ "EGLAPI=__attribute__((visibility(\"default\")))" ]
}
deps = [
":includes",
......
......@@ -12,7 +12,6 @@
'type': '<(angle_gl_library_type)',
'dependencies':
[
'libANGLE',
'libGLESv2',
],
'includes':
......@@ -34,6 +33,24 @@
{
'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 @@
'defines':
[
'GL_APICALL=',
'EGLAPI=',
],
}, {
'defines':
[
'GL_APICALL=__attribute__((visibility("default")))',
'EGLAPI=__attribute__((visibility("default")))',
],
}],
['OS == "mac"',
......
......@@ -1718,6 +1718,8 @@
'dependencies':
[
'angle_deqp_libgles2',
# Real dependency is in angle_deqp_libtester, however, not propagated here by GYP
'<(angle_path)/src/angle.gyp:libEGL',
],
'sources':
[
......@@ -1731,6 +1733,8 @@
'dependencies':
[
'angle_deqp_libgles3',
# Real dependency is in angle_deqp_libtester, however, not propagated here by GYP
'<(angle_path)/src/angle.gyp:libEGL',
],
'sources':
[
......@@ -1744,6 +1748,8 @@
'dependencies':
[
'angle_deqp_libgles31',
# Real dependency is in angle_deqp_libtester, however, not propagated here by GYP
'<(angle_path)/src/angle.gyp:libEGL',
],
'sources':
[
......@@ -1757,6 +1763,8 @@
'dependencies':
[
'angle_deqp_libegl',
# Real dependency is in angle_deqp_libtester, however, not propagated here by GYP
'<(angle_path)/src/angle.gyp:libEGL',
],
'sources':
[
......@@ -1861,6 +1869,8 @@
[
'angle_deqp_gtest_support',
'angle_deqp_libgles2',
# Real dependency is in angle_deqp_libtester, however, not propagated here by GYP
'<(angle_path)/src/angle.gyp:libEGL',
],
'sources':
[
......@@ -1876,6 +1886,8 @@
[
'angle_deqp_gtest_support',
'angle_deqp_libgles3',
# Real dependency is in angle_deqp_libtester, however, not propagated here by GYP
'<(angle_path)/src/angle.gyp:libEGL',
],
'sources':
[
......@@ -1891,6 +1903,8 @@
[
'angle_deqp_gtest_support',
'angle_deqp_libgles31',
# Real dependency is in angle_deqp_libtester, however, not propagated here by GYP
'<(angle_path)/src/angle.gyp:libEGL',
],
'sources':
[
......@@ -1906,6 +1920,8 @@
[
'angle_deqp_gtest_support',
'angle_deqp_libegl',
# Real dependency is in angle_deqp_libtester, however, not propagated here by GYP
'<(angle_path)/src/angle.gyp:libEGL',
],
'sources':
[
......
......@@ -3,11 +3,11 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
typedef EGLAPI EGLDisplay EGLAPIENTRY EGLGetDisplay(EGLNativeDisplayType display_id);
typedef EGLAPI EGLBoolean EGLAPIENTRY EGLInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor);
typedef EGLAPI EGLContext EGLAPIENTRY EGLGetCurrentContext(void);
typedef EGLAPI EGLSurface EGLAPIENTRY EGLGetCurrentSurface(EGLint readdraw);
typedef EGLAPI EGLBoolean EGLAPIENTRY EGLTerminate(EGLDisplay dpy);
typedef EGLDisplay EGLAPIENTRY EGLGetDisplay(EGLNativeDisplayType display_id);
typedef EGLBoolean EGLAPIENTRY EGLInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor);
typedef EGLContext EGLAPIENTRY EGLGetCurrentContext(void);
typedef EGLSurface EGLAPIENTRY EGLGetCurrentSurface(EGLint readdraw);
typedef EGLBoolean EGLAPIENTRY EGLTerminate(EGLDisplay dpy);
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