Title: [278130] trunk
Revision
278130
Author
don.olmst...@sony.com
Date
2021-05-26 15:49:13 -0700 (Wed, 26 May 2021)

Log Message

[CMake] Support USE_ANGLE_EGL on additional platforms
https://bugs.webkit.org/show_bug.cgi?id=224888
<rdar://problem/77280211>

Reviewed by Ken Russell.

.:

USE_ANGLE_EGL is for platforms that want to use ANGLE as the sole OpenGL ES implementation
within WebKit. This setting is applicable to Mac and Windows platforms. USE_ANGLE_WEBGL is
just for platforms that want to use ANGLE for WebGL 2.0 support only. Any other uses of
OpenGL should go through the system OpenGL (desktop or embedded). This setting applies to
GTK.

The platform options were modified to match this.

* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsMac.cmake:

Source/ThirdParty/ANGLE:

Support ANGLE using the OpenGL backend for GTK. Support ANGLE using Metal
backend for Mac. Add the generated sources for these two backends.

Clean up the CMake and introduce additional targets.

* CMakeLists.txt:
* Compiler.cmake:
* GL.cmake: Added.
* Metal.cmake: Added.
* PlatformFTW.cmake:
* PlatformGTK.cmake:
* PlatformMac.cmake:
* PlatformWin.cmake:

Source/WebCore:

Use the ANGLE library targets when applicable.

* CMakeLists.txt:
* Headers.cmake:

Source/WebKit:

Use the ANGLE library targets when applicable.

* CMakeLists.txt:

Tools:

Generate source listings for Metal and OpenGL ANGLE backends.

* Scripts/update-angle:

Modified Paths

Added Paths

Diff

Modified: trunk/ChangeLog (278129 => 278130)


--- trunk/ChangeLog	2021-05-26 22:46:05 UTC (rev 278129)
+++ trunk/ChangeLog	2021-05-26 22:49:13 UTC (rev 278130)
@@ -1,3 +1,22 @@
+2021-05-26  Don Olmstead  <don.olmst...@sony.com>
+
+        [CMake] Support USE_ANGLE_EGL on additional platforms
+        https://bugs.webkit.org/show_bug.cgi?id=224888
+        <rdar://problem/77280211>
+
+        Reviewed by Ken Russell.
+
+        USE_ANGLE_EGL is for platforms that want to use ANGLE as the sole OpenGL ES implementation
+        within WebKit. This setting is applicable to Mac and Windows platforms. USE_ANGLE_WEBGL is
+        just for platforms that want to use ANGLE for WebGL 2.0 support only. Any other uses of
+        OpenGL should go through the system OpenGL (desktop or embedded). This setting applies to
+        GTK.
+
+        The platform options were modified to match this. 
+
+        * Source/cmake/OptionsGTK.cmake:
+        * Source/cmake/OptionsMac.cmake:
+
 2021-05-25  Don Olmstead  <don.olmst...@sony.com>
 
         [PlayStation] Implement FileSystem without std::filesystem

Modified: trunk/Source/ThirdParty/ANGLE/CMakeLists.txt (278129 => 278130)


--- trunk/Source/ThirdParty/ANGLE/CMakeLists.txt	2021-05-26 22:46:05 UTC (rev 278129)
+++ trunk/Source/ThirdParty/ANGLE/CMakeLists.txt	2021-05-26 22:49:13 UTC (rev 278130)
@@ -1,19 +1,26 @@
-if (UNIX AND NOT APPLE)
-    set(is_linux TRUE)
-endif()
-if (WIN32)
+set_property(DIRECTORY . PROPERTY FOLDER "ANGLE")
+
+if (APPLE)
+    set(is_mac TRUE)
+elseif (WIN32)
     set(is_win TRUE)
     set(angle_enable_d3d9 TRUE)
     set(angle_enable_d3d11 TRUE)
     set(angle_is_winuwp FALSE)
-endif()
-if (APPLE)
-    set(is_mac TRUE)
-endif()
+elseif (UNIX)
+    set(is_linux TRUE)
+    if (ENABLE_X11_TARGET)
+        set(angle_use_x11 TRUE)
+    endif ()
+endif ()
 
 include(Compiler.cmake)
 include(GLESv2.cmake)
+
+# ANGLE Renderer backends
 include(D3D.cmake)
+include(GL.cmake)
+include(Metal.cmake)
 
 set(no_gl_prototypes
     GL_GLES_PROTOTYPES=0
@@ -89,7 +96,6 @@
     endif()
 endif ()
 
-
 set(ANGLEGLESv2_LIBRARIES
     ANGLE
 )
@@ -111,7 +117,7 @@
 add_library(ANGLEFramework INTERFACE)
 add_dependencies(ANGLEFramework GLSLANGHeaders ANGLEHeaders)
 
-if (USE_ANGLE_EGL)
+if (USE_ANGLE_EGL OR USE_ANGLE_WEBGL)
     add_library(ANGLE STATIC
         ${ANGLE_SOURCES}
         ${libangle_sources}
@@ -127,24 +133,43 @@
         LIBANGLE_IMPLEMENTATION
     )
     target_compile_definitions(ANGLE PUBLIC ${ANGLE_DEFINITIONS})
+    target_link_libraries(ANGLE PRIVATE ZLIB::ZLIB)
 
+    target_compile_definitions(ANGLEFramework INTERFACE ${gl_prototypes})
+
     add_library(GLESv2 SHARED
         ${libglesv2_sources}
     )
     target_include_directories(GLESv2 PRIVATE ${ANGLE_PRIVATE_INCLUDE_DIRECTORIES})
-    target_compile_definitions(GLESv2 PRIVATE LIBGLESV2_IMPLEMENTATION)
-    target_link_libraries(GLESv2 ${ANGLEGLESv2_LIBRARIES})
+    target_compile_definitions(GLESv2 PRIVATE 
+        ${no_gl_prototypes}
+        LIBGLESV2_IMPLEMENTATION
+    )
+    target_link_libraries(GLESv2 PRIVATE ${ANGLEGLESv2_LIBRARIES})
 
+    add_library(GLESv2Framework INTERFACE)
+    target_link_libraries(GLESv2Framework INTERFACE GLESv2)
+    target_include_directories(GLESv2Framework INTERFACE ${ANGLE_FRAMEWORK_HEADERS_DIR})
+    add_library(ANGLE::GLES ALIAS GLESv2Framework)
+
     add_library(EGL SHARED
         ${libegl_sources}
     )
     target_include_directories(EGL PRIVATE ${ANGLE_PRIVATE_INCLUDE_DIRECTORIES})
     target_compile_definitions(EGL PRIVATE
+        ${ANGLE_DEFINITIONS}
         ${gl_prototypes}
         EGLAPI=
     )
-    target_link_libraries(EGL GLESv2)
+    target_link_libraries(EGL PRIVATE GLESv2)
+    set_target_properties(EGL PROPERTIES LINKER_LANGUAGE CXX)
 
+    add_library(EGLFramework INTERFACE)
+    target_include_directories(EGLFramework INTERFACE ${ANGLE_FRAMEWORK_HEADERS_DIR}/)
+    target_compile_definitions(EGLFramework INTERFACE ${gl_prototypes})
+    target_link_libraries(EGLFramework INTERFACE EGL)
+    add_library(ANGLE::EGL ALIAS EGLFramework)
+
     if (WIN32)
         target_sources(GLESv2 PRIVATE src/libGLESv2/libGLESv2_autogen.def)
         target_sources(EGL PRIVATE src/libEGL/libEGL.def)
@@ -153,17 +178,6 @@
         set_target_properties(GLESv2 PROPERTIES OUTPUT_NAME libGLESv2)
         set_target_properties(EGL PROPERTIES OUTPUT_NAME libEGL)
     endif ()
-
-    target_link_libraries(ANGLEFramework INTERFACE EGL GLESv2)
-    target_compile_definitions(ANGLEFramework INTERFACE ${gl_prototypes})
-
-    if (NOT TARGET OpenGL::GLES)
-        add_library(GLESv2Framework INTERFACE)
-        target_link_libraries(GLESv2Framework INTERFACE GLESv2)
-        target_include_directories(GLESv2Framework INTERFACE ${ANGLE_FRAMEWORK_HEADERS_DIR})
-
-        add_library(OpenGL::GLES ALIAS GLESv2Framework)
-    endif ()
 else ()
     add_library(ANGLE STATIC ${ANGLE_SOURCES})
     target_include_directories(ANGLE PRIVATE ${ANGLE_PRIVATE_INCLUDE_DIRECTORIES})
@@ -205,7 +219,7 @@
             ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/adjust-angle-include-paths.py
         VERBATIM
     )
