mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-18 10:07:51 +08:00
[angle] Update to chromium/4472 (#18432)
* [angle] Update to chromium/4472 * Run x-add-version angle
This commit is contained in:
parent
0e1dc12185
commit
1c20782ea4
@ -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"
|
||||
@ -75,9 +90,21 @@ add_library(angle_common OBJECT ${ANGLE_COMMON_SOURCES})
|
||||
target_include_directories(angle_common PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/common/third_party/base>")
|
||||
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()
|
||||
|
@ -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
|
@ -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}
|
||||
|
13
ports/angle/third-party-zlib-far-undef.patch
Normal file
13
ports/angle/third-party-zlib-far-undef.patch
Normal file
@ -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
|
14
ports/angle/vcpkg.json
Normal file
14
ports/angle/vcpkg.json
Normal file
@ -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"
|
||||
]
|
||||
}
|
@ -1,5 +1,10 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "5bd610babb6f0fb15119aa94644494c0dc2bcd2c",
|
||||
"version-string": "chromium_4472",
|
||||
"port-version": 0
|
||||
},
|
||||
{
|
||||
"git-tree": "48342ccfb3565a61cc9ed878a2ff422e294b4e56",
|
||||
"version-string": "2020-05-15",
|
||||
|
@ -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",
|
||||
|
Loading…
Reference in New Issue
Block a user