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/422574
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
This commit is contained in:
Yuly Novikov 2016-12-19 17:44:22 -05:00 коммит произвёл Commit Bot
Родитель 2a19313f84
Коммит a4ab58044a
5 изменённых файлов: 46 добавлений и 17 удалений

Просмотреть файл

@ -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
{