-    add_dependencies(ANGLEFramework ANGLE-webgl-headers)
+    add_dependencies(GLESv2Framework ANGLE-webgl-headers)
 endif ()
 
 if (COMPILER_IS_GCC_OR_CLANG)
@@ -220,4 +234,4 @@
 target_link_libraries(ANGLEFramework INTERFACE ANGLE)
 target_include_directories(ANGLEFramework INTERFACE ${ANGLE_FRAMEWORK_HEADERS_DIR})
 
-set_property(DIRECTORY . PROPERTY FOLDER "ANGLE")
+add_library(ANGLE::ANGLE ALIAS ANGLEFramework)

Modified: trunk/Source/ThirdParty/ANGLE/ChangeLog (278129 => 278130)


--- trunk/Source/ThirdParty/ANGLE/ChangeLog	2021-05-26 22:46:05 UTC (rev 278129)
+++ trunk/Source/ThirdParty/ANGLE/ChangeLog	2021-05-26 22:49:13 UTC (rev 278130)
@@ -1,3 +1,25 @@
+2021-05-26  Don Olmstead  <don.olmst...@sony.com>
+
+        [CMake] Support USE_ANGLE_EGL on additional platforms
+        https://bugs.webkit.org/show_bug.cgi?id=224888
+        <rdar://problem/77280211>
+
+        Reviewed by Ken Russell.
+
+        Support ANGLE using the OpenGL backend for GTK. Support ANGLE using Metal
+        backend for Mac. Add the generated sources for these two backends.
+
+        Clean up the CMake and introduce additional targets.
+
+        * CMakeLists.txt:
+        * Compiler.cmake:
+        * GL.cmake: Added.
+        * Metal.cmake: Added.
+        * PlatformFTW.cmake:
+        * PlatformGTK.cmake:
+        * PlatformMac.cmake:
+        * PlatformWin.cmake:
+
 2021-05-20  Kyle Piddington  <kpidding...@apple.com>
 
         [Metal ANGLE] Handle NAN constant folding correctly

Modified: trunk/Source/ThirdParty/ANGLE/Compiler.cmake (278129 => 278130)


--- trunk/Source/ThirdParty/ANGLE/Compiler.cmake	2021-05-26 22:46:05 UTC (rev 278129)
+++ trunk/Source/ThirdParty/ANGLE/Compiler.cmake	2021-05-26 22:49:13 UTC (rev 278130)
@@ -357,10 +357,13 @@
     "src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp"
     "src/compiler/translator/TranslatorMetalDirect/EmitMetal.h"
     "src/compiler/translator/TranslatorMetalDirect/EnvironmentVariable.h"
+    "src/compiler/translator/TranslatorMetalDirect/FixTypeConstructors.cpp"
     "src/compiler/translator/TranslatorMetalDirect/HoistConstants.cpp"
     "src/compiler/translator/TranslatorMetalDirect/HoistConstants.h"
     "src/compiler/translator/TranslatorMetalDirect/IdGen.cpp"
     "src/compiler/translator/TranslatorMetalDirect/IdGen.h"
+    "src/compiler/translator/TranslatorMetalDirect/IntroduceVertexIndexID.cpp"
+    "src/compiler/translator/TranslatorMetalDirect/IntroduceVertexIndexID.h"
     "src/compiler/translator/TranslatorMetalDirect/Layout.cpp"
     "src/compiler/translator/TranslatorMetalDirect/Layout.h"
     "src/compiler/translator/TranslatorMetalDirect/MapFunctionsToDefinitions.cpp"
@@ -371,7 +374,8 @@
     "src/compiler/translator/TranslatorMetalDirect/ModifyStruct.h"
     "src/compiler/translator/TranslatorMetalDirect/Name.cpp"
     "src/compiler/translator/TranslatorMetalDirect/Name.h"
-    "src/compiler/translator/TranslatorMetalDirect/NodeType.h"
+    "src/compiler/translator/TranslatorMetalDirect/NameEmbeddedUniformStructsMetal.cpp"
+    "src/compiler/translator/TranslatorMetalDirect/NameEmbeddedUniformStructsMetal.h"
     "src/compiler/translator/TranslatorMetalDirect/Pipeline.cpp"
     "src/compiler/translator/TranslatorMetalDirect/Pipeline.h"
     "src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp"
@@ -402,10 +406,6 @@
     "src/compiler/translator/TranslatorMetalDirect/ToposortStructs.h"
     "src/compiler/translator/TranslatorMetalDirect/WrapMain.cpp"
     "src/compiler/translator/TranslatorMetalDirect/WrapMain.h"
-    "src/compiler/translator/TranslatorMetalDirect/TransposeRowMajorMatrices.cpp"
-    "src/compiler/translator/TranslatorMetalDirect/TransposeRowMajorMatrices.h"
-    "src/compiler/translator/TranslatorMetalDirect/IntroduceVertexIndexID.cpp"
-    "src/compiler/translator/TranslatorMetalDirect/IntroduceVertexIndexID.h"
     "src/compiler/translator/TranslatorMetalUtils.cpp"
     "src/compiler/translator/TranslatorMetalUtils.h"
 )

Added: trunk/Source/ThirdParty/ANGLE/GL.cmake (0 => 278130)


