aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpastdue <30942300+past-due@users.noreply.github.com>2021-07-20 14:56:02 -0400
committerGitHub <noreply@github.com>2021-07-20 11:56:02 -0700
commit1c20782ea44a8c07be931a8b8286044ec175cddc (patch)
treee5314589492154d77cd9d1ae5fe498a8eb64b2e0
parent0e1dc121856eef84bf1852134e548bf9898dabac (diff)
downloadvcpkg-1c20782ea44a8c07be931a8b8286044ec175cddc.tar.gz
vcpkg-1c20782ea44a8c07be931a8b8286044ec175cddc.zip
[angle] Update to chromium/4472 (#18432)
* [angle] Update to chromium/4472 * Run x-add-version angle
-rw-r--r--ports/angle/CMakeLists.txt392
-rw-r--r--ports/angle/CONTROL7
-rw-r--r--ports/angle/angle_commit.h (renamed from ports/angle/commit.h)0
-rw-r--r--ports/angle/portfile.cmake30
-rw-r--r--ports/angle/third-party-zlib-far-undef.patch13
-rw-r--r--ports/angle/vcpkg.json14
-rw-r--r--versions/a-/angle.json5
-rw-r--r--versions/baseline.json4
8 files changed, 381 insertions, 84 deletions
diff --git a/ports/angle/CMakeLists.txt b/ports/angle/CMakeLists.txt
index 18db69e5f..c00c3d0ea 100644
--- a/ports/angle/CMakeLists.txt
+++ b/ports/angle/CMakeLists.txt
@@ -28,7 +28,7 @@ set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS}")
set(CMAKE_STATIC_LIBRARY_PREFIX "")
if (WINDOWS_STORE)
- set(WINRT_DEFINES -DANGLE_ENABLE_WINDOWS_STORE)
+ set(WINRT_DEFINES -DANGLE_ENABLE_WINDOWS_UWP -DWINAPI_FAMILY=WINAPI_FAMILY_PC_APP)
else()
set(WINRT_DEFINES)
endif()
@@ -39,27 +39,42 @@ add_definitions(
-D_HAS_EXCEPTIONS=0
-DNOMINMAX
-DANGLE_STANDALONE_BUILD
- -DANGLE_ENABLE_DEBUG_ANNOTATIONS
${WINRT_DEFINES}
)
+add_compile_options("$<$<CONFIG:DEBUG>:-DANGLE_ENABLE_DEBUG_ANNOTATIONS>")
+if(WIN32)
+ add_definitions(-DANGLE_IS_WIN)
+endif()
+if(LINUX)
+ add_definitions(-DANGLE_IS_LINUX)
+endif()
+if(ANGLE_IS_64_BIT_CPU)
+ add_definitions(-DANGLE_IS_64_BIT_CPU)
+elseif(ANGLE_IS_32_BIT_CPU)
+ add_definitions(-DANGLE_IS_32_BIT_CPU)
+endif()
-configure_file(commit.h include/id/commit.h COPYONLY)
+configure_file(angle_commit.h include/id/commit.h COPYONLY)
#include_directories(include src ${CMAKE_CURRENT_BINARY_DIR}/include)
include_directories("$<INSTALL_INTERFACE:include>" "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>" "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>" "$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>")
##########
# angle::common
if(WINDOWS_DESKTOP)
- set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_mac|_posix|_winuwp")
+ set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_apple|_mac|_ios|_posix|_winuwp")
elseif(WINDOWS_STORE)
- set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_mac|_posix|_win32")
+ set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_apple|_mac|_ios|_posix|_win32")
elseif(LINUX)
- set(ANGLE_COMMON_PLATFORM_FILTER "_win|_mac")
+ set(ANGLE_COMMON_PLATFORM_FILTER "_win|_apple|_mac|_ios")
elseif(APPLE)
- set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_win")
+ if(CMAKE_SYSTEM_NAME MATCHES "Darwin") # macOS
+ set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_win|_ios")
+ else() # other Apple platforms (iOS, etc)
+ set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_win|_mac")
+ endif()
endif()
file(GLOB ANGLE_COMMON_SOURCES
"src/common/*.h"
- "src/common/*.inl"
+ "src/common/*.inc"
"src/common/*.cpp"
"src/common/third_party/base/anglebase/*.h"
"src/common/third_party/base/anglebase/*.cc"
@@ -76,8 +91,20 @@ target_include_directories(angle_common PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURREN
add_library(angle::common ALIAS angle_common)
##########
+# angle::compression
+file(GLOB ANGLE_COMPRESSION_UTILS_SOURCES "third_party/zlib/google/compression_utils_portable.*")
+find_package(ZLIB REQUIRED)
+add_library(angle_compression_utils OBJECT ${ANGLE_COMPRESSION_UTILS_SOURCES})
+target_link_libraries(angle_compression_utils PUBLIC ZLIB::ZLIB)
+target_compile_definitions(angle_compression_utils PRIVATE
+ -DUSE_SYSTEM_ZLIB
+)
+target_include_directories(angle_compression_utils INTERFACE "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/third_party/zlib/google>")
+add_library(angle::compression ALIAS angle_compression_utils)
+
+##########
# angle::image_util
-file(GLOB ANGLE_IMAGE_UTIL_SOURCES "src/image_util/*.h" "src/image_util/*.inl" "src/image_util/*.cpp")
+file(GLOB ANGLE_IMAGE_UTIL_SOURCES "src/image_util/*.h" "src/image_util/*.inc" "src/image_util/*.cpp")
add_library(angle_image_util OBJECT ${ANGLE_IMAGE_UTIL_SOURCES})
target_link_libraries(angle_image_util PRIVATE angle::common)
add_library(angle::image_util ALIAS angle_image_util)
@@ -85,23 +112,207 @@ add_library(angle::image_util ALIAS angle_image_util)
##########
# angle::translator
file(GLOB TRANSLATOR_SOURCES
- "src/compiler/translator/glslang.l"
- "src/compiler/translator/glslang.y"
- "src/compiler/translator/*.h"
- "src/compiler/translator/*.cpp"
- "src/compiler/translator/tree_ops/*.h"
+ "src/compiler/translator/BaseTypes.h"
+ "src/compiler/translator/BuiltInFunctionEmulator.cpp"
+ "src/compiler/translator/BuiltInFunctionEmulator.h"
+ "src/compiler/translator/CallDAG.cpp"
+ "src/compiler/translator/CallDAG.h"
+ "src/compiler/translator/CodeGen.cpp"
+ "src/compiler/translator/CollectVariables.cpp"
+ "src/compiler/translator/CollectVariables.h"
+ "src/compiler/translator/Common.h"
+ "src/compiler/translator/Compiler.cpp"
+ "src/compiler/translator/Compiler.h"
+ "src/compiler/translator/ConstantUnion.cpp"
+ "src/compiler/translator/ConstantUnion.h"
+ "src/compiler/translator/Declarator.cpp"
+ "src/compiler/translator/Declarator.h"
+ "src/compiler/translator/Diagnostics.cpp"
+ "src/compiler/translator/Diagnostics.h"
+ "src/compiler/translator/DirectiveHandler.cpp"
+ "src/compiler/translator/DirectiveHandler.h"
+ "src/compiler/translator/ExtensionBehavior.cpp"
+ "src/compiler/translator/ExtensionBehavior.h"
+ "src/compiler/translator/FlagStd140Structs.cpp"
+ "src/compiler/translator/FlagStd140Structs.h"
+ "src/compiler/translator/FunctionLookup.cpp"
+ "src/compiler/translator/FunctionLookup.h"
+ "src/compiler/translator/HashNames.cpp"
+ "src/compiler/translator/HashNames.h"
+ "src/compiler/translator/ImmutableString.h"
+ "src/compiler/translator/ImmutableStringBuilder.cpp"
+ "src/compiler/translator/ImmutableStringBuilder.h"
+ "src/compiler/translator/InfoSink.cpp"
+ "src/compiler/translator/InfoSink.h"
+ "src/compiler/translator/Initialize.cpp"
+ "src/compiler/translator/Initialize.h"
+ "src/compiler/translator/InitializeDll.cpp"
+ "src/compiler/translator/InitializeDll.h"
+ "src/compiler/translator/InitializeGlobals.h"
+ "src/compiler/translator/IntermNode.cpp"
+ "src/compiler/translator/IntermNode.h"
+ "src/compiler/translator/IsASTDepthBelowLimit.cpp"
+ "src/compiler/translator/IsASTDepthBelowLimit.h"
+ "src/compiler/translator/Operator.cpp"
+ "src/compiler/translator/Operator.h"
+ "src/compiler/translator/OutputTree.cpp"
+ "src/compiler/translator/OutputTree.h"
+ "src/compiler/translator/ParseContext.cpp"
+ "src/compiler/translator/ParseContext.h"
+ "src/compiler/translator/ParseContext_ESSL_autogen.h"
+ "src/compiler/translator/ParseContext_complete_autogen.h"
+ "src/compiler/translator/ParseContext_interm.h"
+ "src/compiler/translator/PoolAlloc.cpp"
+ "src/compiler/translator/PoolAlloc.h"
+ "src/compiler/translator/Pragma.h"
+ "src/compiler/translator/QualifierTypes.cpp"
+ "src/compiler/translator/QualifierTypes.h"
+ "src/compiler/translator/Severity.h"
+ "src/compiler/translator/ShaderLang.cpp"
+ "src/compiler/translator/ShaderVars.cpp"
+ "src/compiler/translator/StaticType.h"
+ "src/compiler/translator/Symbol.cpp"
+ "src/compiler/translator/Symbol.h"
+ "src/compiler/translator/SymbolTable.cpp"
+ "src/compiler/translator/SymbolTable.h"
+ "src/compiler/translator/SymbolTable_autogen.h"
+ "src/compiler/translator/SymbolUniqueId.cpp"
+ "src/compiler/translator/SymbolUniqueId.h"
+ "src/compiler/translator/TranslatorESSL.h"
+ "src/compiler/translator/TranslatorGLSL.h"
+ "src/compiler/translator/TranslatorHLSL.h"
+ "src/compiler/translator/TranslatorMetal.h"
+ "src/compiler/translator/TranslatorVulkan.h"
+ "src/compiler/translator/Types.cpp"
+ "src/compiler/translator/Types.h"
+ "src/compiler/translator/ValidateAST.cpp"
+ "src/compiler/translator/ValidateAST.h"
+ "src/compiler/translator/ValidateBarrierFunctionCall.cpp"
+ "src/compiler/translator/ValidateBarrierFunctionCall.h"
+ "src/compiler/translator/ValidateClipCullDistance.cpp"
+ "src/compiler/translator/ValidateClipCullDistance.h"
+ "src/compiler/translator/ValidateGlobalInitializer.cpp"
+ "src/compiler/translator/ValidateGlobalInitializer.h"
+ "src/compiler/translator/ValidateLimitations.cpp"
+ "src/compiler/translator/ValidateLimitations.h"
+ "src/compiler/translator/ValidateMaxParameters.cpp"
+ "src/compiler/translator/ValidateMaxParameters.h"
+ "src/compiler/translator/ValidateOutputs.cpp"
+ "src/compiler/translator/ValidateOutputs.h"
+ "src/compiler/translator/ValidateSwitch.cpp"
+ "src/compiler/translator/ValidateSwitch.h"
+ "src/compiler/translator/ValidateVaryingLocations.cpp"
+ "src/compiler/translator/ValidateVaryingLocations.h"
+ "src/compiler/translator/VariablePacker.cpp"
+ "src/compiler/translator/VariablePacker.h"
+ "src/compiler/translator/blocklayout.cpp"
+ "src/compiler/translator/glslang.h"
+ "src/compiler/translator/glslang_lex_autogen.cpp"
+ "src/compiler/translator/glslang_tab_autogen.cpp"
+ "src/compiler/translator/glslang_tab_autogen.h"
+ "src/compiler/translator/glslang_wrapper.h"
+ "src/compiler/translator/length_limits.h"
"src/compiler/translator/tree_ops/*.cpp"
+ "src/compiler/translator/tree_ops/*.h"
+ "src/compiler/translator/tree_ops/gl/ClampFragDepth.h"
+ "src/compiler/translator/tree_ops/gl/RegenerateStructNames.h"
+ "src/compiler/translator/tree_ops/gl/RewriteRepeatedAssignToSwizzled.h"
+ "src/compiler/translator/tree_ops/gl/UseInterfaceBlockFields.h"
+ "src/compiler/translator/tree_ops/gl/VectorizeVectorScalarArithmetic.h"
+ "src/compiler/translator/tree_ops/gl/mac/AddAndTrueToLoopCondition.h"
+ "src/compiler/translator/tree_ops/gl/mac/RewriteDoWhile.h"
+ "src/compiler/translator/tree_ops/gl/mac/UnfoldShortCircuitAST.h"
+ "src/compiler/translator/tree_ops/vulkan/EarlyFragmentTestsOptimization.h"
"src/compiler/translator/tree_util/*.h"
"src/compiler/translator/tree_util/*.cpp"
+ "src/compiler/translator/util.cpp"
+ "src/compiler/translator/util.h"
"src/third_party/compiler/ArrayBoundsClamper.cpp"
+ "src/third_party/compiler/ArrayBoundsClamper.h"
)
list(FILTER TRANSLATOR_SOURCES EXCLUDE REGEX "_unittest")
-add_library(angle_translator OBJECT ${TRANSLATOR_SOURCES})
-target_compile_definitions(angle_translator PUBLIC
- -DANGLE_ENABLE_ESSL
- -DANGLE_ENABLE_GLSL
- -DANGLE_ENABLE_HLSL
+file(GLOB TRANSLATOR_GLSL_BASE_SOURCES
+ "src/compiler/translator/OutputGLSLBase.cpp"
+ "src/compiler/translator/OutputGLSLBase.h"
)
+file(GLOB TRANSLATOR_GLSL_AND_VULKAN_BASE_SOURCES
+ "src/compiler/translator/BuiltinsWorkaroundGLSL.cpp"
+ "src/compiler/translator/BuiltinsWorkaroundGLSL.h"
+ "src/compiler/translator/OutputGLSL.cpp"
+ "src/compiler/translator/OutputGLSL.h"
+)
+file(GLOB TRANSLATOR_ESSL_SOURCES
+ "src/compiler/translator/OutputESSL.cpp"
+ "src/compiler/translator/OutputESSL.h"
+ "src/compiler/translator/TranslatorESSL.cpp"
+ "src/compiler/translator/tree_ops/gl/RecordConstantPrecision.cpp"
+ "src/compiler/translator/tree_ops/gl/RecordConstantPrecision.h"
+)
+file(GLOB TRANSLATOR_GLSL_SOURCES
+ "src/compiler/translator/BuiltInFunctionEmulatorGLSL.cpp"
+ "src/compiler/translator/BuiltInFunctionEmulatorGLSL.h"
+ "src/compiler/translator/ExtensionGLSL.cpp"
+ "src/compiler/translator/ExtensionGLSL.h"
+ "src/compiler/translator/TranslatorGLSL.cpp"
+ "src/compiler/translator/VersionGLSL.cpp"
+ "src/compiler/translator/VersionGLSL.h"
+ "src/compiler/translator/tree_ops/gl/ClampFragDepth.cpp"
+ "src/compiler/translator/tree_ops/gl/RegenerateStructNames.cpp"
+ "src/compiler/translator/tree_ops/gl/RewriteRepeatedAssignToSwizzled.cpp"
+ "src/compiler/translator/tree_ops/gl/UseInterfaceBlockFields.cpp"
+ "src/compiler/translator/tree_ops/gl/VectorizeVectorScalarArithmetic.cpp"
+ "src/compiler/translator/tree_ops/gl/mac/RewriteRowMajorMatrices.h"
+ "src/compiler/translator/tree_ops/gl/mac/RewriteUnaryMinusOperatorFloat.h"
+)
+file(GLOB TRANSLATOR_GLSL_MAC_SOURCES
+ "src/compiler/translator/tree_ops/gl/mac/AddAndTrueToLoopCondition.cpp"
+ "src/compiler/translator/tree_ops/gl/mac/RewriteDoWhile.cpp"
+ "src/compiler/translator/tree_ops/gl/mac/RewriteRowMajorMatrices.cpp"
+ "src/compiler/translator/tree_ops/gl/mac/RewriteUnaryMinusOperatorFloat.cpp"
+ "src/compiler/translator/tree_ops/gl/mac/UnfoldShortCircuitAST.cpp"
+)
+file(GLOB TRANSLATOR_HLSL_SOURCES
+ "src/compiler/translator/*HLSL.h"
+ "src/compiler/translator/*HLSL.cpp"
+ "src/compiler/translator/emulated_builtin_functions_hlsl_autogen.cpp"
+ "src/compiler/translator/tree_ops/d3d/*.cpp"
+ "src/compiler/translator/tree_ops/d3d/*.h"
+)
+if(ANDROID)
+ list(APPEND TRANSLATOR_SOURCES "src/compiler/translator/ImmutableString_ESSL_autogen.cpp" "src/compiler/translator/SymbolTable_ESSL_autogen.cpp")
+else()
+ list(APPEND TRANSLATOR_SOURCES "src/compiler/translator/ImmutableString_autogen.cpp" "src/compiler/translator/SymbolTable_autogen.cpp")
+endif()
+set(ANGLE_ENABLE_ESSL TRUE)
+set(ANGLE_ENABLE_GLSL TRUE)
+set(ANGLE_ENABLE_HLSL TRUE)
+set(_needs_glsl_base FALSE)
+set(_needs_glsl_and_vulkan_base FALSE)
+add_library(angle_translator OBJECT ${TRANSLATOR_SOURCES})
+if(ANGLE_ENABLE_ESSL)
+ set(_needs_glsl_base TRUE)
+ target_sources(angle_translator PRIVATE ${TRANSLATOR_ESSL_SOURCES})
+ target_compile_definitions(angle_translator PUBLIC -DANGLE_ENABLE_ESSL)
+endif()
+if(ANGLE_ENABLE_GLSL)
+ set(_needs_glsl_base TRUE)
+ set(_needs_glsl_and_vulkan_base TRUE)
+ target_sources(angle_translator PRIVATE ${TRANSLATOR_GLSL_SOURCES})
+ if(APPLE)
+ target_sources(angle_translator PRIVATE ${TRANSLATOR_GLSL_MAC_SOURCES})
+ endif()
+ target_compile_definitions(angle_translator PUBLIC -DANGLE_ENABLE_GLSL)
+endif()
+if(ANGLE_ENABLE_HLSL)
+ target_sources(angle_translator PRIVATE ${TRANSLATOR_HLSL_SOURCES})
+ target_compile_definitions(angle_translator PUBLIC -DANGLE_ENABLE_HLSL)
+endif()
+if(_needs_glsl_base)
+ target_sources(angle_translator PRIVATE ${TRANSLATOR_GLSL_BASE_SOURCES})
+endif()
+if(_needs_glsl_and_vulkan_base)
+ target_sources(angle_translator PRIVATE ${TRANSLATOR_GLSL_AND_VULKAN_BASE_SOURCES})
+endif()
target_link_libraries(angle_translator PRIVATE angle::common)
add_library(angle::translator ALIAS angle_translator)
@@ -123,31 +334,27 @@ if(WINDOWS_DESKTOP OR LINUX OR APPLE)
if(WINDOWS_DESKTOP)
set(ANGLE_RENDERER_OPENGL_PLATFORM
"src/libANGLE/renderer/gl/wgl/*.cpp"
- "src/libANGLE/renderer/gl/wgl/*.inl"
"src/libANGLE/renderer/gl/wgl/*.h"
)
elseif(APPLE)
set(ANGLE_RENDERER_OPENGL_PLATFORM
"src/libANGLE/renderer/gl/cgl/*.mm"
"src/libANGLE/renderer/gl/cgl/*.cpp"
- "src/libANGLE/renderer/gl/cgl/*.inl"
"src/libANGLE/renderer/gl/cgl/*.h"
"gpu_info_util/SystemInfo_macos.mm"
)
elseif(LINUX)
set(ANGLE_RENDERER_OPENGL_PLATFORM
"src/libANGLE/renderer/gl/glx/*.cpp"
- "src/libANGLE/renderer/gl/glx/*.inl"
"src/libANGLE/renderer/gl/glx/*.h"
"src/libANGLE/renderer/gl/egl/*.cpp"
- "src/libANGLE/renderer/gl/egl/*.inl"
"src/libANGLE/renderer/gl/egl/*.h"
)
endif()
file(GLOB LIBANGLE_GL_SOURCES
"src/libANGLE/renderer/gl/*.cpp"
- "src/libANGLE/renderer/gl/*.inl"
+ "src/libANGLE/renderer/gl/*.inc"
"src/libANGLE/renderer/gl/*.h"
${ANGLE_RENDERER_OPENGL_PLATFORM}
@@ -164,7 +371,7 @@ if(WIN32)
## All D3D Sources
file(GLOB_RECURSE LIBANGLE_D3D_SOURCES
"src/libANGLE/renderer/d3d/*.cpp"
- "src/libANGLE/renderer/d3d/*.inl"
+ "src/libANGLE/renderer/d3d/*.inc"
"src/libANGLE/renderer/d3d/*.h"
)
list(FILTER LIBANGLE_D3D_SOURCES EXCLUDE REGEX "_unittest")
@@ -181,17 +388,17 @@ if(WIN32)
## Win32/d3d9 D3D Renderer
if(WINDOWS_DESKTOP)
set(LIBANGLE_D3D_DESKTOP_SOURCES ${LIBANGLE_D3D_SOURCES})
- list(FILTER LIBANGLE_D3D_DESKTOP_SOURCES INCLUDE REGEX "d3d9|win32|converged")
+ list(FILTER LIBANGLE_D3D_DESKTOP_SOURCES INCLUDE REGEX "d3d9|win32")
find_library(D3D9_LIB NAMES d3d9)
add_library(angle_renderer_win32 INTERFACE)
target_sources(angle_renderer_win32 INTERFACE "$<BUILD_INTERFACE:${LIBANGLE_D3D_DESKTOP_SOURCES}>")
target_compile_definitions(angle_renderer_win32 INTERFACE -DANGLE_ENABLE_D3D9)
- target_link_libraries(angle_renderer_win32 INTERFACE ${D3D9_LIB})
+ target_link_libraries(angle_renderer_win32 INTERFACE d3d9)
add_library(angle::renderer::win32 ALIAS angle_renderer_win32)
endif()
## D3D11 Base renderer
- list(FILTER LIBANGLE_D3D_SOURCES EXCLUDE REGEX "winrt|d3d9|win32|converged")
+ list(FILTER LIBANGLE_D3D_SOURCES EXCLUDE REGEX "winrt|d3d9|win32")
find_library(DXGUID_LIB NAMES dxguid)
find_library(D3D11_LIB NAMES d3d11)
add_library(angle_renderer_d3d INTERFACE)
@@ -199,6 +406,7 @@ if(WIN32)
target_compile_definitions(angle_renderer_d3d INTERFACE
-DANGLE_ENABLE_D3D11
"-DANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ \"d3dcompiler_47.dll\", \"d3dcompiler_46.dll\", \"d3dcompiler_43.dll\" }"
+ -DANGLE_ENABLE_D3D11_COMPOSITOR_NATIVE_WINDOW
)
target_link_libraries(angle_renderer_d3d INTERFACE d3d11 dxguid)
add_library(angle::renderer::d3d ALIAS angle_renderer_d3d)
@@ -215,7 +423,10 @@ if(WIN32)
target_sources(angle_gpu_info_util PRIVATE "src/gpu_info_util/SystemInfo_win.cpp")
target_link_libraries(angle_gpu_info_util PRIVATE setupapi.lib dxgi.lib)
elseif(APPLE)
- target_sources(angle_gpu_info_util PRIVATE "src/gpu_info_util/SystemInfo_macos.mm")
+ target_sources(angle_gpu_info_util PRIVATE "src/gpu_info_util/SystemInfo_apple.mm")
+ if(CMAKE_SYSTEM_NAME MATCHES "Darwin") # macOS
+ target_sources(angle_gpu_info_util PRIVATE "src/gpu_info_util/SystemInfo_macos.mm")
+ endif()
find_library(IOKit IOKit)
find_library(CoreFoundation CoreFoundation)
find_library(CoreGraphics CoreGraphics)
@@ -232,9 +443,11 @@ add_library(angle::gpu_info_util ALIAS angle_gpu_info_util)
## Core libANGLE library
if(WIN32)
- set(LIBANGLE_SOURCES_PLATFORM
- "src/third_party/systeminfo/SystemInfo.cpp"
- )
+ if(NOT WINDOWS_STORE)
+ set(LIBANGLE_SOURCES_PLATFORM
+ "src/third_party/systeminfo/SystemInfo.cpp"
+ )
+ endif()
elseif(APPLE)
file(GLOB LIBANGLE_SOURCES_PLATFORM
"src/libANGLE/renderer/*.mm"
@@ -248,20 +461,47 @@ file(GLOB LIBANGLE_SOURCES
"src/common/event_tracer.cpp"
"src/libANGLE/*.cpp"
- "src/libANGLE/*.inl"
+ "src/libANGLE/*.inc"
"src/libANGLE/*.h"
"src/libANGLE/renderer/*.cpp"
- "src/libANGLE/renderer/*.inl"
"src/libANGLE/renderer/*.h"
"src/libANGLE/renderer/null/*.cpp"
- "src/libANGLE/renderer/null/*.inl"
"src/libANGLE/renderer/null/*.h"
+ # The frame capture headers are always visible to libANGLE.
+ "src/libANGLE/capture/*.h"
+
+ # angle_frame_capture_disabled
+ "src/libANGLE/capture/FrameCapture_mock.cpp"
+ "src/libANGLE/capture/frame_capture_utils_mock.cpp"
+
+ # angle_gl_enum_utils
+ "src/libANGLE/capture/gl_enum_utils.cpp"
+ "src/libANGLE/capture/gl_enum_utils_autogen.cpp"
+
${LIBANGLE_SOURCES_PLATFORM}
)
-list(FILTER LIBANGLE_SOURCES EXCLUDE REGEX "_unittest|glslang_wrapper|capture|FrameCapture\.cpp")
+list(FILTER LIBANGLE_SOURCES EXCLUDE REGEX "_unittest|glslang_wrapper|dxgi_|d3d_format")
+if(WIN32)
+ set(LIBANGLE_D3D_FORMAT_TABLES_SOURCES_PLATFORM)
+ if(NOT WINDOWS_STORE)
+ list(APPEND LIBANGLE_D3D_FORMAT_TABLES_SOURCES_PLATFORM
+ "src/libANGLE/renderer/d3d_format.cpp"
+ "src/libANGLE/renderer/d3d_format.h"
+ )
+ endif()
+ file(GLOB LIBANGLE_D3D_FORMAT_TABLES_SOURCES
+ "src/libANGLE/renderer/dxgi_format_map.h"
+ "src/libANGLE/renderer/dxgi_format_map_autogen.cpp"
+ "src/libANGLE/renderer/dxgi_support_table.h"
+ "src/libANGLE/renderer/dxgi_support_table_autogen.cpp"
+
+ ${LIBANGLE_D3D_FORMAT_TABLES_SOURCES_PLATFORM}
+ )
+ list(APPEND LIBANGLE_SOURCES "${LIBANGLE_D3D_FORMAT_TABLES_SOURCES}")
+endif()
if(LINUX OR APPLE)
set(LIBANGLE_RENDERER_PLATFORM
@@ -297,6 +537,7 @@ endif()
add_library(libANGLE STATIC ${LIBANGLE_SOURCES})
target_link_libraries(libANGLE PRIVATE
angle::common
+ angle::compression
angle::image_util
angle::gpu_info_util
angle::translator
@@ -314,6 +555,7 @@ target_compile_definitions(libANGLE
-DEGLAPI=
-DGL_APICALL=
-DGL_API=
+ -DANGLE_CAPTURE_ENABLED=0
)
add_library(angle::libANGLE ALIAS libANGLE)
if(BUILD_SHARED_LIBS)
@@ -326,34 +568,33 @@ endif()
# libGLESv2
# Modified according to the file src/libGLESv2.gni
list(APPEND LIBGLESV2_SOURCES
- "src/common/angleutils.h"
- "src/common/debug.h"
- "src/libANGLE/entry_points_enum_autogen.h"
- "src/libANGLE/entry_points_utils.h"
- "src/libGLESv2/entry_points_egl.cpp"
- "src/libGLESv2/entry_points_egl.h"
- "src/libGLESv2/entry_points_egl_ext.cpp"
- "src/libGLESv2/entry_points_egl_ext.h"
- "src/libGLESv2/entry_points_gles_1_0_autogen.cpp"
- "src/libGLESv2/entry_points_gles_1_0_autogen.h"
- "src/libGLESv2/entry_points_gles_2_0_autogen.cpp"
- "src/libGLESv2/entry_points_gles_2_0_autogen.h"
- "src/libGLESv2/entry_points_gles_3_0_autogen.cpp"
- "src/libGLESv2/entry_points_gles_3_0_autogen.h"
- "src/libGLESv2/entry_points_gles_3_1_autogen.cpp"
- "src/libGLESv2/entry_points_gles_3_1_autogen.h"
- "src/libGLESv2/entry_points_gles_3_2_autogen.cpp"
- "src/libGLESv2/entry_points_gles_3_2_autogen.h"
- "src/libGLESv2/entry_points_gles_ext_autogen.cpp"
- "src/libGLESv2/entry_points_gles_ext_autogen.h"
- "src/libGLESv2/global_state.cpp"
- "src/libGLESv2/global_state.h"
- "src/libGLESv2/libGLESv2_autogen.cpp"
- "src/libGLESv2/libGLESv2.rc"
- "src/libGLESv2/proc_table_egl.h"
- "src/libGLESv2/proc_table_egl_autogen.cpp"
- "src/libGLESv2/resource.h"
- "src/libGLESv2/libGLESv2_autogen.def"
+ "src/libGLESv2/egl_ext_stubs.cpp"
+ "src/libGLESv2/egl_ext_stubs_autogen.h"
+ "src/libGLESv2/egl_stubs.cpp"
+ "src/libGLESv2/egl_stubs_autogen.h"
+ "src/libGLESv2/entry_points_egl_autogen.cpp"
+ "src/libGLESv2/entry_points_egl_autogen.h"
+ "src/libGLESv2/entry_points_egl_ext_autogen.cpp"
+ "src/libGLESv2/entry_points_egl_ext_autogen.h"
+ "src/libGLESv2/entry_points_gles_1_0_autogen.cpp"
+ "src/libGLESv2/entry_points_gles_1_0_autogen.h"
+ "src/libGLESv2/entry_points_gles_2_0_autogen.cpp"
+ "src/libGLESv2/entry_points_gles_2_0_autogen.h"
+ "src/libGLESv2/entry_points_gles_3_0_autogen.cpp"
+ "src/libGLESv2/entry_points_gles_3_0_autogen.h"
+ "src/libGLESv2/entry_points_gles_3_1_autogen.cpp"
+ "src/libGLESv2/entry_points_gles_3_1_autogen.h"
+ "src/libGLESv2/entry_points_gles_3_2_autogen.cpp"
+ "src/libGLESv2/entry_points_gles_3_2_autogen.h"
+ "src/libGLESv2/entry_points_gles_ext_autogen.cpp"
+ "src/libGLESv2/entry_points_gles_ext_autogen.h"
+ "src/libGLESv2/global_state.cpp"
+ "src/libGLESv2/global_state.h"
+ "src/libGLESv2/libGLESv2_autogen.cpp"
+ "src/libGLESv2/proc_table_egl.h"
+ "src/libGLESv2/proc_table_egl_autogen.cpp"
+ "src/libGLESv2/resource.h"
+ "src/libGLESv2/libGLESv2_autogen.def"
)
add_library(libGLESv2 ${LIBGLESV2_SOURCES})
target_link_libraries(libGLESv2 PRIVATE angle::common angle::libANGLE)
@@ -386,18 +627,25 @@ target_include_directories(libGLESv2 PUBLIC "$<INSTALL_INTERFACE:include>")
##########
# libEGL
+if(WIN32)
+ set(libEGL_def
+ "src/libEGL/libEGL_autogen.def"
+ )
+endif()
add_library(libEGL
- "src/libEGL/libEGL.def"
- "src/libEGL/libEGL.cpp"
- "src/libEGL/libEGL.rc"
- "src/libEGL/resource.h"
- "src/libEGL/egl_loader_autogen.cpp"
"src/libEGL/egl_loader_autogen.h"
+ "src/libEGL/libEGL_autogen.cpp"
+ "src/libEGL/resource.h"
+ "src/libGLESv2/entry_points_egl_autogen.h"
+ "src/libGLESv2/entry_points_egl_ext_autogen.h"
+ ${libEGL_def}
)
+
target_link_libraries(libEGL PRIVATE angle::common angle::libANGLE libGLESv2)
target_include_directories(libEGL PUBLIC "$<INSTALL_INTERFACE:include>" "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>")
target_compile_definitions(libEGL
- PRIVATE -DLIBGLESV2_IMPLEMENTATION
+ PRIVATE
+ "-DLIBEGL_IMPLEMENTATION"
PUBLIC
"-DGL_GLES_PROTOTYPES=1"
"-DGL_GLEXT_PROTOTYPES"
@@ -435,7 +683,7 @@ SET_TARGET_PROPERTIES(libANGLE PROPERTIES PREFIX "")
SET_TARGET_PROPERTIES(libGLESv2 PROPERTIES PREFIX "")
SET_TARGET_PROPERTIES(libEGL PROPERTIES PREFIX "")
-install(TARGETS libEGL libGLESv2 libANGLE angle_common angle_image_util angle_gpu_info_util angle_translator angle_preprocessor GL_VISIBILITY EXPORT ANGLEExport
+install(TARGETS libEGL libGLESv2 libANGLE angle_common angle_compression_utils angle_image_util angle_gpu_info_util angle_translator angle_preprocessor GL_VISIBILITY EXPORT ANGLEExport
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
@@ -470,11 +718,13 @@ if(NOT DISABLE_INSTALL_HEADERS)
FILES_MATCHING
PATTERN "*.h"
PATTERN "*.inc"
+ PATTERN "CL" EXCLUDE
PATTERN "GLSLANG" EXCLUDE
PATTERN "egl.h" EXCLUDE
PATTERN "eglext.h" EXCLUDE
PATTERN "eglplatform.h" EXCLUDE
PATTERN "KHR" EXCLUDE
+ PATTERN "WGL" EXCLUDE
PATTERN "export.h" EXCLUDE
)
endif()
diff --git a/ports/angle/CONTROL b/ports/angle/CONTROL
deleted file mode 100644
index 512dd91f5..000000000
--- a/ports/angle/CONTROL
+++ /dev/null
@@ -1,7 +0,0 @@
-Source: angle
-Version: 2020-05-15
-Port-Version: 2
-Homepage: https://github.com/google/angle
-Description: A conformant OpenGL ES implementation for Windows, Mac and Linux.
- The goal of ANGLE is to allow users of multiple operating systems to seamlessly run WebGL and other OpenGL ES content by translating OpenGL ES API calls to one of the hardware-supported APIs available for that platform. ANGLE currently provides translation from OpenGL ES 2.0 and 3.0 to desktop OpenGL, OpenGL ES, Direct3D 9, and Direct3D 11. Support for translation from OpenGL ES to Vulkan is underway, and future plans include compute shader support (ES 3.1) and MacOS support.
-Build-Depends: egl-registry, opengl-registry
diff --git a/ports/angle/commit.h b/ports/angle/angle_commit.h
index 57a20e3b7..57a20e3b7 100644
--- a/ports/angle/commit.h
+++ b/ports/angle/angle_commit.h
diff --git a/ports/angle/portfile.cmake b/ports/angle/portfile.cmake
index 672e5173c..35c38074f 100644
--- a/ports/angle/portfile.cmake
+++ b/ports/angle/portfile.cmake
@@ -18,8 +18,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/angle
- REF d949154da428bb3e924e28a8eadfe2327631c8bb # chromium/4148
- SHA512 3ef1c94fccfca592057652e0ad305e3025184675e2323a714428ec934048496fbd242b5e1298bb5e3b3058b53d54f6889e446cbd81af7bea2cc6d5e13c7356bd
+ REF d15be77864e18f407c317be6f6bc06ee2b7d070a # chromium/4472
+ SHA512 aad8563ee65458a7865ec7c668d1f90ac2891583c569a22dcd2c557263b72b26386f56b74a7294398be2cf5c548df513159e4be53f3f096f19819ca06227d9ac
# On update check headers against opengl-registry
PATCHES
001-fix-uwp.patch
@@ -27,8 +27,30 @@ vcpkg_from_github(
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/commit.h DESTINATION ${SOURCE_PATH})
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/commit.h DESTINATION ${SOURCE_PATH}/src/common)
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/angle_commit.h DESTINATION ${SOURCE_PATH})
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/angle_commit.h DESTINATION ${SOURCE_PATH}/src/common)
+
+function(checkout_in_path_with_patches PATH URL REF PATCHES)
+ if(EXISTS "${PATH}")
+ return()
+ endif()
+
+ vcpkg_from_git(
+ OUT_SOURCE_PATH DEP_SOURCE_PATH
+ URL "${URL}"
+ REF "${REF}"
+ PATCHES ${PATCHES}
+ )
+ file(RENAME "${DEP_SOURCE_PATH}" "${PATH}")
+ file(REMOVE_RECURSE "${DEP_SOURCE_PATH}")
+endfunction()
+
+checkout_in_path_with_patches(
+ "${SOURCE_PATH}/third_party/zlib"
+ "https://chromium.googlesource.com/chromium/src/third_party/zlib"
+ "09490503d0f201b81e03f5ca0ab8ba8ee76d4a8e"
+ "third-party-zlib-far-undef.patch"
+)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
diff --git a/ports/angle/third-party-zlib-far-undef.patch b/ports/angle/third-party-zlib-far-undef.patch
new file mode 100644
index 000000000..c92b058d2
--- /dev/null
+++ b/ports/angle/third-party-zlib-far-undef.patch
@@ -0,0 +1,13 @@
+diff --git a/google/compression_utils_portable.h b/google/compression_utils_portable.h
+--- a/google/compression_utils_portable.h
++++ b/google/compression_utils_portable.h
+@@ -13,6 +13,9 @@
+ * zlib.
+ */
+ #if defined(USE_SYSTEM_ZLIB)
++# if defined(WIN32) && defined(FAR)
++# undef FAR
++# endif
+ #include <zlib.h>
+ /* AOSP build requires relative paths. */
+ #else
diff --git a/ports/angle/vcpkg.json b/ports/angle/vcpkg.json
new file mode 100644
index 000000000..0987e6c86
--- /dev/null
+++ b/ports/angle/vcpkg.json
@@ -0,0 +1,14 @@
+{
+ "name": "angle",
+ "version-string": "chromium_4472",
+ "description": [
+ "A conformant OpenGL ES implementation for Windows, Mac and Linux.",
+ "The goal of ANGLE is to allow users of multiple operating systems to seamlessly run WebGL and other OpenGL ES content by translating OpenGL ES API calls to one of the hardware-supported APIs available for that platform. ANGLE currently provides translation from OpenGL ES 2.0 and 3.0 to desktop OpenGL, OpenGL ES, Direct3D 9, and Direct3D 11. Support for translation from OpenGL ES to Vulkan is underway, and future plans include compute shader support (ES 3.1) and MacOS support."
+ ],
+ "homepage": "https://github.com/google/angle",
+ "dependencies": [
+ "egl-registry",
+ "opengl-registry",
+ "zlib"
+ ]
+}
diff --git a/versions/a-/angle.json b/versions/a-/angle.json
index 6b9219471..bbff894c6 100644
--- a/versions/a-/angle.json
+++ b/versions/a-/angle.json
@@ -1,6 +1,11 @@
{
"versions": [
{
+ "git-tree": "5bd610babb6f0fb15119aa94644494c0dc2bcd2c",
+ "version-string": "chromium_4472",
+ "port-version": 0
+ },
+ {
"git-tree": "48342ccfb3565a61cc9ed878a2ff422e294b4e56",
"version-string": "2020-05-15",
"port-version": 2
diff --git a/versions/baseline.json b/versions/baseline.json
index 92340f420..4652e9339 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -77,8 +77,8 @@
"port-version": 0
},
"angle": {
- "baseline": "2020-05-15",
- "port-version": 2
+ "baseline": "chromium_4472",
+ "port-version": 0
},
"antlr4": {
"baseline": "4.9.1",