diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2023-04-03 16:43:12 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2023-04-26 11:24:27 +0000 |
commit | e05471ecc625e9301e70ea809ada3388cb4fb8c4 (patch) | |
tree | 9b86ec743208b9ddaa87c22899813bd5b6cdf958 | |
parent | e87f8644fa492b8ffc4d2a9e1e4a0f7a1a7719a0 (diff) | |
download | qtwebengine-chromium-e05471ecc625e9301e70ea809ada3388cb4fb8c4.tar.gz |
Avoid exporting API from static ANGLE builds
Change-Id: I28a2920b80d8c8b68a7419b7a8df2f13a1aa9291
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/470612
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
6 files changed, 16 insertions, 11 deletions
diff --git a/chromium/third_party/angle/src/common/gl/cgl/FunctionsCGL.cpp b/chromium/third_party/angle/src/common/gl/cgl/FunctionsCGL.cpp index 3e5a37a567c..5e4986352ed 100644 --- a/chromium/third_party/angle/src/common/gl/cgl/FunctionsCGL.cpp +++ b/chromium/third_party/angle/src/common/gl/cgl/FunctionsCGL.cpp @@ -9,7 +9,7 @@ #include "common/gl/cgl/FunctionsCGL.h" #include "common/platform.h" -#if defined(ANGLE_PLATFORM_MACOS) || defined(ANGLE_PLATFORM_MACCATALYST) +#if (defined(ANGLE_PLATFORM_MACOS) || defined(ANGLE_PLATFORM_MACCATALYST)) && !defined(ANGLE_STATIC) SOFT_LINK_FRAMEWORK_SOURCE(OpenGL) diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.h b/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.h index 7101cd271c0..efa3a3cf3be 100644 --- a/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.h +++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.h @@ -18,7 +18,8 @@ struct __IOSurface; typedef __IOSurface *IOSurfaceRef; // WebKit's build process requires that every Objective-C class name has the prefix "Web". -@class WebSwapCGLLayer; +// ### Changed to QWE for QtWebEngine +@class QWESwapCGLLayer; namespace rx { @@ -89,7 +90,7 @@ class WindowSurfaceCGL : public SurfaceGL gl::Framebuffer *framebuffer) override; private: - WebSwapCGLLayer *mSwapLayer; + QWESwapCGLLayer *mSwapLayer; SharedSwapState mSwapState; uint64_t mCurrentSwapId; diff --git a/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm b/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm index 27990e9c2fa..a740de6d3fc 100644 --- a/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm +++ b/chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm @@ -24,7 +24,7 @@ # include "libANGLE/renderer/gl/StateManagerGL.h" # include "libANGLE/renderer/gl/cgl/DisplayCGL.h" -@interface WebSwapCGLLayer : CAOpenGLLayer { +@interface QWESwapCGLLayer : CAOpenGLLayer { CGLContextObj mDisplayContext; bool initialized; @@ -38,7 +38,7 @@ withFunctions:(const rx::FunctionsGL *)functions; @end -@implementation WebSwapCGLLayer +@implementation QWESwapCGLLayer - (id)initWithSharedState:(rx::SharedSwapState *)swapState withContext:(CGLContextObj)displayContext withFunctions:(const rx::FunctionsGL *)functions @@ -220,7 +220,7 @@ egl::Error WindowSurfaceCGL::initialize(const egl::Display *display) mSwapState.lastRendered = &mSwapState.textures[1]; mSwapState.beingPresented = &mSwapState.textures[2]; - mSwapLayer = [[WebSwapCGLLayer alloc] initWithSharedState:&mSwapState + mSwapLayer = [[QWESwapCGLLayer alloc] initWithSharedState:&mSwapState withContext:mContext withFunctions:mFunctions]; [mLayer addSublayer:mSwapLayer]; diff --git a/chromium/third_party/angle/src/libEGL/libEGL_autogen.cpp b/chromium/third_party/angle/src/libEGL/libEGL_autogen.cpp index 432ae26ce0a..ea79c49254c 100644 --- a/chromium/third_party/angle/src/libEGL/libEGL_autogen.cpp +++ b/chromium/third_party/angle/src/libEGL/libEGL_autogen.cpp @@ -10,6 +10,7 @@ #include "anglebase/no_destructor.h" #include "common/system_utils.h" +#if !defined(ANGLE_STATIC) #include <memory> #if defined(ANGLE_USE_EGL_LOADER) @@ -915,3 +916,4 @@ EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalAttribsNV(EGLDisplay dp } } // extern "C" +#endif diff --git a/chromium/third_party/angle/src/libGLESv2/libGLESv2_autogen.cpp b/chromium/third_party/angle/src/libGLESv2/libGLESv2_autogen.cpp index 078dc810a07..4cfea329ff5 100644 --- a/chromium/third_party/angle/src/libGLESv2/libGLESv2_autogen.cpp +++ b/chromium/third_party/angle/src/libGLESv2/libGLESv2_autogen.cpp @@ -9,6 +9,7 @@ #include "angle_gl.h" +#if !defined(ANGLE_STATIC) #include "libGLESv2/entry_points_gles_1_0_autogen.h" #include "libGLESv2/entry_points_gles_2_0_autogen.h" #include "libGLESv2/entry_points_gles_3_0_autogen.h" @@ -9702,3 +9703,4 @@ void GL_APIENTRY glSpecializeShader(GLuint shader, #endif // defined(ANGLE_ENABLE_GL_DESKTOP_FRONTEND) } // extern "C" +#endif // !defined(ANGLE_STATIC) diff --git a/chromium/ui/gl/init/gl_initializer_angle.cc b/chromium/ui/gl/init/gl_initializer_angle.cc index 20ee2b64a71..d12b338eb40 100644 --- a/chromium/ui/gl/init/gl_initializer_angle.cc +++ b/chromium/ui/gl/init/gl_initializer_angle.cc @@ -4,16 +4,16 @@ #include "ui/gl/init/gl_initializer.h" -#include <EGL/egl.h> +extern "C" { +typedef void (*__eglMustCastToProperFunctionPointerType)(void); +extern __eglMustCastToProperFunctionPointerType EGL_GetProcAddress(const char *procname); +} namespace gl { namespace init { bool InitializeStaticANGLEEGL() { -#pragma push_macro("eglGetProcAddress") -#undef eglGetProcAddress - SetGLGetProcAddressProc(&eglGetProcAddress); -#pragma pop_macro("eglGetProcAddress") + SetGLGetProcAddressProc(&EGL_GetProcAddress); return true; } |