--- trunk/Source/ThirdParty/ANGLE/GL.cmake	                        (rev 0)
+++ trunk/Source/ThirdParty/ANGLE/GL.cmake	2021-05-26 22:49:13 UTC (rev 278130)
@@ -0,0 +1,205 @@
+# This file was generated with the command:
+# "./gni-to-cmake.py" "src/libANGLE/renderer/gl/BUILD.gn" "GL.cmake" "--prepend" "src/libANGLE/renderer/gl/"
+
+# Copyright 2020 The ANGLE Project Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# This file houses the build configuration for the ANGLE GL back-ends.
+
+
+
+
+
+
+set(_gl_backend_sources
+    "src/libANGLE/renderer/gl/BlitGL.cpp"
+    "src/libANGLE/renderer/gl/BlitGL.h"
+    "src/libANGLE/renderer/gl/BufferGL.cpp"
+    "src/libANGLE/renderer/gl/BufferGL.h"
+    "src/libANGLE/renderer/gl/ClearMultiviewGL.cpp"
+    "src/libANGLE/renderer/gl/ClearMultiviewGL.h"
+    "src/libANGLE/renderer/gl/CompilerGL.cpp"
+    "src/libANGLE/renderer/gl/CompilerGL.h"
+    "src/libANGLE/renderer/gl/ContextGL.cpp"
+    "src/libANGLE/renderer/gl/ContextGL.h"
+    "src/libANGLE/renderer/gl/DispatchTableGL_autogen.cpp"
+    "src/libANGLE/renderer/gl/DispatchTableGL_autogen.h"
+    "src/libANGLE/renderer/gl/DisplayGL.cpp"
+    "src/libANGLE/renderer/gl/DisplayGL.h"
+    "src/libANGLE/renderer/gl/FenceNVGL.cpp"
+    "src/libANGLE/renderer/gl/FenceNVGL.h"
+    "src/libANGLE/renderer/gl/FramebufferGL.cpp"
+    "src/libANGLE/renderer/gl/FramebufferGL.h"
+    "src/libANGLE/renderer/gl/FunctionsGL.cpp"
+    "src/libANGLE/renderer/gl/FunctionsGL.h"
+    "src/libANGLE/renderer/gl/ImageGL.cpp"
+    "src/libANGLE/renderer/gl/ImageGL.h"
+    "src/libANGLE/renderer/gl/MemoryObjectGL.cpp"
+    "src/libANGLE/renderer/gl/MemoryObjectGL.h"
+    "src/libANGLE/renderer/gl/ProgramGL.cpp"
+    "src/libANGLE/renderer/gl/ProgramGL.h"
+    "src/libANGLE/renderer/gl/ProgramPipelineGL.cpp"
+    "src/libANGLE/renderer/gl/ProgramPipelineGL.h"
+    "src/libANGLE/renderer/gl/QueryGL.cpp"
+    "src/libANGLE/renderer/gl/QueryGL.h"
+    "src/libANGLE/renderer/gl/RenderbufferGL.cpp"
+    "src/libANGLE/renderer/gl/RenderbufferGL.h"
+    "src/libANGLE/renderer/gl/RendererGL.cpp"
+    "src/libANGLE/renderer/gl/RendererGL.h"
+    "src/libANGLE/renderer/gl/SamplerGL.cpp"
+    "src/libANGLE/renderer/gl/SamplerGL.h"
+    "src/libANGLE/renderer/gl/SemaphoreGL.cpp"
+    "src/libANGLE/renderer/gl/SemaphoreGL.h"
+    "src/libANGLE/renderer/gl/ShaderGL.cpp"
+    "src/libANGLE/renderer/gl/ShaderGL.h"
+    "src/libANGLE/renderer/gl/StateManagerGL.cpp"
+    "src/libANGLE/renderer/gl/StateManagerGL.h"
+    "src/libANGLE/renderer/gl/SurfaceGL.cpp"
+    "src/libANGLE/renderer/gl/SurfaceGL.h"
+    "src/libANGLE/renderer/gl/SyncGL.cpp"
+    "src/libANGLE/renderer/gl/SyncGL.h"
+    "src/libANGLE/renderer/gl/TextureGL.cpp"
+    "src/libANGLE/renderer/gl/TextureGL.h"
+    "src/libANGLE/renderer/gl/TransformFeedbackGL.cpp"
+    "src/libANGLE/renderer/gl/TransformFeedbackGL.h"
+    "src/libANGLE/renderer/gl/VertexArrayGL.cpp"
+    "src/libANGLE/renderer/gl/VertexArrayGL.h"
+    "src/libANGLE/renderer/gl/formatutilsgl.cpp"
+    "src/libANGLE/renderer/gl/formatutilsgl.h"
+    "src/libANGLE/renderer/gl/functionsgl_enums.h"
+    "src/libANGLE/renderer/gl/functionsgl_typedefs.h"
+    "src/libANGLE/renderer/gl/renderergl_utils.cpp"
+    "src/libANGLE/renderer/gl/renderergl_utils.h"
+)
+
+
+if(is_win)
+    list(APPEND _gl_backend_sources
+        "src/libANGLE/renderer/gl/../../../third_party/khronos/GL/wglext.h"
+        "src/libANGLE/renderer/gl/wgl/ContextWGL.cpp"
+        "src/libANGLE/renderer/gl/wgl/ContextWGL.h"
+        "src/libANGLE/renderer/gl/wgl/D3DTextureSurfaceWGL.cpp"
+        "src/libANGLE/renderer/gl/wgl/D3DTextureSurfaceWGL.h"
+        "src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.cpp"
+        "src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.h"
+        "src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp"
+        "src/libANGLE/renderer/gl/wgl/DisplayWGL.h"
+        "src/libANGLE/renderer/gl/wgl/FunctionsWGL.cpp"
+        "src/libANGLE/renderer/gl/wgl/FunctionsWGL.h"
+        "src/libANGLE/renderer/gl/wgl/PbufferSurfaceWGL.cpp"
+        "src/libANGLE/renderer/gl/wgl/PbufferSurfaceWGL.h"
+        "src/libANGLE/renderer/gl/wgl/RendererWGL.cpp"
+        "src/libANGLE/renderer/gl/wgl/RendererWGL.h"
+        "src/libANGLE/renderer/gl/wgl/SurfaceWGL.h"
+        "src/libANGLE/renderer/gl/wgl/WindowSurfaceWGL.cpp"
+        "src/libANGLE/renderer/gl/wgl/WindowSurfaceWGL.h"
+        "src/libANGLE/renderer/gl/wgl/functionswgl_typedefs.h"
+        "src/libANGLE/renderer/gl/wgl/wgl_utils.cpp"
+        "src/libANGLE/renderer/gl/wgl/wgl_utils.h"
+    )
+endif()
+
+
+if(angle_use_x11)
+    list(APPEND _gl_backend_sources
+        "src/libANGLE/renderer/gl/glx/DisplayGLX.cpp"
+        "src/libANGLE/renderer/gl/glx/DisplayGLX.h"
+        "src/libANGLE/renderer/gl/glx/FunctionsGLX.cpp"
+        "src/libANGLE/renderer/gl/glx/FunctionsGLX.h"
+        "src/libANGLE/renderer/gl/glx/PbufferSurfaceGLX.cpp"
+        "src/libANGLE/renderer/gl/glx/PbufferSurfaceGLX.h"
+        "src/libANGLE/renderer/gl/glx/PixmapSurfaceGLX.cpp"
+        "src/libANGLE/renderer/gl/glx/PixmapSurfaceGLX.h"
+        "src/libANGLE/renderer/gl/glx/RendererGLX.cpp"
+        "src/libANGLE/renderer/gl/glx/RendererGLX.h"
+        "src/libANGLE/renderer/gl/glx/SurfaceGLX.h"
+        "src/libANGLE/renderer/gl/glx/WindowSurfaceGLX.cpp"
+        "src/libANGLE/renderer/gl/glx/WindowSurfaceGLX.h"
+        "src/libANGLE/renderer/gl/glx/functionsglx_typedefs.h"
+        "src/libANGLE/renderer/gl/glx/glx_utils.cpp"
+        "src/libANGLE/renderer/gl/glx/glx_utils.h"
+        "src/libANGLE/renderer/gl/glx/platform_glx.h"
+    )
+endif()
+
+
+if(is_android OR is_linux OR is_chromeos)
+    list(APPEND _gl_backend_sources
+        "src/libANGLE/renderer/gl/egl/ContextEGL.cpp"
+        "src/libANGLE/renderer/gl/egl/ContextEGL.h"
+        "src/libANGLE/renderer/gl/egl/DisplayEGL.cpp"
+        "src/libANGLE/renderer/gl/egl/DisplayEGL.h"
+        "src/libANGLE/renderer/gl/egl/DmaBufImageSiblingEGL.cpp"
+        "src/libANGLE/renderer/gl/egl/DmaBufImageSiblingEGL.h"
+        "src/libANGLE/renderer/gl/egl/ExternalImageSiblingEGL.h"
+        "src/libANGLE/renderer/gl/egl/FunctionsEGL.cpp"
+        "src/libANGLE/renderer/gl/egl/FunctionsEGL.h"
+        "src/libANGLE/renderer/gl/egl/FunctionsEGLDL.cpp"
+        "src/libANGLE/renderer/gl/egl/FunctionsEGLDL.h"
+        "src/libANGLE/renderer/gl/egl/ImageEGL.cpp"
+        "src/libANGLE/renderer/gl/egl/ImageEGL.h"
+        "src/libANGLE/renderer/gl/egl/PbufferSurfaceEGL.cpp"
+        "src/libANGLE/renderer/gl/egl/PbufferSurfaceEGL.h"
+        "src/libANGLE/renderer/gl/egl/RendererEGL.cpp"
+        "src/libANGLE/renderer/gl/egl/RendererEGL.h"
+        "src/libANGLE/renderer/gl/egl/SurfaceEGL.cpp"
+        "src/libANGLE/renderer/gl/egl/SurfaceEGL.h"
+        "src/libANGLE/renderer/gl/egl/SyncEGL.cpp"
+        "src/libANGLE/renderer/gl/egl/SyncEGL.h"
+        "src/libANGLE/renderer/gl/egl/WindowSurfaceEGL.cpp"
+        "src/libANGLE/renderer/gl/egl/WindowSurfaceEGL.h"
+        "src/libANGLE/renderer/gl/egl/egl_utils.cpp"
+        "src/libANGLE/renderer/gl/egl/egl_utils.h"
+        "src/libANGLE/renderer/gl/egl/functionsegl_typedefs.h"
+    )
+endif()
+
+
+if(ozone_platform_gbm)
+    list(APPEND _gl_backend_sources
+        "src/libANGLE/renderer/gl/egl/gbm/DisplayGbm.cpp"
+        "src/libANGLE/renderer/gl/egl/gbm/DisplayGbm.h"
+        "src/libANGLE/renderer/gl/egl/gbm/SurfaceGbm.cpp"
+        "src/libANGLE/renderer/gl/egl/gbm/SurfaceGbm.h"
+    )
+endif()
+
+
+if(is_android)
+    list(APPEND _gl_backend_sources
+        "src/libANGLE/renderer/gl/egl/android/DisplayAndroid.cpp"
+        "src/libANGLE/renderer/gl/egl/android/DisplayAndroid.h"
+        "src/libANGLE/renderer/gl/egl/android/NativeBufferImageSiblingAndroid.cpp"
+        "src/libANGLE/renderer/gl/egl/android/NativeBufferImageSiblingAndroid.h"
+    )
+endif()
+
+
+if(is_mac)
+    list(APPEND _gl_backend_sources
+        "src/libANGLE/renderer/gl/cgl/ContextCGL.cpp"
+        "src/libANGLE/renderer/gl/cgl/ContextCGL.h"
+        "src/libANGLE/renderer/gl/cgl/DeviceCGL.cpp"
+        "src/libANGLE/renderer/gl/cgl/DeviceCGL.h"
+        "src/libANGLE/renderer/gl/cgl/DisplayCGL.h"
+        "src/libANGLE/renderer/gl/cgl/DisplayCGL.mm"
+        "src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp"
+        "src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.h"
+        "src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.cpp"
+        "src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.h"
+        "src/libANGLE/renderer/gl/cgl/RendererCGL.cpp"
+        "src/libANGLE/renderer/gl/cgl/RendererCGL.h"
+        "src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.h"
+        "src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm"
+    )
+endif()
+
+
+if(angle_enable_gl_null)
+    list(APPEND _gl_backend_sources
+        "src/libANGLE/renderer/gl/null_functions.cpp"
+        "src/libANGLE/renderer/gl/null_functions.h"
+    )
+endif()
+

