summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2023-04-03 16:43:12 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2023-04-26 11:24:27 +0000
commite05471ecc625e9301e70ea809ada3388cb4fb8c4 (patch)
tree9b86ec743208b9ddaa87c22899813bd5b6cdf958
parente87f8644fa492b8ffc4d2a9e1e4a0f7a1a7719a0 (diff)
downloadqtwebengine-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>
-rw-r--r--chromium/third_party/angle/src/common/gl/cgl/FunctionsCGL.cpp2
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.h5
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm6
-rw-r--r--chromium/third_party/angle/src/libEGL/libEGL_autogen.cpp2
-rw-r--r--chromium/third_party/angle/src/libGLESv2/libGLESv2_autogen.cpp2
-rw-r--r--chromium/ui/gl/init/gl_initializer_angle.cc10
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;
}