Added: trunk/Source/ThirdParty/ANGLE/Metal.cmake (0 => 278130)


--- trunk/Source/ThirdParty/ANGLE/Metal.cmake	                        (rev 0)
+++ trunk/Source/ThirdParty/ANGLE/Metal.cmake	2021-05-26 22:49:13 UTC (rev 278130)
@@ -0,0 +1,79 @@
+# This file was generated with the command:
+# "./gni-to-cmake.py" "src/libANGLE/renderer/metal/BUILD.gn" "Metal.cmake" "--prepend" "src/libANGLE/renderer/metal/"
+
+# Copyright 2019 The ANGLE Project Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# This file houses the build configuration for the ANGLE Metal back-end.
+
+
+
+
+
+
+
+
+set(_metal_backend_sources
+    "src/libANGLE/renderer/metal/BufferMtl.h"
+    "src/libANGLE/renderer/metal/BufferMtl.mm"
+    "src/libANGLE/renderer/metal/CompilerMtl.h"
+    "src/libANGLE/renderer/metal/CompilerMtl.mm"
+    "src/libANGLE/renderer/metal/ContextMtl.h"
+    "src/libANGLE/renderer/metal/ContextMtl.mm"
+    "src/libANGLE/renderer/metal/DisplayMtl.h"
+    "src/libANGLE/renderer/metal/DisplayMtl.mm"
+    "src/libANGLE/renderer/metal/DisplayMtl_api.h"
+    "src/libANGLE/renderer/metal/FrameBufferMtl.h"
+    "src/libANGLE/renderer/metal/FrameBufferMtl.mm"
+    "src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.h"
+    "src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm"
+    "src/libANGLE/renderer/metal/ProgramMtl.h"
+    "src/libANGLE/renderer/metal/ProgramMtl.mm"
+    "src/libANGLE/renderer/metal/QueryMtl.h"
+    "src/libANGLE/renderer/metal/QueryMtl.mm"
+    "src/libANGLE/renderer/metal/RenderBufferMtl.h"
+    "src/libANGLE/renderer/metal/RenderBufferMtl.mm"
+    "src/libANGLE/renderer/metal/RenderTargetMtl.h"
+    "src/libANGLE/renderer/metal/RenderTargetMtl.mm"
+    "src/libANGLE/renderer/metal/SamplerMtl.h"
+    "src/libANGLE/renderer/metal/SamplerMtl.mm"
+    "src/libANGLE/renderer/metal/ShaderMtl.h"
+    "src/libANGLE/renderer/metal/ShaderMtl.mm"
+    "src/libANGLE/renderer/metal/SurfaceMtl.h"
+    "src/libANGLE/renderer/metal/SurfaceMtl.mm"
+    "src/libANGLE/renderer/metal/SyncMtl.h"
+    "src/libANGLE/renderer/metal/SyncMtl.mm"
+    "src/libANGLE/renderer/metal/TextureMtl.h"
+    "src/libANGLE/renderer/metal/TextureMtl.mm"
+    "src/libANGLE/renderer/metal/TransformFeedbackMtl.h"
+    "src/libANGLE/renderer/metal/TransformFeedbackMtl.mm"
+    "src/libANGLE/renderer/metal/VertexArrayMtl.h"
+    "src/libANGLE/renderer/metal/VertexArrayMtl.mm"
+    "src/libANGLE/renderer/metal/mtl_buffer_pool.h"
+    "src/libANGLE/renderer/metal/mtl_buffer_pool.mm"
+    "src/libANGLE/renderer/metal/mtl_command_buffer.h"
+    "src/libANGLE/renderer/metal/mtl_command_buffer.mm"
+    "src/libANGLE/renderer/metal/mtl_common.h"
+    "src/libANGLE/renderer/metal/mtl_common.mm"
+    "src/libANGLE/renderer/metal/mtl_format_table_autogen.mm"
+    "src/libANGLE/renderer/metal/mtl_format_utils.h"
+    "src/libANGLE/renderer/metal/mtl_format_utils.mm"
+    "src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.h"
+    "src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.mm"
+    "src/libANGLE/renderer/metal/mtl_glslang_utils.h"
+    "src/libANGLE/renderer/metal/mtl_glslang_utils.mm"
+    "src/libANGLE/renderer/metal/mtl_occlusion_query_pool.h"
+    "src/libANGLE/renderer/metal/mtl_occlusion_query_pool.mm"
+    "src/libANGLE/renderer/metal/mtl_render_utils.h"
+    "src/libANGLE/renderer/metal/mtl_render_utils.mm"
+    "src/libANGLE/renderer/metal/mtl_resources.h"
+    "src/libANGLE/renderer/metal/mtl_resources.mm"
+    "src/libANGLE/renderer/metal/mtl_state_cache.h"
+    "src/libANGLE/renderer/metal/mtl_state_cache.mm"
+    "src/libANGLE/renderer/metal/mtl_utils.h"
+    "src/libANGLE/renderer/metal/mtl_utils.mm"
+    "src/libANGLE/renderer/metal/shaders/constants.h"
+  "src/libANGLE/renderer/metal/shaders/mtl_default_shaders_src_autogen.inc"
+)
+

Modified: trunk/Source/ThirdParty/ANGLE/PlatformFTW.cmake (278129 => 278130)


--- trunk/Source/ThirdParty/ANGLE/PlatformFTW.cmake	2021-05-26 22:46:05 UTC (rev 278129)
+++ trunk/Source/ThirdParty/ANGLE/PlatformFTW.cmake	2021-05-26 22:49:13 UTC (rev 278130)
@@ -7,27 +7,25 @@
     NOMINMAX
 )
 
-if (USE_ANGLE_EGL)
-    # We're targeting Windows 10 which will have DirectX 11
-    list(APPEND ANGLE_SOURCES
-        ${angle_system_utils_sources_win}
-        ${angle_translator_hlsl_sources}
+# We're targeting Windows 10 which will have DirectX 11
+list(APPEND ANGLE_SOURCES
+    ${_d3d11_backend_sources}
+    ${_d3d_shared_sources}
 
-        ${_d3d_shared_sources}
-        ${_d3d11_backend_sources}
-        ${libangle_d3d11_sources}
-        ${libangle_d3d11_win32_sources}
-    )
+    ${angle_translator_hlsl_sources}
 
-    list(APPEND ANGLE_DEFINITIONS
-        ANGLE_ENABLE_HLSL
-        ANGLE_ENABLE_D3D11
-    )
+    ${libangle_gpu_info_util_sources}
+    ${libangle_gpu_info_util_win_sources}
+)
 
-    list(APPEND ANGLEGLESv2_LIBRARIES dxguid dxgi)
+list(APPEND ANGLE_DEFINITIONS
+    ANGLE_ENABLE_D3D11
+    ANGLE_ENABLE_HLSL
+)
 
-    # DirectX 9 support should be optional but ANGLE will not compile without it
-    list(APPEND ANGLE_SOURCES ${_d3d9_backend_sources})
-    list(APPEND ANGLE_DEFINITIONS ANGLE_ENABLE_D3D9)
-    list(APPEND ANGLEGLESv2_LIBRARIES d3d9)
-endif ()
+list(APPEND ANGLEGLESv2_LIBRARIES dxguid dxgi)
+
+# DirectX 9 support should be optional but ANGLE will not compile without it
+list(APPEND ANGLE_SOURCES ${_d3d9_backend_sources})
+list(APPEND ANGLE_DEFINITIONS ANGLE_ENABLE_D3D9)
+list(APPEND ANGLEGLESv2_LIBRARIES d3d9)

Modified: trunk/Source/ThirdParty/ANGLE/PlatformGTK.cmake (278129 => 278130)


--- trunk/Source/ThirdParty/ANGLE/PlatformGTK.cmake	2021-05-26 22:46:05 UTC (rev 278129)
+++ trunk/Source/ThirdParty/ANGLE/PlatformGTK.cmake	2021-05-26 22:49:13 UTC (rev 278130)
@@ -1,41 +1,61 @@
-# Enable GLSL compiler output.
-list(APPEND ANGLE_DEFINITIONS ANGLE_ENABLE_GLSL)
+list(APPEND ANGLE_DEFINITIONS ANGLE_PLATFORM_LINUX)
 
-# NOTE: When both Wayland and X11 are enabled, ANGLE_USE_X11 will be
-# defined and the X11 type definitions will be used for code involving
-# both. That works because types for both Wayland and X11 have the same
-# sizes and the code in WebKit casts the values to the proper types as
-# needed.
-
-if (ENABLE_WAYLAND_TARGET AND NOT ENABLE_X11_TARGET)
-    list(APPEND ANGLE_DEFINITIONS WL_EGL_PLATFORM)
-elseif (NOT ENABLE_X11_TARGET)
-    # Allow building ANGLE on platforms which may not provide X11 headers.
-    list(APPEND ANGLE_DEFINITIONS USE_SYSTEM_EGL)
+if (USE_OPENGL)
+    # Enable GLSL compiler output.
+    list(APPEND ANGLE_DEFINITIONS ANGLE_ENABLE_GLSL)
 endif ()
 
-if (USE_ANGLE_EGL)
+if (USE_ANGLE_EGL OR USE_ANGLE_WEBGL)
     list(APPEND ANGLE_SOURCES
+        ${_gl_backend_sources}
+
         ${angle_system_utils_sources_linux}
         ${angle_system_utils_sources_posix}
+
         ${libangle_gl_egl_dl_sources}
         ${libangle_gl_egl_sources}
-        ${libangle_gl_glx_sources}
         ${libangle_gl_sources}
+
+        ${libangle_gpu_info_util_sources}
+        ${libangle_gpu_info_util_linux_sources}
     )
 
     list(APPEND ANGLE_DEFINITIONS
         ANGLE_ENABLE_OPENGL
-        ANGLE_USE_X11
     )
 
     list(APPEND ANGLEGLESv2_LIBRARIES
-        dl
-        pthread
-        X11
+        ${CMAKE_DL_LIBS}
+        Threads::Threads
     )
 
-    string(REPLACE src/libGLESv2/libGLESv2_autogen.cpp "" libglesv2_sources "${libglesv2_sources}")
-    string(REPLACE src/libEGL/libEGL.cpp "" libegl_sources "${libegl_sources}")
+    if (USE_OPENGL)
+        list(APPEND ANGLEGLESv2_LIBRARIES ${OPENGL_LIBRARIES})
+    else ()
+        list(APPEND ANGLEGLESv2_LIBRARIES OpenGL::GLES)
+    endif ()
+
+    # NOTE: When both Wayland and X11 are enabled, ANGLE_USE_X11 will be
+    # defined and the X11 type definitions will be used for code involving
+    # both. That works because types for both Wayland and X11 have the same
+    # sizes and the code in WebKit casts the values to the proper types as
+    # needed.
+    set(GTK_ANGLE_DEFINITIONS)
+
+    if (ENABLE_X11_TARGET)
+        list(APPEND ANGLE_SOURCES ${libangle_gl_glx_sources})
+        list(APPEND ANGLEGLESv2_LIBRARIES X11)
+        list(APPEND GTK_ANGLE_DEFINITIONS ANGLE_USE_X11)
+    endif ()
+
+    if (ENABLE_WAYLAND_TARGET)
+        list(APPEND GKT_ANGLE_DEFINITIONS WL_EGL_PLATFORM)
+    endif ()
+
+    # Allow building ANGLE on platforms which may not provide X11 headers.
+    if (NOT GTK_ANGLE_DEFINITIONS)
+        list(APPEND GTK_ANGLE_DEFINITIONS USE_SYSTEM_EGL)
+    endif ()
+
+    list(APPEND ANGLE_DEFINITIONS ${GTK_ANGLE_DEFINITIONS})
 endif ()
-

Modified: trunk/Source/ThirdParty/ANGLE/PlatformMac.cmake (278129 => 278130)


--- trunk/Source/ThirdParty/ANGLE/PlatformMac.cmake	2021-05-26 22:46:05 UTC (rev 278129)
+++ trunk/Source/ThirdParty/ANGLE/PlatformMac.cmake	2021-05-26 22:49:13 UTC (rev 278130)
@@ -6,6 +6,20 @@
 find_library(QUARTZ_LIBRARY Quartz)
 find_package(ZLIB REQUIRED)
 
+list(APPEND ANGLE_SOURCES
+    ${_metal_backend_sources}
+
+    ${angle_translator_lib_metal_sources}
+
+    ${libangle_gpu_info_util_mac_sources}
+    ${libangle_gpu_info_util_sources}
+    ${libangle_mac_sources}
+)
+
+list(APPEND ANGLE_DEFINITIONS
+    ANGLE_ENABLE_METAL
+)
+
 list(APPEND ANGLEGLESv2_LIBRARIES
     ${COREGRAPHICS_LIBRARY}
     ${FOUNDATION_LIBRARY}
@@ -13,84 +27,4 @@
     ${IOSURFACE_LIBRARY}
     ${METAL_LIBRARY}
     ${QUARTZ_LIBRARY}
-    ${ZLIB_LIBRARY}
 )
-
-list(APPEND ANGLE_DEFINITIONS
-    ANGLE_ENABLE_METAL
-)
-
-list(APPEND libangle_sources
-    src/compiler/translator/TranslatorMetalDirect.cpp
-    
-    src/compiler/translator/TranslatorMetalDirect/Name.cpp
-    src/compiler/translator/TranslatorMetalDirect/FixTypeConstructors.cpp
-    src/compiler/translator/TranslatorMetalDirect/NameEmbeddedUniformStructsMetal.cpp
-    src/compiler/translator/TranslatorMetalDirect/SeparateCompoundStructDeclarations.cpp
-    src/compiler/translator/TranslatorMetalDirect/ModifyStruct.cpp
-    src/compiler/translator/TranslatorMetalDirect/DiscoverDependentFunctions.cpp
-    src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp
-    src/compiler/translator/TranslatorMetalDirect/MapSymbols.cpp
-    src/compiler/translator/TranslatorMetalDirect/SymbolEnv.cpp
-    src/compiler/translator/TranslatorMetalDirect/Layout.cpp
-    src/compiler/translator/TranslatorMetalDirect/ToposortStructs.cpp
-    src/compiler/translator/TranslatorMetalDirect/RewriteOutArgs.cpp
-    src/compiler/translator/TranslatorMetalDirect/Pipeline.cpp
-    src/compiler/translator/TranslatorMetalDirect/AddExplicitTypeCasts.cpp
-    src/compiler/translator/TranslatorMetalDirect/RewritePipelines.cpp
-    src/compiler/translator/TranslatorMetalDirect/ReduceInterfaceBlocks.cpp
-    src/compiler/translator/TranslatorMetalDirect/AstHelpers.cpp
-    src/compiler/translator/TranslatorMetalDirect/DiscoverEnclosingFunctionTraverser.cpp
-    src/compiler/translator/TranslatorMetalDirect/RewriteGlobalQualifierDecls.cpp
-    src/compiler/translator/TranslatorMetalDirect/RewriteUnaddressableReferences.cpp
-    src/compiler/translator/TranslatorMetalDirect/HoistConstants.cpp
-    src/compiler/translator/TranslatorMetalDirect/WrapMain.cpp
-    src/compiler/translator/TranslatorMetalDirect/RewriteKeywords.cpp
-    src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp
-    src/compiler/translator/TranslatorMetalDirect/IntroduceVertexIndexID.cpp
-    src/compiler/translator/TranslatorMetalDirect/IdGen.cpp
-    src/compiler/translator/TranslatorMetalDirect/SeparateCompoundExpressions.cpp
-    src/compiler/translator/TranslatorMetalDirect/RewriteCaseDeclarations.cpp
-    src/compiler/translator/TranslatorMetalDirect/MapFunctionsToDefinitions.cpp
-    src/compiler/translator/TranslatorMetalDirect.cpp
-
-    src/compiler/translator/tree_ops/NameNamelessUniformBuffers.cpp
-
-    src/compiler/translator/tree_util/IntermRebuild.cpp
-
-    src/gpu_info_util/SystemInfo.cpp
-
-    src/gpu_info_util/SystemInfo_macos.mm
-
-    src/libANGLE/renderer/driver_utils_mac.mm
-
-    src/libANGLE/renderer/metal/SyncMtl.mm
-    src/libANGLE/renderer/metal/mtl_format_utils.mm
-    src/libANGLE/renderer/metal/RenderBufferMtl.mm
-    src/libANGLE/renderer/metal/QueryMtl.mm
-    src/libANGLE/renderer/metal/BufferMtl.mm
-    src/libANGLE/renderer/metal/mtl_format_table_autogen.mm
-    src/libANGLE/renderer/metal/SurfaceMtl.mm
-    src/libANGLE/renderer/metal/mtl_command_buffer.mm
-    src/libANGLE/renderer/metal/RenderTargetMtl.mm
-    src/libANGLE/renderer/metal/VertexArrayMtl.mm
-    src/libANGLE/renderer/metal/mtl_utils.mm
-    src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm
-    src/libANGLE/renderer/metal/mtl_resources.mm
-    src/libANGLE/renderer/metal/mtl_state_cache.mm
-    src/libANGLE/renderer/metal/mtl_render_utils.mm
-    src/libANGLE/renderer/metal/TransformFeedbackMtl.mm
-    src/libANGLE/renderer/metal/TextureMtl.mm
-    src/libANGLE/renderer/metal/SamplerMtl.mm
-    src/libANGLE/renderer/metal/mtl_occlusion_query_pool.mm
-    src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.mm
-    src/libANGLE/renderer/metal/ContextMtl.mm
-    src/libANGLE/renderer/metal/CompilerMtl.mm
-    src/libANGLE/renderer/metal/mtl_buffer_pool.mm
-    src/libANGLE/renderer/metal/mtl_common.mm
-    src/libANGLE/renderer/metal/FrameBufferMtl.mm
-    src/libANGLE/renderer/metal/ShaderMtl.h
-    src/libANGLE/renderer/metal/ShaderMtl.mm
-    src/libANGLE/renderer/metal/ProgramMtl.mm
-    src/libANGLE/renderer/metal/DisplayMtl.mm
-)

Modified: trunk/Source/ThirdParty/ANGLE/PlatformWin.cmake (278129 => 278130)


--- trunk/Source/ThirdParty/ANGLE/PlatformWin.cmake	2021-05-26 22:46:05 UTC (rev 278129)
+++ trunk/Source/ThirdParty/ANGLE/PlatformWin.cmake	2021-05-26 22:49:13 UTC (rev 278130)
@@ -7,27 +7,25 @@
     NOMINMAX
 )
 
-if (USE_ANGLE_EGL)
-    # We're targeting Windows 10 which will have DirectX 11
-    list(APPEND ANGLE_SOURCES
-        ${angle_translator_hlsl_sources}
+# We're targeting Windows 10 which will have DirectX 11
+list(APPEND ANGLE_SOURCES
+    ${_d3d11_backend_sources}
+    ${_d3d_shared_sources}
 
-        ${_d3d_shared_sources}
-        ${_d3d11_backend_sources}
-        ${libangle_gpu_info_util_sources}
-        ${libangle_gpu_info_util_win_sources}
-    )
+    ${angle_translator_hlsl_sources}
 
-    list(APPEND ANGLE_DEFINITIONS
-        ANGLE_ENABLE_HLSL
-        ANGLE_ENABLE_D3D11
-    )
+    ${libangle_gpu_info_util_sources}
+    ${libangle_gpu_info_util_win_sources}
+)
 
-    find_package(ZLIB 1.2.11 REQUIRED)
-    list(APPEND ANGLEGLESv2_LIBRARIES dxguid dxgi ZLIB::ZLIB)
+list(APPEND ANGLE_DEFINITIONS
+    ANGLE_ENABLE_D3D11
+    ANGLE_ENABLE_HLSL
+)
 
-    # DirectX 9 support should be optional but ANGLE will not compile without it
-    list(APPEND ANGLE_SOURCES ${_d3d9_backend_sources})
-    list(APPEND ANGLE_DEFINITIONS ANGLE_ENABLE_D3D9)
-    list(APPEND ANGLEGLESv2_LIBRARIES d3d9)
-endif ()
+list(APPEND ANGLEGLESv2_LIBRARIES dxguid dxgi)
+
+# DirectX 9 support should be optional but ANGLE will not compile without it
+list(APPEND ANGLE_SOURCES ${_d3d9_backend_sources})
+list(APPEND ANGLE_DEFINITIONS ANGLE_ENABLE_D3D9)
+list(APPEND ANGLEGLESv2_LIBRARIES d3d9)

Modified: trunk/Source/WebCore/CMakeLists.txt (278129 => 278130)


--- trunk/Source/WebCore/CMakeLists.txt	2021-05-26 22:46:05 UTC (rev 278129)
+++ trunk/Source/WebCore/CMakeLists.txt	2021-05-26 22:49:13 UTC (rev 278130)
@@ -1469,7 +1469,12 @@
 # For platforms that want to use system-provided OpenGL (ES) / EGL headers,
 # these include directories, libraries or definitions need to be
 # added before the ANGLE directories.
-if (USE_LIBEPOXY)
+if (USE_ANGLE_EGL)
+    list(APPEND WebCore_LIBRARIES
+        ANGLE::EGL
+        ANGLE::GLES
+    )
+elseif (USE_LIBEPOXY)
     list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
         ${LIBEPOXY_INCLUDE_DIRS}
     )
@@ -1688,6 +1693,8 @@
             platform/graphics/angle/GraphicsContextGLANGLEEGLUtilities.cpp
             platform/graphics/angle/TemporaryANGLESetting.cpp
         )
+
+        list(APPEND WebCore_LIBRARIES ANGLE::GLES)
     else ()
         list(APPEND WebCore_SOURCES
             platform/graphics/ANGLEWebKitBridge.cpp
@@ -1710,10 +1717,9 @@
                 platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp
             )
         endif ()
+
+        list(APPEND WebCore_LIBRARIES ANGLE::ANGLE)
     endif ()
-
-    list(APPEND WebCore_LIBRARIES ANGLEFramework)
-    list(APPEND WebCoreTestSupport_LIBRARIES ANGLEFramework)
 elseif (USE_ANGLE_EGL)
     list(APPEND WebCore_PRIVATE_INCLUDE_DIRECTORIES
         ${WEBCORE_DIR}/platform/graphics/angle
@@ -1723,9 +1729,6 @@
     list(APPEND WebCore_SOURCES
         platform/graphics/opengl/TemporaryOpenGLSetting.cpp
     )
-
-    list(APPEND WebCore_LIBRARIES ANGLEFramework)
-    list(APPEND WebCoreTestSupport_LIBRARIES ANGLEFramework)
 endif ()
 
 list(APPEND WebCore_IDL_FILES

Modified: trunk/Source/WebCore/ChangeLog (278129 => 278130)


--- trunk/Source/WebCore/ChangeLog	2021-05-26 22:46:05 UTC (rev 278129)
+++ trunk/Source/WebCore/ChangeLog	2021-05-26 22:49:13 UTC (rev 278130)
@@ -1,3 +1,16 @@
+2021-05-26  Don Olmstead  <don.olmst...@sony.com>
+
+        [CMake] Support USE_ANGLE_EGL on additional platforms
+        https://bugs.webkit.org/show_bug.cgi?id=224888
+        <rdar://problem/77280211>
+
+        Reviewed by Ken Russell.
+
+        Use the ANGLE library targets when applicable.
+
+        * CMakeLists.txt:
+        * Headers.cmake:
+
 2021-05-26  Chris Lord  <cl...@igalia.com>
 
         Scrollbars/indicators are sometimes incorrectly drawn when async overflow scrolling is enabled

Modified: trunk/Source/WebCore/Headers.cmake (278129 => 278130)


--- trunk/Source/WebCore/Headers.cmake	2021-05-26 22:46:05 UTC (rev 278129)
+++ trunk/Source/WebCore/Headers.cmake	2021-05-26 22:49:13 UTC (rev 278130)
@@ -1325,6 +1325,7 @@
     platform/graphics/WidthCache.h
     platform/graphics/WindRule.h
 
+    platform/graphics/angle/ANGLEHeaders.h
     platform/graphics/angle/ExtensionsGLANGLE.h
 
     platform/graphics/displaylists/DisplayList.h

Modified: trunk/Source/WebKit/CMakeLists.txt (278129 => 278130)


--- trunk/Source/WebKit/CMakeLists.txt	2021-05-26 22:46:05 UTC (rev 278129)
+++ trunk/Source/WebKit/CMakeLists.txt	2021-05-26 22:49:13 UTC (rev 278130)
@@ -318,6 +318,12 @@
         ${LIBEPOXY_LIBRARIES}
     )
     add_definitions(${LIBEPOXY_DEFINITIONS})
+elseif (USE_ANGLE_EGL)
+    # Prepend to make sure the ANGLE headers are found before system headers
+    list(PREPEND WebKit_PRIVATE_LIBRARIES
+        ANGLE::GLES
+        ANGLE::EGL
+    )
 else ()
     if (USE_OPENGL)
         list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES

Modified: trunk/Source/WebKit/ChangeLog (278129 => 278130)


--- trunk/Source/WebKit/ChangeLog	2021-05-26 22:46:05 UTC (rev 278129)
+++ trunk/Source/WebKit/ChangeLog	2021-05-26 22:49:13 UTC (rev 278130)
@@ -1,3 +1,15 @@
+2021-05-26  Don Olmstead  <don.olmst...@sony.com>
+
+        [CMake] Support USE_ANGLE_EGL on additional platforms
+        https://bugs.webkit.org/show_bug.cgi?id=224888
+        <rdar://problem/77280211>
+
+        Reviewed by Ken Russell.
+
+        Use the ANGLE library targets when applicable.
+
+        * CMakeLists.txt:
+
 2021-05-26  Chris Dumez  <cdu...@apple.com>
 
         Add release logging in WebPage::runJavaScriptInFrameInScriptWorld()

Modified: trunk/Source/cmake/OptionsGTK.cmake (278129 => 278130)


--- trunk/Source/cmake/OptionsGTK.cmake	2021-05-26 22:46:05 UTC (rev 278129)
+++ trunk/Source/cmake/OptionsGTK.cmake	2021-05-26 22:49:13 UTC (rev 278130)
@@ -370,7 +370,6 @@
 
 if (USE_ANGLE_WEBGL)
     SET_AND_EXPOSE_TO_BUILD(USE_ANGLE TRUE)
-    SET_AND_EXPOSE_TO_BUILD(USE_ANGLE_EGL TRUE)
 endif ()
 
 if (ENABLE_SPELLCHECK)

Modified: trunk/Source/cmake/OptionsMac.cmake (278129 => 278130)


--- trunk/Source/cmake/OptionsMac.cmake	2021-05-26 22:46:05 UTC (rev 278129)
+++ trunk/Source/cmake/OptionsMac.cmake	2021-05-26 22:49:13 UTC (rev 278130)
@@ -110,7 +110,6 @@
 set(ENABLE_WEBKIT_LEGACY ON)
 set(ENABLE_WEBKIT ON)
 set(USE_ANGLE_WEBGL ON)
-set(USE_ANGLE_EGL ON)
 
 set(_javascript_Core_LIBRARY_TYPE SHARED)
 set(WebCore_LIBRARY_TYPE SHARED)

Modified: trunk/Tools/ChangeLog (278129 => 278130)


--- trunk/Tools/ChangeLog	2021-05-26 22:46:05 UTC (rev 278129)
+++ trunk/Tools/ChangeLog	2021-05-26 22:49:13 UTC (rev 278130)
@@ -1,3 +1,15 @@
+2021-05-26  Don Olmstead  <don.olmst...@sony.com>
+
+        [CMake] Support USE_ANGLE_EGL on additional platforms
+        https://bugs.webkit.org/show_bug.cgi?id=224888
+        <rdar://problem/77280211>
+
+        Reviewed by Ken Russell.
+
+        Generate source listings for Metal and OpenGL ANGLE backends.
+
+        * Scripts/update-angle:
+
 2021-05-26  Jonathan Bedard  <jbed...@apple.com>
 
         [webkitpy] Refactor SimulatorDevice (Follow-up fix)

Modified: trunk/Tools/Scripts/update-angle (278129 => 278130)


--- trunk/Tools/Scripts/update-angle	2021-05-26 22:46:05 UTC (rev 278129)
+++ trunk/Tools/Scripts/update-angle	2021-05-26 22:49:13 UTC (rev 278130)
@@ -165,6 +165,8 @@
 ./gni-to-cmake.py src/compiler.gni Compiler.cmake
 ./gni-to-cmake.py src/libGLESv2.gni GLESv2.cmake
 ./gni-to-cmake.py src/libANGLE/renderer/d3d/BUILD.gn D3D.cmake --prepend 'src/libANGLE/renderer/d3d/'
+./gni-to-cmake.py src/libANGLE/renderer/gl/BUILD.gn GL.cmake --prepend 'src/libANGLE/renderer/gl/'
+./gni-to-cmake.py src/libANGLE/renderer/metal/BUILD.gn Metal.cmake --prepend 'src/libANGLE/renderer/metal/'
 git checkout src/compiler.gni src/libGLESv2.gni
 
 echo "Moving angle_commit.h into place"
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to