From 3efc7b2e17828252201bea5ab3e06dd5e486e323 Mon Sep 17 00:00:00 2001 From: bruvzg <7645683+bruvzg@users.noreply.github.com> Date: Wed, 17 Jul 2024 09:29:27 +0300 Subject: [PATCH] =?UTF-8?q?=EF=BB=BFAdd=20submodules=20update=20scipts=20a?= =?UTF-8?q?nd=20setup=20CI=20build.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yaml | 253 +++++ .gitignore | 134 +-- .gitmodules | 10 + LICENSE | 32 - LICENSE.md | 21 + SConstruct | 1110 ++++++++++--------- angle | 1 + file_list | 537 +++++++++ godot-patches/patch_ios_swap_rename.diff | 12 + godot-patches/patch_metal_cmd_buf_leak.diff | 39 + godot-patches/patch_mingw_build.diff | 52 +- godot-tools/ios.py | 107 ++ godot-tools/windows.py | 13 +- third_party/astc-encoder/src | 1 + third_party/zlib | 1 + update_angle.sh | 53 + 16 files changed, 1631 insertions(+), 745 deletions(-) create mode 100644 .github/workflows/ci.yaml create mode 100644 .gitmodules delete mode 100644 LICENSE create mode 100644 LICENSE.md create mode 160000 angle create mode 100644 file_list create mode 100644 godot-patches/patch_ios_swap_rename.diff create mode 100644 godot-patches/patch_metal_cmd_buf_leak.diff create mode 100644 godot-tools/ios.py create mode 160000 third_party/astc-encoder/src create mode 160000 third_party/zlib create mode 100755 update_angle.sh diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 00000000000..9de129a448f --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,253 @@ +name: Godot ANGLE static libs + +on: + push: + pull_request: + workflow_dispatch: + +jobs: + build: + name: ${{ matrix.name }} + strategy: + matrix: + include: + # macOS and iOS + - name: 🍎 macOS x86_64 + platform: macos + os: macos-13 + xcode: "15.0" + artifact-name: godot-angle-static-x86_64-macos-release + artifact-path-angle: bin/libANGLE.macos.x86_64.a + artifact-path-egl: bin/libEGL.macos.x86_64.a + artifact-path-gles: bin/libGLES.macos.x86_64.a + flags: arch=x86_64 + + - name: 🍎 macOS arm64 + platform: macos + os: macos-13 + xcode: "15.0" + artifact-name: godot-angle-static-arm64-macos-release + artifact-path-angle: bin/libANGLE.macos.arm64.a + artifact-path-egl: bin/libEGL.macos.arm64.a + artifact-path-gles: bin/libGLES.macos.arm64.a + flags: arch=arm64 + + - name: 🍏 iOS x86_64 simulator + platform: ios + os: macos-13 + xcode: "15.0" + artifact-name: godot-angle-static-x86_64-ios-sim-release + artifact-path-angle: bin/libANGLE.ios.x86_64.simulator.a + artifact-path-egl: bin/libEGL.ios.x86_64.simulator.a + artifact-path-gles: bin/libGLES.ios.x86_64.simulator.a + flags: arch=x86_64 ios_simulator=yes + + - name: 🍏 iOS arm64 simulator + platform: ios + os: macos-13 + xcode: "15.0" + artifact-name: godot-angle-static-arm64-ios-sim-release + artifact-path-angle: bin/libANGLE.ios.arm64.simulator.a + artifact-path-egl: bin/libEGL.ios.arm64.simulator.a + artifact-path-gles: bin/libGLES.ios.arm64.simulator.a + flags: arch=arm64 ios_simulator=yes + + - name: 🍏 iOS arm64 device + platform: ios + os: macos-13 + xcode: "15.0" + artifact-name: godot-angle-static-arm64-ios-release + artifact-path-angle: bin/libANGLE.ios.arm64.a + artifact-path-egl: bin/libEGL.ios.arm64.a + artifact-path-gles: bin/libGLES.ios.arm64.a + flags: arch=arm64 + + # MinGW/LLVM libs using UCRT + - name: 🏁 Windows - MinGW/LLVM (UCRT) x86_64 + platform: windows + os: windows-2019 + artifact-name: godot-angle-static-x86_64-llvm-release + artifact-path-angle: bin/libANGLE.windows.x86_64.a + artifact-path-egl: bin/libEGL.windows.x86_64.a + artifact-path-gles: bin/libGLES.windows.x86_64.a + flags: use_mingw=yes arch=x86_64 use_llvm=yes mingw_prefix=$HOME/llvm-mingw + llvm: yes + + - name: 🏁 Windows - MinGW/LLVM (UCRT) x86_32 + platform: windows + os: windows-2019 + artifact-name: godot-angle-static-x86_32-llvm-release + artifact-path-angle: bin/libANGLE.windows.x86_32.a + artifact-path-egl: bin/libEGL.windows.x86_32.a + artifact-path-gles: bin/libGLES.windows.x86_32.a + flags: use_mingw=yes arch=x86_32 use_llvm=yes mingw_prefix=$HOME/llvm-mingw + llvm: yes + + - name: 🏁 Windows - MinGW/LLVM (UCRT) arm64 + platform: windows + os: windows-2019 + artifact-name: godot-angle-static-arm64-llvm-release + artifact-path-angle: bin/libANGLE.windows.arm64.a + artifact-path-egl: bin/libEGL.windows.arm64.a + artifact-path-gles: bin/libGLES.windows.arm64.a + flags: use_mingw=yes arch=arm64 use_llvm=yes mingw_prefix=$HOME/llvm-mingw + llvm: yes + + # MSVC libs + - name: 🏁 Windows - MSVC x86_64 + platform: windows + os: windows-2019 + artifact-name: godot-angle-static-x86_64-msvc-release + artifact-path-angle: bin/libANGLE.windows.x86_64.lib + artifact-path-egl: bin/libEGL.windows.x86_64.lib + artifact-path-gles: bin/libGLES.windows.x86_64.lib + flags: use_mingw=no arch=x86_64 + + - name: 🏁 Windows - MSVC x86_32 + platform: windows + os: windows-2019 + artifact-name: godot-angle-static-x86_32-msvc-release + artifact-path-angle: bin/libANGLE.windows.x86_32.lib + artifact-path-egl: bin/libEGL.windows.x86_32.lib + artifact-path-gles: bin/libGLES.windows.x86_32.lib + flags: use_mingw=no arch=x86_32 + + - name: 🏁 Windows - MSVC arm64 + platform: windows + os: windows-2019 + artifact-name: godot-angle-static-arm64-msvc-release + artifact-path-angle: bin/libANGLE.windows.arm64.lib + artifact-path-egl: bin/libEGL.windows.arm64.lib + artifact-path-gles: bin/libGLES.windows.arm64.lib + flags: use_mingw=no arch=arm64 + + - name: 🏁 Windows - MSVC arm32 + platform: windows + os: windows-2019 + artifact-name: godot-angle-static-arm32-msvc-release + artifact-path-angle: bin/libANGLE.windows.arm32.lib + artifact-path-egl: bin/libEGL.windows.arm32.lib + artifact-path-gles: bin/libGLES.windows.arm32.lib + flags: use_mingw=no arch=arm32 + + # MinGW/GCC libs using MSVCRT + - name: 🏁 Windows - MinGW/GCC (MSVCRT) x86_64 + platform: windows + os: windows-2019 + artifact-name: godot-angle-static-x86_64-gcc-release + artifact-path-angle: bin/libANGLE.windows.x86_64.a + artifact-path-egl: bin/libEGL.windows.x86_64.a + artifact-path-gles: bin/libGLES.windows.x86_64.a + flags: use_mingw=yes arch=x86_64 + mingw: yes + msys: mingw64 + msysenv: x86_64 + + - name: 🏁 Windows - MinGW/GCC (MSVCRT) x86_32 + platform: windows + os: windows-2019 + artifact-name: godot-angle-static-x86_32-gcc-release + artifact-path-angle: bin/libANGLE.windows.x86_32.a + artifact-path-egl: bin/libEGL.windows.x86_32.a + artifact-path-gles: bin/libGLES.windows.x86_32.a + flags: use_mingw=yes arch=x86_32 + mingw: yes + msys: mingw32 + msysenv: i686 + + runs-on: ${{ matrix.os }} + + env: + XCODE_DEV_PATH: "/Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer" + + steps: + - uses: actions/checkout@v4 + with: + submodules: 'true' + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.x' + + - name: Select Xcode version + if: ${{ matrix.platform == 'macos' || matrix.platform == 'ios' }} + run: sudo xcode-select -switch "${XCODE_DEV_PATH}" + + - name: Install SCons (Native env) + if: ${{ matrix.mingw != 'yes' }} + run: | + python -m pip install scons==4.0.0 + + - name: Install mako + run: | + python -m pip install mako + + - name: Setup MinGW/LLVM + if: ${{ matrix.platform == 'windows' && matrix.llvm == 'yes' }} + run: | + curl -L -O https://github.com/mstorsjo/llvm-mingw/releases/download/20240619/llvm-mingw-20240619-ucrt-x86_64.zip + unzip -q llvm-mingw-*.zip + rm llvm-mingw-*.zip + mv llvm-mingw-* "$HOME/llvm-mingw" + echo "$HOME/llvm-mingw/bin" >> $GITHUB_PATH + + - name: Setup MinGW/MSYS2 + if: ${{ matrix.mingw == 'yes' }} + uses: msys2/setup-msys2@v2 + with: + update: true + msystem: ${{matrix.msys}} + install: mingw-w64-${{matrix.msysenv}}-gcc mingw-w64-${{matrix.msysenv}}-scons + + - name: Prepare ANGLE source + shell: bash + run: | + ./update_angle.sh + + - name: Build ANGLE (Native env) + if: ${{ matrix.mingw != 'yes' }} + run: | + scons platform=${{ matrix.platform }} ${{ matrix.flags }} optimize=speed + + - name: Build ANGLE (MSYS2 env) + if: ${{ matrix.mingw == 'yes' }} + shell: msys2 {0} + run: | + scons platform=${{ matrix.platform }} ${{ matrix.flags }} optimize=speed + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.artifact-name }} + path: | + ${{ matrix.artifact-path-angle }} + ${{ matrix.artifact-path-egl }} + ${{ matrix.artifact-path-gles }} + if-no-files-found: error + + release: + name: 'Release' + + needs: [build] + + runs-on: ubuntu-latest + + if: ${{ startsWith(github.ref, 'refs/tags/') }} + + permissions: + contents: write + + steps: + - name: Download Artifacts + uses: actions/download-artifact@v4 + + - name: Create Release + uses: ncipollo/release-action@v1 + with: + allowUpdates: true + removeArtifacts: true + omitNameDuringUpdate: true + omitBodyDuringUpdate: true + artifacts: "godot-angle-static*" + artifactErrorsFailBuild: true diff --git a/.gitignore b/.gitignore index 188959821bb..394e0ea5beb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,134 +1,4 @@ -.DS_Store -.vs -.vscode -*.Makefile -*.ncb -*.nvuser -*.opensdf -*.orig -*.psess -*.pyc -*.rej -*.sdf -*.sln -*.suo -*.target.mk -*.TMP -*.VC.db -*.VC.opendb -*.vcproj -*.vcxproj -*.vcxproj.filters -*.vcxproj.user -*.vsp -*~ -.*.sw* -.sw* -.cipd -.gclient* -.git_cl_description_backup -/src/tests/third_party/gles_conformance_tests -/testing -/third_party/abseil-cpp -/third_party/android_build_tools -/third_party/android_deps -/third_party/android_platform -/third_party/android_sdk -/third_party/android_system_sdk/*.jar -/third_party/android_toolchain -/third_party/astc-encoder/src -/third_party/bazel/desugar/*.jar -/third_party/catapult -/third_party/cherry -/third_party/clang-format/script -/third_party/colorama/src -/third_party/cpu_features/src -/third_party/depot_tools -/third_party/EGL-Registry/src -/third_party/flatbuffers/src -/third_party/fuchsia-sdk -/third_party/gles1_conform -/third_party/glmark2/src -/third_party/googletest -/third_party/ijar -/third_party/jdk/current -/third_party/jdk/extras/java_8 -/third_party/jinja2 -/third_party/jsoncpp -/third_party/kotlin_stdlib -/third_party/libdrm -/third_party/libjpeg_turbo -/third_party/libpng/src -/third_party/llvm-build -/third_party/markupsafe -/third_party/meson -/third_party/nasm -/third_party/ninja -/third_party/OpenCL-Docs/src -/third_party/OpenCL-ICD-Loader/src -/third_party/OpenGL-Registry/src -/third_party/proguard/lib -/third_party/protobuf -/third_party/Python-Markdown -/third_party/qemu-linux-x64 -/third_party/qemu-mac-x64 -/third_party/r8/d8 -/third_party/r8/lib -/third_party/rapidjson/src -/third_party/requests/src -/third_party/six -/third_party/SwiftShader -/third_party/turbine/*.jar -/third_party/VK-GL-CTS/src -/third_party/vulkan-deps -/third_party/vulkan_memory_allocator -/third_party/wayland -/third_party/zlib -/tools/android -/tools/clang -/tools/flex-bison/linux/bison -/tools/flex-bison/linux/flex -/tools/flex-bison/windows/bison.exe -/tools/flex-bison/windows/flex.exe -/tools/flex-bison/windows/m4.exe -/tools/flex-bison/windows/msys*.dll -/tools/glslang/glslang_validator -/tools/glslang/glslang_validator.exe -/tools/luci-go -/tools/mb -/tools/md_browser -/tools/memory -/tools/perf -/tools/protoc_wrapper -/tools/python -/tools/skia_goldctl -/tools/valgrind -angle.iml -angle_debug.txt -/build -/buildtools -debug.txt -Debug/ -Debug_ARM/ -Debug_Win32/ -Debug_x64/ -diag.txt -ipch -lib/* -out -patches-* -Release/ -Release_ARM/ -Release_Win32/ -Release_x64/ -TestResults.qpa -.idea/ - -# Any temporary files will confuse code generation. -!scripts/code_generation_hashes/* - -# Godot scons files. -*.obj .sconsign.dblite bin/ -*.o +godot-angle/ +*.pyc diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000000..4b329cc1b1f --- /dev/null +++ b/.gitmodules @@ -0,0 +1,10 @@ +[submodule "angle"] + path = angle + url = https://chromium.googlesource.com/angle/angle + branch = chromium/6601 +[submodule "third_party/astc-encoder/src"] + path = third_party/astc-encoder/src + url = https://chromium.googlesource.com/external/github.com/ARM-software/astc-encoder +[submodule "third_party/zlib"] + path = third_party/zlib + url = https://chromium.googlesource.com/chromium/src/third_party/zlib diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 0f65fd60fd6..00000000000 --- a/LICENSE +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2018 The ANGLE Project Authors. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following -// disclaimer in the documentation and/or other materials provided -// with the distribution. -// -// Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. -// Ltd., nor the names of their contributors may be used to endorse -// or promote products derived from this software without specific -// prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -// POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 00000000000..eb446fe72ce --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,21 @@ +# MIT License + +Copyright (c) 2017-present Godot Engine contributors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/SConstruct b/SConstruct index 5a0e2bb77a8..8a567e5cf49 100644 --- a/SConstruct +++ b/SConstruct @@ -67,7 +67,7 @@ if profile: customs.append(profile + ".py") opts = Variables(customs, ARGUMENTS) -platforms = ("macos", "windows") +platforms = ("macos", "ios", "windows") opts.Add( EnumVariable( key="platform", @@ -78,8 +78,6 @@ opts.Add( ) ) -opts.Add(BoolVariable("use_asan", "Use address sanitizer (ASAN) in MSVC", False)) - # Add platform options tools = {} for pl in platforms: @@ -179,12 +177,6 @@ if env["platform"] == "macos": elif env["platform"] == "windows": env.AppendUnique(CPPDEFINES=["WINVER=0x0603", "_WIN32_WINNT=0x0603"]) -# Sanitizers. -if env.get("use_asan", False) and and env.get("is_msvc", False): - env["extra_suffix"] = "san" - env.Append(LINKFLAGS=["/INFERASANLIBS"]) - env.Append(CCFLAGS=["/fsanitize=address"]) - scons_cache_path = os.environ.get("SCONS_CACHE") if scons_cache_path is not None: @@ -192,296 +184,301 @@ if scons_cache_path is not None: Decider("MD5") angle_sources = [ - "src/common/aligned_memory.cpp", - "src/common/android_util.cpp", - "src/common/angleutils.cpp", - "src/common/angle_version_info.cpp", - "src/common/CompiledShaderState.cpp", - "src/common/debug.cpp", - "src/common/entry_points_enum_autogen.cpp", - "src/common/event_tracer.cpp", - "src/common/Float16ToFloat32.cpp", - "src/common/gl_enum_utils.cpp", - "src/common/gl_enum_utils_autogen.cpp", - "src/common/mathutil.cpp", - "src/common/matrix_utils.cpp", - "src/common/MemoryBuffer.cpp", - "src/common/PackedCLEnums_autogen.cpp", - "src/common/PackedEGLEnums_autogen.cpp", - "src/common/PackedEnums.cpp", - "src/common/PackedGLEnums_autogen.cpp", - "src/common/platform_helpers.cpp", - "src/common/PoolAlloc.cpp", - "src/common/RingBufferAllocator.cpp", - "src/common/string_utils.cpp", - "src/common/system_utils.cpp", - "src/common/tls.cpp", - "src/common/uniform_type_info_autogen.cpp", - "src/common/utilities.cpp", - "src/common/WorkerThread.cpp", - "src/common/base/anglebase/sha1.cc", - "src/compiler/preprocessor/DiagnosticsBase.cpp", - "src/compiler/preprocessor/DirectiveHandlerBase.cpp", - "src/compiler/preprocessor/DirectiveParser.cpp", - "src/compiler/preprocessor/Input.cpp", - "src/compiler/preprocessor/Lexer.cpp", - "src/compiler/preprocessor/Macro.cpp", - "src/compiler/preprocessor/MacroExpander.cpp", - "src/compiler/preprocessor/Preprocessor.cpp", - "src/compiler/preprocessor/preprocessor_lex_autogen.cpp", - "src/compiler/preprocessor/preprocessor_tab_autogen.cpp", - "src/compiler/preprocessor/Token.cpp", - "src/compiler/translator/BaseTypes.cpp", - "src/compiler/translator/blocklayout.cpp", - "src/compiler/translator/BuiltInFunctionEmulator.cpp", - "src/compiler/translator/CallDAG.cpp", - "src/compiler/translator/CodeGen.cpp", - "src/compiler/translator/CollectVariables.cpp", - "src/compiler/translator/Compiler.cpp", - "src/compiler/translator/ConstantUnion.cpp", - "src/compiler/translator/Declarator.cpp", - "src/compiler/translator/Diagnostics.cpp", - "src/compiler/translator/DirectiveHandler.cpp", - "src/compiler/translator/ExtensionBehavior.cpp", - "src/compiler/translator/FlagStd140Structs.cpp", - "src/compiler/translator/FunctionLookup.cpp", - "src/compiler/translator/glslang_lex_autogen.cpp", - "src/compiler/translator/glslang_tab_autogen.cpp", - "src/compiler/translator/HashNames.cpp", - "src/compiler/translator/ImmutableStringBuilder.cpp", - "src/compiler/translator/ImmutableString_ESSL_autogen.cpp", - "src/compiler/translator/InfoSink.cpp", - "src/compiler/translator/Initialize.cpp", - "src/compiler/translator/InitializeDll.cpp", - "src/compiler/translator/IntermNode.cpp", - "src/compiler/translator/IsASTDepthBelowLimit.cpp", - "src/compiler/translator/Operator.cpp", - "src/compiler/translator/OutputTree.cpp", - "src/compiler/translator/ParseContext.cpp", - "src/compiler/translator/PoolAlloc.cpp", - "src/compiler/translator/QualifierTypes.cpp", - "src/compiler/translator/ShaderLang.cpp", - "src/compiler/translator/ShaderVars.cpp", - "src/compiler/translator/Symbol.cpp", - "src/compiler/translator/SymbolTable.cpp", - "src/compiler/translator/SymbolTable_ESSL_autogen.cpp", - "src/compiler/translator/SymbolUniqueId.cpp", - "src/compiler/translator/Types.cpp", - "src/compiler/translator/util.cpp", - "src/compiler/translator/ValidateAST.cpp", - "src/compiler/translator/ValidateBarrierFunctionCall.cpp", - "src/compiler/translator/ValidateClipCullDistance.cpp", - "src/compiler/translator/ValidateGlobalInitializer.cpp", - "src/compiler/translator/ValidateLimitations.cpp", - "src/compiler/translator/ValidateMaxParameters.cpp", - "src/compiler/translator/ValidateOutputs.cpp", - "src/compiler/translator/ValidateSwitch.cpp", - "src/compiler/translator/ValidateTypeSizeLimitations.cpp", - "src/compiler/translator/ValidateVaryingLocations.cpp", - "src/compiler/translator/VariablePacker.cpp", - "src/compiler/translator/glsl/BuiltInFunctionEmulatorGLSL.cpp", - "src/compiler/translator/glsl/ExtensionGLSL.cpp", - "src/compiler/translator/glsl/OutputESSL.cpp", - "src/compiler/translator/glsl/OutputGLSL.cpp", - "src/compiler/translator/glsl/OutputGLSLBase.cpp", - "src/compiler/translator/glsl/TranslatorESSL.cpp", - "src/compiler/translator/glsl/TranslatorGLSL.cpp", - "src/compiler/translator/glsl/VersionGLSL.cpp", - "src/compiler/translator/tree_ops/ClampFragDepth.cpp", - "src/compiler/translator/tree_ops/ClampIndirectIndices.cpp", - "src/compiler/translator/tree_ops/ClampPointSize.cpp", - "src/compiler/translator/tree_ops/DeclareAndInitBuiltinsForInstancedMultiview.cpp", - "src/compiler/translator/tree_ops/DeclarePerVertexBlocks.cpp", - "src/compiler/translator/tree_ops/DeferGlobalInitializers.cpp", - "src/compiler/translator/tree_ops/EmulateGLFragColorBroadcast.cpp", - "src/compiler/translator/tree_ops/EmulateMultiDrawShaderBuiltins.cpp", - "src/compiler/translator/tree_ops/FoldExpressions.cpp", - "src/compiler/translator/tree_ops/ForcePrecisionQualifier.cpp", - "src/compiler/translator/tree_ops/InitializeVariables.cpp", - "src/compiler/translator/tree_ops/MonomorphizeUnsupportedFunctions.cpp", - "src/compiler/translator/tree_ops/PruneEmptyCases.cpp", - "src/compiler/translator/tree_ops/PruneNoOps.cpp", - "src/compiler/translator/tree_ops/RecordConstantPrecision.cpp", - "src/compiler/translator/tree_ops/RemoveArrayLengthMethod.cpp", - "src/compiler/translator/tree_ops/RemoveAtomicCounterBuiltins.cpp", - "src/compiler/translator/tree_ops/RemoveDynamicIndexing.cpp", - "src/compiler/translator/tree_ops/RemoveInactiveInterfaceVariables.cpp", - "src/compiler/translator/tree_ops/RemoveInvariantDeclaration.cpp", - "src/compiler/translator/tree_ops/RemoveUnreferencedVariables.cpp", - "src/compiler/translator/tree_ops/RewriteArrayOfArrayOfOpaqueUniforms.cpp", - "src/compiler/translator/tree_ops/RewriteAtomicCounters.cpp", - "src/compiler/translator/tree_ops/RewriteCubeMapSamplersAs2DArray.cpp", - "src/compiler/translator/tree_ops/RewriteDfdy.cpp", - "src/compiler/translator/tree_ops/RewritePixelLocalStorage.cpp", - "src/compiler/translator/tree_ops/RewriteStructSamplers.cpp", - "src/compiler/translator/tree_ops/RewriteTexelFetchOffset.cpp", - "src/compiler/translator/tree_ops/SeparateDeclarations.cpp", - "src/compiler/translator/tree_ops/SeparateStructFromUniformDeclarations.cpp", - "src/compiler/translator/tree_ops/SimplifyLoopConditions.cpp", - "src/compiler/translator/tree_ops/SplitSequenceOperator.cpp", - "src/compiler/translator/tree_ops/glsl/RegenerateStructNames.cpp", - "src/compiler/translator/tree_ops/glsl/RewriteRepeatedAssignToSwizzled.cpp", - "src/compiler/translator/tree_ops/glsl/ScalarizeVecAndMatConstructorArgs.cpp", - "src/compiler/translator/tree_ops/glsl/UseInterfaceBlockFields.cpp", - "src/compiler/translator/tree_util/DriverUniform.cpp", - "src/compiler/translator/tree_util/FindFunction.cpp", - "src/compiler/translator/tree_util/FindMain.cpp", - "src/compiler/translator/tree_util/FindPreciseNodes.cpp", - "src/compiler/translator/tree_util/FindSymbolNode.cpp", - "src/compiler/translator/tree_util/IntermNodePatternMatcher.cpp", - "src/compiler/translator/tree_util/IntermNode_util.cpp", - "src/compiler/translator/tree_util/IntermTraverse.cpp", - "src/compiler/translator/tree_util/ReplaceArrayOfMatrixVarying.cpp", - "src/compiler/translator/tree_util/ReplaceClipCullDistanceVariable.cpp", - "src/compiler/translator/tree_util/ReplaceShadowingVariables.cpp", - "src/compiler/translator/tree_util/ReplaceVariable.cpp", - "src/compiler/translator/tree_util/RewriteSampleMaskVariable.cpp", - "src/compiler/translator/tree_util/RunAtTheBeginningOfShader.cpp", - "src/compiler/translator/tree_util/RunAtTheEndOfShader.cpp", - "src/compiler/translator/tree_util/SpecializationConstant.cpp", - "src/gpu_info_util/SystemInfo.cpp", - "src/libANGLE/angletypes.cpp", - "src/libANGLE/AttributeMap.cpp", - "src/libANGLE/BlobCache.cpp", - "src/libANGLE/Buffer.cpp", - "src/libANGLE/Caps.cpp", - "src/libANGLE/CLBuffer.cpp", - "src/libANGLE/CLCommandQueue.cpp", - "src/libANGLE/CLContext.cpp", - "src/libANGLE/CLDevice.cpp", - "src/libANGLE/CLEvent.cpp", - "src/libANGLE/CLImage.cpp", - "src/libANGLE/CLKernel.cpp", - "src/libANGLE/CLMemory.cpp", - "src/libANGLE/CLObject.cpp", - "src/libANGLE/CLPlatform.cpp", - "src/libANGLE/CLProgram.cpp", - "src/libANGLE/CLSampler.cpp", - "src/libANGLE/cl_utils.cpp", - "src/libANGLE/Compiler.cpp", - "src/libANGLE/Config.cpp", - "src/libANGLE/Context.cpp", - "src/libANGLE/Context_gl.cpp", - "src/libANGLE/Context_gles_1_0.cpp", - "src/libANGLE/context_private_call_gl.cpp", - "src/libANGLE/context_private_call_gles.cpp", - "src/libANGLE/Debug.cpp", - "src/libANGLE/Device.cpp", - "src/libANGLE/Display.cpp", - "src/libANGLE/EGLSync.cpp", - "src/libANGLE/entry_points_utils.cpp", - "src/libANGLE/Error.cpp", - "src/libANGLE/es3_copy_conversion_table_autogen.cpp", - "src/libANGLE/Fence.cpp", - "src/libANGLE/formatutils.cpp", - "src/libANGLE/format_map_autogen.cpp", - "src/libANGLE/format_map_desktop.cpp", - "src/libANGLE/Framebuffer.cpp", - "src/libANGLE/FramebufferAttachment.cpp", - "src/libANGLE/GLES1Renderer.cpp", - "src/libANGLE/GLES1State.cpp", - "src/libANGLE/gles_extensions_autogen.cpp", - "src/libANGLE/GlobalMutex.cpp", - "src/libANGLE/HandleAllocator.cpp", - "src/libANGLE/Image.cpp", - "src/libANGLE/ImageIndex.cpp", - "src/libANGLE/IndexRangeCache.cpp", - "src/libANGLE/LoggingAnnotator.cpp", - "src/libANGLE/MemoryObject.cpp", - "src/libANGLE/MemoryProgramCache.cpp", - "src/libANGLE/MemoryShaderCache.cpp", - "src/libANGLE/Observer.cpp", - "src/libANGLE/Overlay.cpp", - "src/libANGLE/OverlayWidgets.cpp", - "src/libANGLE/Overlay_autogen.cpp", - "src/libANGLE/Overlay_font_autogen.cpp", - "src/libANGLE/PixelLocalStorage.cpp", - "src/libANGLE/Platform.cpp", - "src/libANGLE/Program.cpp", - "src/libANGLE/ProgramExecutable.cpp", - "src/libANGLE/ProgramLinkedResources.cpp", - "src/libANGLE/ProgramPipeline.cpp", - "src/libANGLE/Query.cpp", - "src/libANGLE/queryconversions.cpp", - "src/libANGLE/queryutils.cpp", - "src/libANGLE/Renderbuffer.cpp", - "src/libANGLE/ResourceManager.cpp", - "src/libANGLE/Sampler.cpp", - "src/libANGLE/Semaphore.cpp", - "src/libANGLE/Shader.cpp", - "src/libANGLE/SharedContextMutex.cpp", - "src/libANGLE/ShareGroup.cpp", - "src/libANGLE/State.cpp", - "src/libANGLE/Stream.cpp", - "src/libANGLE/Surface.cpp", - "src/libANGLE/Texture.cpp", - "src/libANGLE/Thread.cpp", - "src/libANGLE/TransformFeedback.cpp", - "src/libANGLE/Uniform.cpp", - "src/libANGLE/validationCL.cpp", - "src/libANGLE/validationEGL.cpp", - "src/libANGLE/validationES.cpp", - "src/libANGLE/validationES1.cpp", - "src/libANGLE/validationES2.cpp", - "src/libANGLE/validationES3.cpp", - "src/libANGLE/validationES31.cpp", - "src/libANGLE/validationES32.cpp", - "src/libANGLE/validationESEXT.cpp", - "src/libANGLE/validationGL1.cpp", - "src/libANGLE/validationGL2.cpp", - "src/libANGLE/validationGL3.cpp", - "src/libANGLE/validationGL4.cpp", - "src/libANGLE/VaryingPacking.cpp", - "src/libANGLE/VertexArray.cpp", - "src/libANGLE/VertexAttribute.cpp", - "src/libANGLE/capture/FrameCapture_mock.cpp", - "src/libANGLE/capture/serialize_mock.cpp", - "src/libANGLE/renderer/BufferImpl.cpp", - "src/libANGLE/renderer/CLCommandQueueImpl.cpp", - "src/libANGLE/renderer/CLContextImpl.cpp", - "src/libANGLE/renderer/CLDeviceImpl.cpp", - "src/libANGLE/renderer/CLEventImpl.cpp", - "src/libANGLE/renderer/CLExtensions.cpp", - "src/libANGLE/renderer/CLKernelImpl.cpp", - "src/libANGLE/renderer/CLMemoryImpl.cpp", - "src/libANGLE/renderer/CLPlatformImpl.cpp", - "src/libANGLE/renderer/CLProgramImpl.cpp", - "src/libANGLE/renderer/CLSamplerImpl.cpp", - "src/libANGLE/renderer/ContextImpl.cpp", - "src/libANGLE/renderer/DeviceImpl.cpp", - "src/libANGLE/renderer/DisplayImpl.cpp", - "src/libANGLE/renderer/driver_utils.cpp", - "src/libANGLE/renderer/EGLReusableSync.cpp", - "src/libANGLE/renderer/EGLSyncImpl.cpp", - "src/libANGLE/renderer/Format_table_autogen.cpp", - "src/libANGLE/renderer/FramebufferImpl.cpp", - "src/libANGLE/renderer/ImageImpl.cpp", - "src/libANGLE/renderer/load_functions_table_autogen.cpp", - "src/libANGLE/renderer/ProgramImpl.cpp", - "src/libANGLE/renderer/ProgramPipelineImpl.cpp", - "src/libANGLE/renderer/QueryImpl.cpp", - "src/libANGLE/renderer/RenderbufferImpl.cpp", - "src/libANGLE/renderer/renderer_utils.cpp", - "src/libANGLE/renderer/ShaderImpl.cpp", - "src/libANGLE/renderer/SurfaceImpl.cpp", - "src/libANGLE/renderer/TextureImpl.cpp", - "src/libANGLE/renderer/TransformFeedbackImpl.cpp", - "src/libANGLE/renderer/VertexArrayImpl.cpp", - "src/image_util/AstcDecompressor.cpp", - "src/image_util/copyimage.cpp", - "src/image_util/imageformats.cpp", - "src/image_util/loadimage.cpp", - "src/image_util/loadimage_astc.cpp", - "src/image_util/loadimage_etc.cpp", - "src/image_util/loadimage_paletted.cpp", - "src/image_util/storeimage_paletted.cpp", - "src/common/third_party/xxhash/xxhash.c", + "angle/src/common/CompiledShaderState.cpp", + "angle/src/common/Float16ToFloat32.cpp", + "angle/src/common/MemoryBuffer.cpp", + "angle/src/common/PackedCLEnums_autogen.cpp", + "angle/src/common/PackedEGLEnums_autogen.cpp", + "angle/src/common/PackedEnums.cpp", + "angle/src/common/PackedGLEnums_autogen.cpp", + "angle/src/common/PoolAlloc.cpp", + "angle/src/common/RingBufferAllocator.cpp", + "angle/src/common/SimpleMutex.cpp", + "angle/src/common/WorkerThread.cpp", + "angle/src/common/aligned_memory.cpp", + "angle/src/common/android_util.cpp", + "angle/src/common/angle_version_info.cpp", + "angle/src/common/angleutils.cpp", + "angle/src/common/debug.cpp", + "angle/src/common/entry_points_enum_autogen.cpp", + "angle/src/common/event_tracer.cpp", + "angle/src/common/gl_enum_utils.cpp", + "angle/src/common/gl_enum_utils_autogen.cpp", + "angle/src/common/mathutil.cpp", + "angle/src/common/matrix_utils.cpp", + "angle/src/common/platform_helpers.cpp", + "angle/src/common/string_utils.cpp", + "angle/src/common/system_utils.cpp", + "angle/src/common/tls.cpp", + "angle/src/common/uniform_type_info_autogen.cpp", + "angle/src/common/utilities.cpp", + "angle/src/common/base/anglebase/sha1.cc", + "angle/src/compiler/preprocessor/DiagnosticsBase.cpp", + "angle/src/compiler/preprocessor/DirectiveHandlerBase.cpp", + "angle/src/compiler/preprocessor/DirectiveParser.cpp", + "angle/src/compiler/preprocessor/Input.cpp", + "angle/src/compiler/preprocessor/Lexer.cpp", + "angle/src/compiler/preprocessor/Macro.cpp", + "angle/src/compiler/preprocessor/MacroExpander.cpp", + "angle/src/compiler/preprocessor/Preprocessor.cpp", + "angle/src/compiler/preprocessor/Token.cpp", + "angle/src/compiler/preprocessor/preprocessor_lex_autogen.cpp", + "angle/src/compiler/preprocessor/preprocessor_tab_autogen.cpp", + "angle/src/compiler/translator/BaseTypes.cpp", + "angle/src/compiler/translator/BuiltInFunctionEmulator.cpp", + "angle/src/compiler/translator/CallDAG.cpp", + "angle/src/compiler/translator/CodeGen.cpp", + "angle/src/compiler/translator/CollectVariables.cpp", + "angle/src/compiler/translator/Compiler.cpp", + "angle/src/compiler/translator/ConstantUnion.cpp", + "angle/src/compiler/translator/Declarator.cpp", + "angle/src/compiler/translator/Diagnostics.cpp", + "angle/src/compiler/translator/DirectiveHandler.cpp", + "angle/src/compiler/translator/ExtensionBehavior.cpp", + "angle/src/compiler/translator/FlagStd140Structs.cpp", + "angle/src/compiler/translator/FunctionLookup.cpp", + "angle/src/compiler/translator/HashNames.cpp", + "angle/src/compiler/translator/ImmutableStringBuilder.cpp", + "angle/src/compiler/translator/ImmutableString_ESSL_autogen.cpp", + "angle/src/compiler/translator/InfoSink.cpp", + "angle/src/compiler/translator/Initialize.cpp", + "angle/src/compiler/translator/InitializeDll.cpp", + "angle/src/compiler/translator/IntermNode.cpp", + "angle/src/compiler/translator/IntermRebuild.cpp", + "angle/src/compiler/translator/IsASTDepthBelowLimit.cpp", + "angle/src/compiler/translator/Operator.cpp", + "angle/src/compiler/translator/OutputTree.cpp", + "angle/src/compiler/translator/ParseContext.cpp", + "angle/src/compiler/translator/PoolAlloc.cpp", + "angle/src/compiler/translator/QualifierTypes.cpp", + "angle/src/compiler/translator/ShaderLang.cpp", + "angle/src/compiler/translator/ShaderVars.cpp", + "angle/src/compiler/translator/Symbol.cpp", + "angle/src/compiler/translator/SymbolTable.cpp", + "angle/src/compiler/translator/SymbolTable_ESSL_autogen.cpp", + "angle/src/compiler/translator/SymbolUniqueId.cpp", + "angle/src/compiler/translator/Types.cpp", + "angle/src/compiler/translator/ValidateAST.cpp", + "angle/src/compiler/translator/ValidateBarrierFunctionCall.cpp", + "angle/src/compiler/translator/ValidateClipCullDistance.cpp", + "angle/src/compiler/translator/ValidateGlobalInitializer.cpp", + "angle/src/compiler/translator/ValidateLimitations.cpp", + "angle/src/compiler/translator/ValidateMaxParameters.cpp", + "angle/src/compiler/translator/ValidateOutputs.cpp", + "angle/src/compiler/translator/ValidateSwitch.cpp", + "angle/src/compiler/translator/ValidateTypeSizeLimitations.cpp", + "angle/src/compiler/translator/ValidateVaryingLocations.cpp", + "angle/src/compiler/translator/VariablePacker.cpp", + "angle/src/compiler/translator/blocklayout.cpp", + "angle/src/compiler/translator/glslang_lex_autogen.cpp", + "angle/src/compiler/translator/glslang_tab_autogen.cpp", + "angle/src/compiler/translator/util.cpp", + "angle/src/compiler/translator/glsl/BuiltInFunctionEmulatorGLSL.cpp", + "angle/src/compiler/translator/glsl/ExtensionGLSL.cpp", + "angle/src/compiler/translator/glsl/OutputESSL.cpp", + "angle/src/compiler/translator/glsl/OutputGLSL.cpp", + "angle/src/compiler/translator/glsl/OutputGLSLBase.cpp", + "angle/src/compiler/translator/glsl/TranslatorESSL.cpp", + "angle/src/compiler/translator/glsl/TranslatorGLSL.cpp", + "angle/src/compiler/translator/glsl/VersionGLSL.cpp", + "angle/src/compiler/translator/tree_ops/ClampFragDepth.cpp", + "angle/src/compiler/translator/tree_ops/ClampIndirectIndices.cpp", + "angle/src/compiler/translator/tree_ops/ClampPointSize.cpp", + "angle/src/compiler/translator/tree_ops/DeclareAndInitBuiltinsForInstancedMultiview.cpp", + "angle/src/compiler/translator/tree_ops/DeclarePerVertexBlocks.cpp", + "angle/src/compiler/translator/tree_ops/DeferGlobalInitializers.cpp", + "angle/src/compiler/translator/tree_ops/EmulateGLFragColorBroadcast.cpp", + "angle/src/compiler/translator/tree_ops/EmulateMultiDrawShaderBuiltins.cpp", + "angle/src/compiler/translator/tree_ops/FoldExpressions.cpp", + "angle/src/compiler/translator/tree_ops/ForcePrecisionQualifier.cpp", + "angle/src/compiler/translator/tree_ops/InitializeVariables.cpp", + "angle/src/compiler/translator/tree_ops/MonomorphizeUnsupportedFunctions.cpp", + "angle/src/compiler/translator/tree_ops/PreTransformTextureCubeGradDerivatives.cpp", + "angle/src/compiler/translator/tree_ops/PruneEmptyCases.cpp", + "angle/src/compiler/translator/tree_ops/PruneNoOps.cpp", + "angle/src/compiler/translator/tree_ops/RecordConstantPrecision.cpp", + "angle/src/compiler/translator/tree_ops/RemoveArrayLengthMethod.cpp", + "angle/src/compiler/translator/tree_ops/RemoveAtomicCounterBuiltins.cpp", + "angle/src/compiler/translator/tree_ops/RemoveDynamicIndexing.cpp", + "angle/src/compiler/translator/tree_ops/RemoveInactiveInterfaceVariables.cpp", + "angle/src/compiler/translator/tree_ops/RemoveInvariantDeclaration.cpp", + "angle/src/compiler/translator/tree_ops/RemoveUnreferencedVariables.cpp", + "angle/src/compiler/translator/tree_ops/RescopeGlobalVariables.cpp", + "angle/src/compiler/translator/tree_ops/RewriteArrayOfArrayOfOpaqueUniforms.cpp", + "angle/src/compiler/translator/tree_ops/RewriteAtomicCounters.cpp", + "angle/src/compiler/translator/tree_ops/RewriteCubeMapSamplersAs2DArray.cpp", + "angle/src/compiler/translator/tree_ops/RewriteDfdy.cpp", + "angle/src/compiler/translator/tree_ops/RewritePixelLocalStorage.cpp", + "angle/src/compiler/translator/tree_ops/RewriteStructSamplers.cpp", + "angle/src/compiler/translator/tree_ops/RewriteTexelFetchOffset.cpp", + "angle/src/compiler/translator/tree_ops/SeparateDeclarations.cpp", + "angle/src/compiler/translator/tree_ops/SeparateStructFromFunctionDeclarations.cpp", + "angle/src/compiler/translator/tree_ops/SeparateStructFromUniformDeclarations.cpp", + "angle/src/compiler/translator/tree_ops/SimplifyLoopConditions.cpp", + "angle/src/compiler/translator/tree_ops/SplitSequenceOperator.cpp", + "angle/src/compiler/translator/tree_ops/glsl/RegenerateStructNames.cpp", + "angle/src/compiler/translator/tree_ops/glsl/RewriteRepeatedAssignToSwizzled.cpp", + "angle/src/compiler/translator/tree_ops/glsl/ScalarizeVecAndMatConstructorArgs.cpp", + "angle/src/compiler/translator/tree_ops/glsl/UseInterfaceBlockFields.cpp", + "angle/src/compiler/translator/tree_util/DriverUniform.cpp", + "angle/src/compiler/translator/tree_util/FindFunction.cpp", + "angle/src/compiler/translator/tree_util/FindMain.cpp", + "angle/src/compiler/translator/tree_util/FindPreciseNodes.cpp", + "angle/src/compiler/translator/tree_util/FindSymbolNode.cpp", + "angle/src/compiler/translator/tree_util/IntermNodePatternMatcher.cpp", + "angle/src/compiler/translator/tree_util/IntermNode_util.cpp", + "angle/src/compiler/translator/tree_util/IntermTraverse.cpp", + "angle/src/compiler/translator/tree_util/ReplaceArrayOfMatrixVarying.cpp", + "angle/src/compiler/translator/tree_util/ReplaceClipCullDistanceVariable.cpp", + "angle/src/compiler/translator/tree_util/ReplaceShadowingVariables.cpp", + "angle/src/compiler/translator/tree_util/ReplaceVariable.cpp", + "angle/src/compiler/translator/tree_util/RewriteSampleMaskVariable.cpp", + "angle/src/compiler/translator/tree_util/RunAtTheBeginningOfShader.cpp", + "angle/src/compiler/translator/tree_util/RunAtTheEndOfShader.cpp", + "angle/src/compiler/translator/tree_util/SpecializationConstant.cpp", + "angle/src/gpu_info_util/SystemInfo.cpp", + "angle/src/libANGLE/AttributeMap.cpp", + "angle/src/libANGLE/BlobCache.cpp", + "angle/src/libANGLE/Buffer.cpp", + "angle/src/libANGLE/CLBuffer.cpp", + "angle/src/libANGLE/CLCommandQueue.cpp", + "angle/src/libANGLE/CLContext.cpp", + "angle/src/libANGLE/CLDevice.cpp", + "angle/src/libANGLE/CLEvent.cpp", + "angle/src/libANGLE/CLImage.cpp", + "angle/src/libANGLE/CLKernel.cpp", + "angle/src/libANGLE/CLMemory.cpp", + "angle/src/libANGLE/CLObject.cpp", + "angle/src/libANGLE/CLPlatform.cpp", + "angle/src/libANGLE/CLProgram.cpp", + "angle/src/libANGLE/CLSampler.cpp", + "angle/src/libANGLE/Caps.cpp", + "angle/src/libANGLE/Compiler.cpp", + "angle/src/libANGLE/Config.cpp", + "angle/src/libANGLE/Context.cpp", + "angle/src/libANGLE/ContextMutex.cpp", + "angle/src/libANGLE/Context_gl.cpp", + "angle/src/libANGLE/Context_gles_1_0.cpp", + "angle/src/libANGLE/Debug.cpp", + "angle/src/libANGLE/Device.cpp", + "angle/src/libANGLE/Display.cpp", + "angle/src/libANGLE/EGLSync.cpp", + "angle/src/libANGLE/Error.cpp", + "angle/src/libANGLE/Fence.cpp", + "angle/src/libANGLE/Framebuffer.cpp", + "angle/src/libANGLE/FramebufferAttachment.cpp", + "angle/src/libANGLE/GLES1Renderer.cpp", + "angle/src/libANGLE/GLES1State.cpp", + "angle/src/libANGLE/GlobalMutex.cpp", + "angle/src/libANGLE/HandleAllocator.cpp", + "angle/src/libANGLE/Image.cpp", + "angle/src/libANGLE/ImageIndex.cpp", + "angle/src/libANGLE/IndexRangeCache.cpp", + "angle/src/libANGLE/LoggingAnnotator.cpp", + "angle/src/libANGLE/MemoryObject.cpp", + "angle/src/libANGLE/MemoryProgramCache.cpp", + "angle/src/libANGLE/MemoryShaderCache.cpp", + "angle/src/libANGLE/Observer.cpp", + "angle/src/libANGLE/Overlay.cpp", + "angle/src/libANGLE/OverlayWidgets.cpp", + "angle/src/libANGLE/Overlay_autogen.cpp", + "angle/src/libANGLE/Overlay_font_autogen.cpp", + "angle/src/libANGLE/PixelLocalStorage.cpp", + "angle/src/libANGLE/Platform.cpp", + "angle/src/libANGLE/Program.cpp", + "angle/src/libANGLE/ProgramExecutable.cpp", + "angle/src/libANGLE/ProgramLinkedResources.cpp", + "angle/src/libANGLE/ProgramPipeline.cpp", + "angle/src/libANGLE/Query.cpp", + "angle/src/libANGLE/Renderbuffer.cpp", + "angle/src/libANGLE/ResourceManager.cpp", + "angle/src/libANGLE/Sampler.cpp", + "angle/src/libANGLE/Semaphore.cpp", + "angle/src/libANGLE/Shader.cpp", + "angle/src/libANGLE/ShareGroup.cpp", + "angle/src/libANGLE/State.cpp", + "angle/src/libANGLE/Stream.cpp", + "angle/src/libANGLE/Surface.cpp", + "angle/src/libANGLE/Texture.cpp", + "angle/src/libANGLE/Thread.cpp", + "angle/src/libANGLE/TransformFeedback.cpp", + "angle/src/libANGLE/Uniform.cpp", + "angle/src/libANGLE/VaryingPacking.cpp", + "angle/src/libANGLE/VertexArray.cpp", + "angle/src/libANGLE/VertexAttribute.cpp", + "angle/src/libANGLE/angletypes.cpp", + "angle/src/libANGLE/cl_utils.cpp", + "angle/src/libANGLE/context_private_call_gl.cpp", + "angle/src/libANGLE/context_private_call_gles.cpp", + "angle/src/libANGLE/entry_points_utils.cpp", + "angle/src/libANGLE/es3_copy_conversion_table_autogen.cpp", + "angle/src/libANGLE/format_map_autogen.cpp", + "angle/src/libANGLE/format_map_desktop.cpp", + "angle/src/libANGLE/formatutils.cpp", + "angle/src/libANGLE/gles_extensions_autogen.cpp", + "angle/src/libANGLE/queryconversions.cpp", + "angle/src/libANGLE/queryutils.cpp", + "angle/src/libANGLE/validationCL.cpp", + "angle/src/libANGLE/validationEGL.cpp", + "angle/src/libANGLE/validationES.cpp", + "angle/src/libANGLE/validationES1.cpp", + "angle/src/libANGLE/validationES2.cpp", + "angle/src/libANGLE/validationES3.cpp", + "angle/src/libANGLE/validationES31.cpp", + "angle/src/libANGLE/validationES32.cpp", + "angle/src/libANGLE/validationESEXT.cpp", + "angle/src/libANGLE/validationGL1.cpp", + "angle/src/libANGLE/validationGL2.cpp", + "angle/src/libANGLE/validationGL3.cpp", + "angle/src/libANGLE/validationGL4.cpp", + "angle/src/libANGLE/capture/FrameCapture_mock.cpp", + "angle/src/libANGLE/capture/serialize_mock.cpp", + "angle/src/libANGLE/renderer/BufferImpl.cpp", + "angle/src/libANGLE/renderer/CLCommandQueueImpl.cpp", + "angle/src/libANGLE/renderer/CLContextImpl.cpp", + "angle/src/libANGLE/renderer/CLDeviceImpl.cpp", + "angle/src/libANGLE/renderer/CLEventImpl.cpp", + "angle/src/libANGLE/renderer/CLExtensions.cpp", + "angle/src/libANGLE/renderer/CLKernelImpl.cpp", + "angle/src/libANGLE/renderer/CLMemoryImpl.cpp", + "angle/src/libANGLE/renderer/CLPlatformImpl.cpp", + "angle/src/libANGLE/renderer/CLProgramImpl.cpp", + "angle/src/libANGLE/renderer/CLSamplerImpl.cpp", + "angle/src/libANGLE/renderer/ContextImpl.cpp", + "angle/src/libANGLE/renderer/DeviceImpl.cpp", + "angle/src/libANGLE/renderer/DisplayImpl.cpp", + "angle/src/libANGLE/renderer/EGLReusableSync.cpp", + "angle/src/libANGLE/renderer/EGLSyncImpl.cpp", + "angle/src/libANGLE/renderer/Format_table_autogen.cpp", + "angle/src/libANGLE/renderer/FramebufferImpl.cpp", + "angle/src/libANGLE/renderer/ImageImpl.cpp", + "angle/src/libANGLE/renderer/ProgramImpl.cpp", + "angle/src/libANGLE/renderer/ProgramPipelineImpl.cpp", + "angle/src/libANGLE/renderer/QueryImpl.cpp", + "angle/src/libANGLE/renderer/RenderbufferImpl.cpp", + "angle/src/libANGLE/renderer/ShaderImpl.cpp", + "angle/src/libANGLE/renderer/SurfaceImpl.cpp", + "angle/src/libANGLE/renderer/TextureImpl.cpp", + "angle/src/libANGLE/renderer/TransformFeedbackImpl.cpp", + "angle/src/libANGLE/renderer/VertexArrayImpl.cpp", + "angle/src/libANGLE/renderer/driver_utils.cpp", + "angle/src/libANGLE/renderer/load_functions_table_autogen.cpp", + "angle/src/libANGLE/renderer/renderer_utils.cpp", + "angle/src/image_util/AstcDecompressor.cpp", + "angle/src/image_util/copyimage.cpp", + "angle/src/image_util/imageformats.cpp", + "angle/src/image_util/loadimage_astc.cpp", + "angle/src/image_util/loadimage_etc.cpp", + "angle/src/image_util/loadimage_paletted.cpp", + "angle/src/image_util/loadimage.cpp", + "angle/src/image_util/storeimage_paletted.cpp", + "angle/src/common/third_party/xxhash/xxhash.c", "third_party/zlib/google/compression_utils_portable.cc", "third_party/zlib/adler32.c", "third_party/zlib/compress.c", "third_party/zlib/cpu_features.c", - "third_party/zlib/crc32.c", "third_party/zlib/crc_folding.c", + "third_party/zlib/crc32.c", "third_party/zlib/deflate.c", "third_party/zlib/gzclose.c", "third_party/zlib/gzlib.c", @@ -507,8 +504,8 @@ angle_sources = [ "third_party/astc-encoder/src/Source/astcenc_ideal_endpoints_and_weights.cpp", "third_party/astc-encoder/src/Source/astcenc_image.cpp", "third_party/astc-encoder/src/Source/astcenc_integer_sequence.cpp", - "third_party/astc-encoder/src/Source/astcenc_mathlib.cpp", "third_party/astc-encoder/src/Source/astcenc_mathlib_softfloat.cpp", + "third_party/astc-encoder/src/Source/astcenc_mathlib.cpp", "third_party/astc-encoder/src/Source/astcenc_partition_tables.cpp", "third_party/astc-encoder/src/Source/astcenc_percentile_tables.cpp", "third_party/astc-encoder/src/Source/astcenc_pick_best_endpoint_format.cpp", @@ -520,259 +517,281 @@ angle_sources = [ ] if env["platform"] == "macos": angle_sources += [ - "src/common/apple_platform_utils.mm", - "src/common/system_utils_apple.cpp", - "src/common/system_utils_posix.cpp", - "src/common/system_utils_mac.cpp", - "src/common/gl/cgl/FunctionsCGL.cpp", - "src/compiler/translator/msl/AstHelpers.cpp", - "src/compiler/translator/msl/ConstantNames.cpp", - "src/compiler/translator/msl/DiscoverDependentFunctions.cpp", - "src/compiler/translator/msl/DiscoverEnclosingFunctionTraverser.cpp", - "src/compiler/translator/msl/DriverUniformMetal.cpp", - "src/compiler/translator/msl/EmitMetal.cpp", - "src/compiler/translator/msl/IdGen.cpp", - "src/compiler/translator/msl/IntermRebuild.cpp", - "src/compiler/translator/msl/Layout.cpp", - "src/compiler/translator/msl/MapFunctionsToDefinitions.cpp", - "src/compiler/translator/msl/MapSymbols.cpp", - "src/compiler/translator/msl/ModifyStruct.cpp", - "src/compiler/translator/msl/Name.cpp", - "src/compiler/translator/msl/Pipeline.cpp", - "src/compiler/translator/msl/ProgramPrelude.cpp", - "src/compiler/translator/msl/RewritePipelines.cpp", - "src/compiler/translator/msl/SymbolEnv.cpp", - "src/compiler/translator/msl/ToposortStructs.cpp", - "src/compiler/translator/msl/TranslatorMSL.cpp", - "src/compiler/translator/msl/UtilsMSL.cpp", - "src/compiler/translator/tree_ops/glsl/apple/AddAndTrueToLoopCondition.cpp", - "src/compiler/translator/tree_ops/glsl/apple/RewriteDoWhile.cpp", - "src/compiler/translator/tree_ops/glsl/apple/RewriteRowMajorMatrices.cpp", - "src/compiler/translator/tree_ops/glsl/apple/RewriteUnaryMinusOperatorFloat.cpp", - "src/compiler/translator/tree_ops/glsl/apple/UnfoldShortCircuitAST.cpp", - "src/compiler/translator/tree_ops/msl/AddExplicitTypeCasts.cpp", - "src/compiler/translator/tree_ops/msl/ConvertUnsupportedConstructorsToFunctionCalls.cpp", - "src/compiler/translator/tree_ops/msl/FixTypeConstructors.cpp", - "src/compiler/translator/tree_ops/msl/GuardFragDepthWrite.cpp", - "src/compiler/translator/tree_ops/msl/HoistConstants.cpp", - "src/compiler/translator/tree_ops/msl/IntroduceVertexIndexID.cpp", - "src/compiler/translator/tree_ops/msl/NameEmbeddedUniformStructsMetal.cpp", - "src/compiler/translator/tree_ops/msl/ReduceInterfaceBlocks.cpp", - "src/compiler/translator/tree_ops/msl/RewriteCaseDeclarations.cpp", - "src/compiler/translator/tree_ops/msl/RewriteInterpolants.cpp", - "src/compiler/translator/tree_ops/msl/RewriteOutArgs.cpp", - "src/compiler/translator/tree_ops/msl/RewriteUnaddressableReferences.cpp", - "src/compiler/translator/tree_ops/msl/SeparateCompoundExpressions.cpp", - "src/compiler/translator/tree_ops/msl/SeparateCompoundStructDeclarations.cpp", - "src/compiler/translator/tree_ops/msl/TransposeRowMajorMatrices.cpp", - "src/compiler/translator/tree_ops/msl/WrapMain.cpp", - "src/gpu_info_util/SystemInfo_apple.mm", - "src/gpu_info_util/SystemInfo_macos.mm", - "src/libANGLE/renderer/driver_utils_mac.mm", - "src/libANGLE/renderer/metal/BufferMtl.mm", - "src/libANGLE/renderer/metal/CompilerMtl.mm", - "src/libANGLE/renderer/metal/ContextMtl.mm", - "src/libANGLE/renderer/metal/DeviceMtl.mm", - "src/libANGLE/renderer/metal/DisplayMtl.mm", - "src/libANGLE/renderer/metal/FrameBufferMtl.mm", - "src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm", - "src/libANGLE/renderer/metal/ImageMtl.mm", - "src/libANGLE/renderer/metal/ProgramMtl.mm", - "src/libANGLE/renderer/metal/ProvokingVertexHelper.mm", - "src/libANGLE/renderer/metal/QueryMtl.mm", - "src/libANGLE/renderer/metal/RenderBufferMtl.mm", - "src/libANGLE/renderer/metal/RenderTargetMtl.mm", - "src/libANGLE/renderer/metal/SamplerMtl.mm", - "src/libANGLE/renderer/metal/ShaderMtl.mm", - "src/libANGLE/renderer/metal/SurfaceMtl.mm", - "src/libANGLE/renderer/metal/SyncMtl.mm", - "src/libANGLE/renderer/metal/TextureMtl.mm", - "src/libANGLE/renderer/metal/TransformFeedbackMtl.mm", - "src/libANGLE/renderer/metal/VertexArrayMtl.mm", - "src/libANGLE/renderer/metal/blocklayoutMetal.cpp", - "src/libANGLE/renderer/metal/mtl_buffer_manager.mm", - "src/libANGLE/renderer/metal/mtl_buffer_pool.mm", - "src/libANGLE/renderer/metal/mtl_command_buffer.mm", - "src/libANGLE/renderer/metal/mtl_common.mm", - "src/libANGLE/renderer/metal/mtl_context_device.mm", - "src/libANGLE/renderer/metal/mtl_format_table_autogen.mm", - "src/libANGLE/renderer/metal/mtl_format_utils.mm", - "src/libANGLE/renderer/metal/mtl_library_cache.mm", - "src/libANGLE/renderer/metal/mtl_msl_utils.mm", - "src/libANGLE/renderer/metal/mtl_occlusion_query_pool.mm", - "src/libANGLE/renderer/metal/mtl_pipeline_cache.mm", - "src/libANGLE/renderer/metal/mtl_render_utils.mm", - "src/libANGLE/renderer/metal/mtl_resources.mm", - "src/libANGLE/renderer/metal/mtl_state_cache.mm", - "src/libANGLE/renderer/metal/mtl_utils.mm", - "src/libANGLE/renderer/metal/process.cpp", - "src/libANGLE/renderer/metal/renderermtl_utils.cpp", - "src/libANGLE/renderer/gl/BlitGL.cpp", - "src/libANGLE/renderer/gl/DisplayGL.cpp", - "src/libANGLE/renderer/gl/MemoryObjectGL.cpp", - "src/libANGLE/renderer/gl/RendererGL.cpp", - "src/libANGLE/renderer/gl/SyncGL.cpp", - "src/libANGLE/renderer/gl/renderergl_utils.cpp", - "src/libANGLE/renderer/gl/BufferGL.cpp", - "src/libANGLE/renderer/gl/PLSProgramCache.cpp", - "src/libANGLE/renderer/gl/SamplerGL.cpp", - "src/libANGLE/renderer/gl/TextureGL.cpp", - "src/libANGLE/renderer/gl/ClearMultiviewGL.cpp", - "src/libANGLE/renderer/gl/FenceNVGL.cpp", - "src/libANGLE/renderer/gl/ProgramGL.cpp", - "src/libANGLE/renderer/gl/SemaphoreGL.cpp", - "src/libANGLE/renderer/gl/TransformFeedbackGL.cpp", - "src/libANGLE/renderer/gl/CompilerGL.cpp", - "src/libANGLE/renderer/gl/FramebufferGL.cpp", - "src/libANGLE/renderer/gl/ProgramPipelineGL.cpp", - "src/libANGLE/renderer/gl/ShaderGL.cpp", - "src/libANGLE/renderer/gl/VertexArrayGL.cpp", - "src/libANGLE/renderer/gl/ContextGL.cpp", - "src/libANGLE/renderer/gl/FunctionsGL.cpp", - "src/libANGLE/renderer/gl/QueryGL.cpp", - "src/libANGLE/renderer/gl/StateManagerGL.cpp", - "src/libANGLE/renderer/gl/formatutilsgl.cpp", - "src/libANGLE/renderer/gl/DispatchTableGL_autogen.cpp", - "src/libANGLE/renderer/gl/ImageGL.cpp", - "src/libANGLE/renderer/gl/RenderbufferGL.cpp", - "src/libANGLE/renderer/gl/SurfaceGL.cpp", - "src/libANGLE/renderer/gl/null_functions.cpp", - "src/libANGLE/renderer/gl/cgl/ContextCGL.cpp", - "src/libANGLE/renderer/gl/cgl/DisplayCGL.mm", - "src/libANGLE/renderer/gl/cgl/DeviceCGL.cpp", - "src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp", - "src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.cpp", - "src/libANGLE/renderer/gl/cgl/RendererCGL.cpp", - "src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm", + "angle/src/common/system_utils_apple.cpp", + "angle/src/common/system_utils_mac.cpp", + "angle/src/gpu_info_util/SystemInfo_macos.mm", + "angle/src/common/gl/cgl/FunctionsCGL.cpp", + "angle/src/libANGLE/renderer/driver_utils_mac.mm", + "angle/src/libANGLE/renderer/gl/cgl/ContextCGL.cpp", + "angle/src/libANGLE/renderer/gl/cgl/DeviceCGL.cpp", + "angle/src/libANGLE/renderer/gl/cgl/DisplayCGL.mm", + "angle/src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp", + "angle/src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.cpp", + "angle/src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm", + ] +if env["platform"] == "ios": + angle_sources += [ + "angle/src/common/system_utils_ios.mm", + "angle/src/gpu_info_util/SystemInfo_ios.cpp", + "angle/src/libANGLE/renderer/driver_utils_ios.mm", + "angle/src/libANGLE/renderer/gl/eagl/ContextEAGL.cpp", + "angle/src/libANGLE/renderer/gl/eagl/DeviceEAGL.cpp", + "angle/src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm", + "angle/src/libANGLE/renderer/gl/eagl/FunctionsEAGL.mm", + "angle/src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm", + "angle/src/libANGLE/renderer/gl/eagl/PbufferSurfaceEAGL.cpp", + "angle/src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm", + ] +if env["platform"] == "macos" or env["platform"] == "ios": + angle_sources += [ + "angle/src/common/apple_platform_utils.mm", + "angle/src/common/system_utils_posix.cpp", + "angle/src/compiler/translator/msl/AstHelpers.cpp", + "angle/src/compiler/translator/msl/ConstantNames.cpp", + "angle/src/compiler/translator/msl/DiscoverDependentFunctions.cpp", + "angle/src/compiler/translator/msl/DiscoverEnclosingFunctionTraverser.cpp", + "angle/src/compiler/translator/msl/DriverUniformMetal.cpp", + "angle/src/compiler/translator/msl/EmitMetal.cpp", + "angle/src/compiler/translator/msl/IdGen.cpp", + "angle/src/compiler/translator/msl/Layout.cpp", + "angle/src/compiler/translator/msl/MapFunctionsToDefinitions.cpp", + "angle/src/compiler/translator/msl/MapSymbols.cpp", + "angle/src/compiler/translator/msl/ModifyStruct.cpp", + "angle/src/compiler/translator/msl/Name.cpp", + "angle/src/compiler/translator/msl/Pipeline.cpp", + "angle/src/compiler/translator/msl/ProgramPrelude.cpp", + "angle/src/compiler/translator/msl/RewritePipelines.cpp", + "angle/src/compiler/translator/msl/SymbolEnv.cpp", + "angle/src/compiler/translator/msl/ToposortStructs.cpp", + "angle/src/compiler/translator/msl/TranslatorMSL.cpp", + "angle/src/compiler/translator/msl/UtilsMSL.cpp", + "angle/src/compiler/translator/tree_ops/glsl/apple/AddAndTrueToLoopCondition.cpp", + "angle/src/compiler/translator/tree_ops/glsl/apple/RewriteDoWhile.cpp", + "angle/src/compiler/translator/tree_ops/glsl/apple/RewriteRowMajorMatrices.cpp", + "angle/src/compiler/translator/tree_ops/glsl/apple/RewriteUnaryMinusOperatorFloat.cpp", + "angle/src/compiler/translator/tree_ops/glsl/apple/UnfoldShortCircuitAST.cpp", + "angle/src/compiler/translator/tree_ops/msl/AddExplicitTypeCasts.cpp", + "angle/src/compiler/translator/tree_ops/msl/ConvertUnsupportedConstructorsToFunctionCalls.cpp", + "angle/src/compiler/translator/tree_ops/msl/FixTypeConstructors.cpp", + "angle/src/compiler/translator/tree_ops/msl/GuardFragDepthWrite.cpp", + "angle/src/compiler/translator/tree_ops/msl/HoistConstants.cpp", + "angle/src/compiler/translator/tree_ops/msl/IntroduceVertexIndexID.cpp", + "angle/src/compiler/translator/tree_ops/msl/NameEmbeddedUniformStructsMetal.cpp", + "angle/src/compiler/translator/tree_ops/msl/ReduceInterfaceBlocks.cpp", + "angle/src/compiler/translator/tree_ops/msl/RewriteCaseDeclarations.cpp", + "angle/src/compiler/translator/tree_ops/msl/RewriteInterpolants.cpp", + "angle/src/compiler/translator/tree_ops/msl/RewriteOutArgs.cpp", + "angle/src/compiler/translator/tree_ops/msl/RewriteUnaddressableReferences.cpp", + "angle/src/compiler/translator/tree_ops/msl/SeparateCompoundExpressions.cpp", + "angle/src/compiler/translator/tree_ops/msl/SeparateCompoundStructDeclarations.cpp", + "angle/src/compiler/translator/tree_ops/msl/TransposeRowMajorMatrices.cpp", + "angle/src/compiler/translator/tree_ops/msl/WrapMain.cpp", + "angle/src/gpu_info_util/SystemInfo_apple.mm", + "angle/src/libANGLE/renderer/driver_utils_mac.mm", + "angle/src/libANGLE/renderer/metal/BufferMtl.mm", + "angle/src/libANGLE/renderer/metal/CompilerMtl.mm", + "angle/src/libANGLE/renderer/metal/ContextMtl.mm", + "angle/src/libANGLE/renderer/metal/DeviceMtl.mm", + "angle/src/libANGLE/renderer/metal/DisplayMtl.mm", + "angle/src/libANGLE/renderer/metal/FrameBufferMtl.mm", + "angle/src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm", + "angle/src/libANGLE/renderer/metal/ImageMtl.mm", + "angle/src/libANGLE/renderer/metal/ProgramExecutableMtl.mm", + "angle/src/libANGLE/renderer/metal/ProgramMtl.mm", + "angle/src/libANGLE/renderer/metal/ProvokingVertexHelper.mm", + "angle/src/libANGLE/renderer/metal/QueryMtl.mm", + "angle/src/libANGLE/renderer/metal/RenderBufferMtl.mm", + "angle/src/libANGLE/renderer/metal/RenderTargetMtl.mm", + "angle/src/libANGLE/renderer/metal/SamplerMtl.mm", + "angle/src/libANGLE/renderer/metal/ShaderMtl.mm", + "angle/src/libANGLE/renderer/metal/SurfaceMtl.mm", + "angle/src/libANGLE/renderer/metal/SyncMtl.mm", + "angle/src/libANGLE/renderer/metal/TextureMtl.mm", + "angle/src/libANGLE/renderer/metal/TransformFeedbackMtl.mm", + "angle/src/libANGLE/renderer/metal/VertexArrayMtl.mm", + "angle/src/libANGLE/renderer/metal/blocklayoutMetal.cpp", + "angle/src/libANGLE/renderer/metal/mtl_buffer_manager.mm", + "angle/src/libANGLE/renderer/metal/mtl_buffer_pool.mm", + "angle/src/libANGLE/renderer/metal/mtl_command_buffer.mm", + "angle/src/libANGLE/renderer/metal/mtl_common.mm", + "angle/src/libANGLE/renderer/metal/mtl_context_device.mm", + "angle/src/libANGLE/renderer/metal/mtl_format_table_autogen.mm", + "angle/src/libANGLE/renderer/metal/mtl_format_utils.mm", + "angle/src/libANGLE/renderer/metal/mtl_library_cache.mm", + "angle/src/libANGLE/renderer/metal/mtl_msl_utils.mm", + "angle/src/libANGLE/renderer/metal/mtl_occlusion_query_pool.mm", + "angle/src/libANGLE/renderer/metal/mtl_pipeline_cache.mm", + "angle/src/libANGLE/renderer/metal/mtl_render_utils.mm", + "angle/src/libANGLE/renderer/metal/mtl_resources.mm", + "angle/src/libANGLE/renderer/metal/mtl_state_cache.mm", + "angle/src/libANGLE/renderer/metal/mtl_utils.mm", + "angle/src/libANGLE/renderer/metal/process.cpp", + "angle/src/libANGLE/renderer/metal/renderermtl_utils.cpp", + "angle/src/libANGLE/renderer/gl/BlitGL.cpp", + "angle/src/libANGLE/renderer/gl/BufferGL.cpp", + "angle/src/libANGLE/renderer/gl/ClearMultiviewGL.cpp", + "angle/src/libANGLE/renderer/gl/CompilerGL.cpp", + "angle/src/libANGLE/renderer/gl/ContextGL.cpp", + "angle/src/libANGLE/renderer/gl/DispatchTableGL_autogen.cpp", + "angle/src/libANGLE/renderer/gl/DisplayGL.cpp", + "angle/src/libANGLE/renderer/gl/FenceNVGL.cpp", + "angle/src/libANGLE/renderer/gl/FramebufferGL.cpp", + "angle/src/libANGLE/renderer/gl/FunctionsGL.cpp", + "angle/src/libANGLE/renderer/gl/ImageGL.cpp", + "angle/src/libANGLE/renderer/gl/MemoryObjectGL.cpp", + "angle/src/libANGLE/renderer/gl/PLSProgramCache.cpp", + "angle/src/libANGLE/renderer/gl/ProgramExecutableGL.cpp", + "angle/src/libANGLE/renderer/gl/ProgramGL.cpp", + "angle/src/libANGLE/renderer/gl/ProgramPipelineGL.cpp", + "angle/src/libANGLE/renderer/gl/QueryGL.cpp", + "angle/src/libANGLE/renderer/gl/RenderbufferGL.cpp", + "angle/src/libANGLE/renderer/gl/RendererGL.cpp", + "angle/src/libANGLE/renderer/gl/SamplerGL.cpp", + "angle/src/libANGLE/renderer/gl/SemaphoreGL.cpp", + "angle/src/libANGLE/renderer/gl/ShaderGL.cpp", + "angle/src/libANGLE/renderer/gl/StateManagerGL.cpp", + "angle/src/libANGLE/renderer/gl/SurfaceGL.cpp", + "angle/src/libANGLE/renderer/gl/SyncGL.cpp", + "angle/src/libANGLE/renderer/gl/TextureGL.cpp", + "angle/src/libANGLE/renderer/gl/TransformFeedbackGL.cpp", + "angle/src/libANGLE/renderer/gl/VertexArrayGL.cpp", + "angle/src/libANGLE/renderer/gl/formatutilsgl.cpp", + "angle/src/libANGLE/renderer/gl/null_functions.cpp", + "angle/src/libANGLE/renderer/gl/renderergl_utils.cpp", ] if env["platform"] == "windows": angle_sources += [ - "src/common/system_utils_win.cpp", - "src/common/system_utils_win32.cpp", - "src/compiler/translator/hlsl/ASTMetadataHLSL.cpp", - "src/compiler/translator/hlsl/AtomicCounterFunctionHLSL.cpp", - "src/compiler/translator/hlsl/blocklayoutHLSL.cpp", - "src/compiler/translator/hlsl/BuiltInFunctionEmulatorHLSL.cpp", - "src/compiler/translator/hlsl/emulated_builtin_functions_hlsl_autogen.cpp", - "src/compiler/translator/hlsl/ImageFunctionHLSL.cpp", - "src/compiler/translator/hlsl/OutputHLSL.cpp", - "src/compiler/translator/hlsl/ResourcesHLSL.cpp", - "src/compiler/translator/hlsl/ShaderStorageBlockFunctionHLSL.cpp", - "src/compiler/translator/hlsl/ShaderStorageBlockOutputHLSL.cpp", - "src/compiler/translator/hlsl/StructureHLSL.cpp", - "src/compiler/translator/hlsl/TextureFunctionHLSL.cpp", - "src/compiler/translator/hlsl/TranslatorHLSL.cpp", - "src/compiler/translator/hlsl/UtilsHLSL.cpp", - "src/compiler/translator/tree_ops/hlsl/AddDefaultReturnStatements.cpp", - "src/compiler/translator/tree_ops/hlsl/AggregateAssignArraysInSSBOs.cpp", - "src/compiler/translator/tree_ops/hlsl/AggregateAssignStructsInSSBOs.cpp", - "src/compiler/translator/tree_ops/hlsl/ArrayReturnValueToOutParameter.cpp", - "src/compiler/translator/tree_ops/hlsl/BreakVariableAliasingInInnerLoops.cpp", - "src/compiler/translator/tree_ops/hlsl/ExpandIntegerPowExpressions.cpp", - "src/compiler/translator/tree_ops/hlsl/RecordUniformBlocksWithLargeArrayMember.cpp", - "src/compiler/translator/tree_ops/hlsl/RemoveSwitchFallThrough.cpp", - "src/compiler/translator/tree_ops/hlsl/RewriteAtomicFunctionExpressions.cpp", - "src/compiler/translator/tree_ops/hlsl/RewriteElseBlocks.cpp", - "src/compiler/translator/tree_ops/hlsl/RewriteExpressionsWithShaderStorageBlock.cpp", - "src/compiler/translator/tree_ops/hlsl/RewriteUnaryMinusOperatorInt.cpp", - "src/compiler/translator/tree_ops/hlsl/SeparateArrayConstructorStatements.cpp", - "src/compiler/translator/tree_ops/hlsl/SeparateArrayInitialization.cpp", - "src/compiler/translator/tree_ops/hlsl/SeparateExpressionsReturningArrays.cpp", - "src/compiler/translator/tree_ops/hlsl/UnfoldShortCircuitToIf.cpp", - "src/compiler/translator/tree_ops/hlsl/WrapSwitchStatementsInBlocks.cpp", - "src/gpu_info_util/SystemInfo_win.cpp", - "src/libANGLE/renderer/d3d_format.cpp", - "src/libANGLE/renderer/dxgi_format_map_autogen.cpp", - "src/libANGLE/renderer/dxgi_support_table_autogen.cpp", - "src/libANGLE/renderer/d3d/BufferD3D.cpp", - "src/libANGLE/renderer/d3d/CompilerD3D.cpp", - "src/libANGLE/renderer/d3d/DeviceD3D.cpp", - "src/libANGLE/renderer/d3d/DisplayD3D.cpp", - "src/libANGLE/renderer/d3d/driver_utils_d3d.cpp", - "src/libANGLE/renderer/d3d/DynamicHLSL.cpp", - "src/libANGLE/renderer/d3d/DynamicImage2DHLSL.cpp", - "src/libANGLE/renderer/d3d/EGLImageD3D.cpp", - "src/libANGLE/renderer/d3d/FramebufferD3D.cpp", - "src/libANGLE/renderer/d3d/HLSLCompiler.cpp", - "src/libANGLE/renderer/d3d/ImageD3D.cpp", - "src/libANGLE/renderer/d3d/IndexBuffer.cpp", - "src/libANGLE/renderer/d3d/IndexDataManager.cpp", - "src/libANGLE/renderer/d3d/NativeWindowD3D.cpp", - "src/libANGLE/renderer/d3d/ProgramD3D.cpp", - "src/libANGLE/renderer/d3d/RenderbufferD3D.cpp", - "src/libANGLE/renderer/d3d/RendererD3D.cpp", - "src/libANGLE/renderer/d3d/RenderTargetD3D.cpp", - "src/libANGLE/renderer/d3d/ShaderD3D.cpp", - "src/libANGLE/renderer/d3d/ShaderExecutableD3D.cpp", - "src/libANGLE/renderer/d3d/SurfaceD3D.cpp", - "src/libANGLE/renderer/d3d/SwapChainD3D.cpp", - "src/libANGLE/renderer/d3d/TextureD3D.cpp", - "src/libANGLE/renderer/d3d/VertexBuffer.cpp", - "src/libANGLE/renderer/d3d/VertexDataManager.cpp", - "src/libANGLE/renderer/d3d/d3d11/Blit11.cpp", - "src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp", - "src/libANGLE/renderer/d3d/d3d11/Clear11.cpp", - "src/libANGLE/renderer/d3d/d3d11/Context11.cpp", - "src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.cpp", - "src/libANGLE/renderer/d3d/d3d11/ExternalImageSiblingImpl11.cpp", - "src/libANGLE/renderer/d3d/d3d11/Fence11.cpp", - "src/libANGLE/renderer/d3d/d3d11/formatutils11.cpp", - "src/libANGLE/renderer/d3d/d3d11/Framebuffer11.cpp", - "src/libANGLE/renderer/d3d/d3d11/Image11.cpp", - "src/libANGLE/renderer/d3d/d3d11/IndexBuffer11.cpp", - "src/libANGLE/renderer/d3d/d3d11/InputLayoutCache.cpp", - "src/libANGLE/renderer/d3d/d3d11/MappedSubresourceVerifier11.cpp", - "src/libANGLE/renderer/d3d/d3d11/PixelTransfer11.cpp", - "src/libANGLE/renderer/d3d/d3d11/Program11.cpp", - "src/libANGLE/renderer/d3d/d3d11/ProgramPipeline11.cpp", - "src/libANGLE/renderer/d3d/d3d11/Query11.cpp", - "src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp", - "src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp", - "src/libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp", - "src/libANGLE/renderer/d3d/d3d11/RenderTarget11.cpp", - "src/libANGLE/renderer/d3d/d3d11/ResourceManager11.cpp", - "src/libANGLE/renderer/d3d/d3d11/ShaderExecutable11.cpp", - "src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp", - "src/libANGLE/renderer/d3d/d3d11/StreamProducerD3DTexture.cpp", - "src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp", - "src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp", - "src/libANGLE/renderer/d3d/d3d11/texture_format_table.cpp", - "src/libANGLE/renderer/d3d/d3d11/texture_format_table_autogen.cpp", - "src/libANGLE/renderer/d3d/d3d11/TransformFeedback11.cpp", - "src/libANGLE/renderer/d3d/d3d11/Trim11.cpp", - "src/libANGLE/renderer/d3d/d3d11/VertexArray11.cpp", - "src/libANGLE/renderer/d3d/d3d11/VertexBuffer11.cpp", - "src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.cpp", - "src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp", + "angle/src/common/system_utils_win.cpp", + "angle/src/common/system_utils_win32.cpp", + "angle/src/compiler/translator/hlsl/ASTMetadataHLSL.cpp", + "angle/src/compiler/translator/hlsl/AtomicCounterFunctionHLSL.cpp", + "angle/src/compiler/translator/hlsl/BuiltInFunctionEmulatorHLSL.cpp", + "angle/src/compiler/translator/hlsl/ImageFunctionHLSL.cpp", + "angle/src/compiler/translator/hlsl/OutputHLSL.cpp", + "angle/src/compiler/translator/hlsl/ResourcesHLSL.cpp", + "angle/src/compiler/translator/hlsl/ShaderStorageBlockFunctionHLSL.cpp", + "angle/src/compiler/translator/hlsl/ShaderStorageBlockOutputHLSL.cpp", + "angle/src/compiler/translator/hlsl/StructureHLSL.cpp", + "angle/src/compiler/translator/hlsl/TextureFunctionHLSL.cpp", + "angle/src/compiler/translator/hlsl/TranslatorHLSL.cpp", + "angle/src/compiler/translator/hlsl/UtilsHLSL.cpp", + "angle/src/compiler/translator/hlsl/blocklayoutHLSL.cpp", + "angle/src/compiler/translator/hlsl/emulated_builtin_functions_hlsl_autogen.cpp", + "angle/src/compiler/translator/tree_ops/hlsl/AddDefaultReturnStatements.cpp", + "angle/src/compiler/translator/tree_ops/hlsl/AggregateAssignArraysInSSBOs.cpp", + "angle/src/compiler/translator/tree_ops/hlsl/AggregateAssignStructsInSSBOs.cpp", + "angle/src/compiler/translator/tree_ops/hlsl/ArrayReturnValueToOutParameter.cpp", + "angle/src/compiler/translator/tree_ops/hlsl/BreakVariableAliasingInInnerLoops.cpp", + "angle/src/compiler/translator/tree_ops/hlsl/ExpandIntegerPowExpressions.cpp", + "angle/src/compiler/translator/tree_ops/hlsl/RecordUniformBlocksWithLargeArrayMember.cpp", + "angle/src/compiler/translator/tree_ops/hlsl/RemoveSwitchFallThrough.cpp", + "angle/src/compiler/translator/tree_ops/hlsl/RewriteAtomicFunctionExpressions.cpp", + "angle/src/compiler/translator/tree_ops/hlsl/RewriteElseBlocks.cpp", + "angle/src/compiler/translator/tree_ops/hlsl/RewriteExpressionsWithShaderStorageBlock.cpp", + "angle/src/compiler/translator/tree_ops/hlsl/RewriteUnaryMinusOperatorInt.cpp", + "angle/src/compiler/translator/tree_ops/hlsl/SeparateArrayConstructorStatements.cpp", + "angle/src/compiler/translator/tree_ops/hlsl/SeparateArrayInitialization.cpp", + "angle/src/compiler/translator/tree_ops/hlsl/SeparateExpressionsReturningArrays.cpp", + "angle/src/compiler/translator/tree_ops/hlsl/UnfoldShortCircuitToIf.cpp", + "angle/src/compiler/translator/tree_ops/hlsl/WrapSwitchStatementsInBlocks.cpp", + "angle/src/gpu_info_util/SystemInfo_win.cpp", + "angle/src/libANGLE/renderer/d3d_format.cpp", + "angle/src/libANGLE/renderer/dxgi_format_map_autogen.cpp", + "angle/src/libANGLE/renderer/dxgi_support_table_autogen.cpp", + "angle/src/libANGLE/renderer/d3d/BufferD3D.cpp", + "angle/src/libANGLE/renderer/d3d/CompilerD3D.cpp", + "angle/src/libANGLE/renderer/d3d/DisplayD3D.cpp", + "angle/src/libANGLE/renderer/d3d/DynamicHLSL.cpp", + "angle/src/libANGLE/renderer/d3d/DynamicImage2DHLSL.cpp", + "angle/src/libANGLE/renderer/d3d/EGLImageD3D.cpp", + "angle/src/libANGLE/renderer/d3d/FramebufferD3D.cpp", + "angle/src/libANGLE/renderer/d3d/HLSLCompiler.cpp", + "angle/src/libANGLE/renderer/d3d/ImageD3D.cpp", + "angle/src/libANGLE/renderer/d3d/IndexBuffer.cpp", + "angle/src/libANGLE/renderer/d3d/IndexDataManager.cpp", + "angle/src/libANGLE/renderer/d3d/NativeWindowD3D.cpp", + "angle/src/libANGLE/renderer/d3d/ProgramD3D.cpp", + "angle/src/libANGLE/renderer/d3d/ProgramExecutableD3D.cpp", + "angle/src/libANGLE/renderer/d3d/RenderTargetD3D.cpp", + "angle/src/libANGLE/renderer/d3d/RenderbufferD3D.cpp", + "angle/src/libANGLE/renderer/d3d/RendererD3D.cpp", + "angle/src/libANGLE/renderer/d3d/ShaderD3D.cpp", + "angle/src/libANGLE/renderer/d3d/ShaderExecutableD3D.cpp", + "angle/src/libANGLE/renderer/d3d/SurfaceD3D.cpp", + "angle/src/libANGLE/renderer/d3d/SwapChainD3D.cpp", + "angle/src/libANGLE/renderer/d3d/TextureD3D.cpp", + "angle/src/libANGLE/renderer/d3d/VertexBuffer.cpp", + "angle/src/libANGLE/renderer/d3d/VertexDataManager.cpp", + "angle/src/libANGLE/renderer/d3d/driver_utils_d3d.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/Blit11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/Clear11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/Context11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/Device11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/ExternalImageSiblingImpl11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/Fence11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/Framebuffer11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/Image11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/IndexBuffer11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/InputLayoutCache.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/MappedSubresourceVerifier11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/PixelTransfer11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/Program11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/ProgramPipeline11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/Query11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/RenderTarget11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/ResourceManager11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/ShaderExecutable11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/StreamProducerD3DTexture.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/TransformFeedback11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/Trim11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/VertexArray11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/VertexBuffer11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/formatutils11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/texture_format_table.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/texture_format_table_autogen.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.cpp", + "angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp", ] angle_sources_egl = [ - "src/libEGL/egl_loader_autogen.cpp", - "src/libEGL/libEGL_autogen.cpp", + "angle/src/libEGL/egl_loader_autogen.cpp", + "angle/src/libEGL/libEGL_autogen.cpp", ] angle_sources_gles = [ - "src/libGLESv2/egl_ext_stubs.cpp", - "src/libGLESv2/egl_stubs.cpp", - "src/libGLESv2/entry_points_egl_autogen.cpp", - "src/libGLESv2/entry_points_egl_ext_autogen.cpp", - "src/libGLESv2/entry_points_gles_1_0_autogen.cpp", - "src/libGLESv2/entry_points_gles_2_0_autogen.cpp", - "src/libGLESv2/entry_points_gles_3_0_autogen.cpp", - "src/libGLESv2/entry_points_gles_3_1_autogen.cpp", - "src/libGLESv2/entry_points_gles_3_2_autogen.cpp", - "src/libGLESv2/entry_points_gles_ext_autogen.cpp", - "src/libGLESv2/global_state.cpp", - "src/libGLESv2/libGLESv2_autogen.cpp", - "src/libGLESv2/proc_table_egl_autogen.cpp", + "angle/src/libGLESv2/egl_ext_stubs.cpp", + "angle/src/libGLESv2/egl_stubs.cpp", + "angle/src/libGLESv2/entry_points_egl_autogen.cpp", + "angle/src/libGLESv2/entry_points_egl_ext_autogen.cpp", + "angle/src/libGLESv2/entry_points_gles_1_0_autogen.cpp", + "angle/src/libGLESv2/entry_points_gles_2_0_autogen.cpp", + "angle/src/libGLESv2/entry_points_gles_3_0_autogen.cpp", + "angle/src/libGLESv2/entry_points_gles_3_1_autogen.cpp", + "angle/src/libGLESv2/entry_points_gles_3_2_autogen.cpp", + "angle/src/libGLESv2/entry_points_gles_ext_autogen.cpp", + "angle/src/libGLESv2/global_state.cpp", + "angle/src/libGLESv2/libGLESv2_autogen.cpp", + "angle/src/libGLESv2/proc_table_egl_autogen.cpp", ] env.Append(CPPDEFINES=[("ANGLE_CAPTURE_ENABLED", 0)]) env.Append(CPPDEFINES=[("ANGLE_ENABLE_ESSL", 1)]) env.Append(CPPDEFINES=[("ANGLE_ENABLE_GLSL", 1)]) env.Append(CPPDEFINES=[("ANGLE_EXPORT", '""')]) + +extra_suffix = "" + if env["arch"] in ["x86_64", "arm64"]: env.Append(CPPDEFINES=[("ANGLE_IS_64_BIT_CPU", 1)]) else: env.Append(CPPDEFINES=[("ANGLE_IS_32_BIT_CPU", 1)]) if env["platform"] == "macos": + env.Append(CPPDEFINES=["ANGLE_PLATFORM_MACOS"]) env.Append(CPPDEFINES=[("ANGLE_IS_MAC", 1)]) env.Append(CPPDEFINES=[("ANGLE_ENABLE_METAL", 1)]) env.Append(CPPDEFINES=[("ANGLE_ENABLE_OPENGL", 1)]) @@ -795,6 +814,18 @@ if env["platform"] == "windows": env.Append(CPPDEFINES=[("ANGLE_ENABLE_HLSL", 1)]) env.Append(CPPDEFINES=[("NOMINMAX", 1)]) env.Append(CPPDEFINES=[("X86_WINDOWS", 1)]) +if env["platform"] == "ios": + if env["ios_simulator"]: + env.Append(CPPDEFINES=["ANGLE_PLATFORM_IOS_FAMILY"]) + extra_suffix = ".simulator" + extra_suffix + else: + env.Append(CPPDEFINES=["ANGLE_PLATFORM_IOS_FAMILY_SIMULATOR"]) + env.Append(CPPDEFINES=[("ANGLE_ENABLE_METAL", 1)]) + env.Append(CPPDEFINES=[("ANGLE_ENABLE_OPENGL", 1)]) + env.Append(CPPDEFINES=[("ANGLE_ENABLE_GL_NULL", 1)]) + env.Append(CPPDEFINES=[("ANGLE_ENABLE_EAGL", 1)]) + env.Append(CPPDEFINES=[("GLES_SILENCE_DEPRECATION", 1)]) + env.Append(CCFLAGS=["-fno-objc-arc", "-fno-objc-msgsend-selector-stubs", "-Wno-unused-command-line-argument"]) env.Append(CPPDEFINES=[("ANGLE_STANDALONE_BUILD", 1)]) env.Append(CPPDEFINES=[("ANGLE_STATIC", 1)]) @@ -804,13 +835,14 @@ env.Append(CPPDEFINES=[("GL_API", '""')]) env.Append(CPPDEFINES=[("GL_APICALL", '""')]) env.Append(CPPDEFINES=[("GL_SILENCE_DEPRECATION", 1)]) -env.Prepend(CPPPATH=["src"]) -env.Prepend(CPPPATH=["include"]) -env.Prepend(CPPPATH=["include/KHR"]) -env.Prepend(CPPPATH=["src/common/third_party/base"]) -env.Prepend(CPPPATH=["src/common/base"]) -env.Prepend(CPPPATH=["src/common/third_party/xxhash"]) -env.Prepend(CPPPATH=["src/third_party/khronos"]) +env.Prepend(CPPPATH=["godot-angle"]) +env.Prepend(CPPPATH=["angle/src"]) +env.Prepend(CPPPATH=["angle/include"]) +env.Prepend(CPPPATH=["angle/include/KHR"]) +env.Prepend(CPPPATH=["angle/src/common/third_party/base"]) +env.Prepend(CPPPATH=["angle/src/common/base"]) +env.Prepend(CPPPATH=["angle/src/common/third_party/xxhash"]) +env.Prepend(CPPPATH=["angle/src/third_party/khronos"]) env.Prepend(CPPPATH=["third_party/astc-encoder/src/Source"]) env.Prepend(CPPPATH=["third_party/zlib"]) env.Prepend(CPPPATH=["third_party/zlib/google"]) @@ -841,7 +873,7 @@ env_gles.Append(CPPDEFINES=[("LIBGLESV2_IMPLEMENTATION", 1)]) env_gles.Append(CPPDEFINES=[("EGL_EGL_PROTOTYPES", 0)]) env_gles.Append(CPPDEFINES=[("GL_GLES_PROTOTYPES", 0)]) -suffix = ".{}.{}".format(env["platform"], env["arch"]) +suffix = ".{}.{}".format(env["platform"], env["arch"]) + extra_suffix # Expose it when included from another project env["suffix"] = suffix diff --git a/angle b/angle new file mode 160000 index 00000000000..468fcbe033f --- /dev/null +++ b/angle @@ -0,0 +1 @@ +Subproject commit 468fcbe033faa34aab6516abd353382dfd72aac8 diff --git a/file_list b/file_list new file mode 100644 index 00000000000..ddeed4ae088 --- /dev/null +++ b/file_list @@ -0,0 +1,537 @@ +./src/common/CompiledShaderState.cpp +./src/common/Float16ToFloat32.cpp +./src/common/MemoryBuffer.cpp +./src/common/PackedCLEnums_autogen.cpp +./src/common/PackedEGLEnums_autogen.cpp +./src/common/PackedEnums.cpp +./src/common/PackedGLEnums_autogen.cpp +./src/common/PoolAlloc.cpp +./src/common/RingBufferAllocator.cpp +./src/common/SimpleMutex.cpp +./src/common/WorkerThread.cpp +./src/common/aligned_memory.cpp +./src/common/android_util.cpp +./src/common/angle_version_info.cpp +./src/common/angleutils.cpp +./src/common/debug.cpp +./src/common/entry_points_enum_autogen.cpp +./src/common/event_tracer.cpp +./src/common/gl_enum_utils.cpp +./src/common/gl_enum_utils_autogen.cpp +./src/common/mathutil.cpp +./src/common/matrix_utils.cpp +./src/common/platform_helpers.cpp +./src/common/string_utils.cpp +./src/common/system_utils.cpp +./src/common/tls.cpp +./src/common/uniform_type_info_autogen.cpp +./src/common/utilities.cpp +./src/common/base/anglebase/sha1.cc +./src/compiler/preprocessor/DiagnosticsBase.cpp +./src/compiler/preprocessor/DirectiveHandlerBase.cpp +./src/compiler/preprocessor/DirectiveParser.cpp +./src/compiler/preprocessor/Input.cpp +./src/compiler/preprocessor/Lexer.cpp +./src/compiler/preprocessor/Macro.cpp +./src/compiler/preprocessor/MacroExpander.cpp +./src/compiler/preprocessor/Preprocessor.cpp +./src/compiler/preprocessor/Token.cpp +./src/compiler/preprocessor/preprocessor_lex_autogen.cpp +./src/compiler/preprocessor/preprocessor_tab_autogen.cpp +./src/compiler/translator/BaseTypes.cpp +./src/compiler/translator/BuiltInFunctionEmulator.cpp +./src/compiler/translator/CallDAG.cpp +./src/compiler/translator/CodeGen.cpp +./src/compiler/translator/CollectVariables.cpp +./src/compiler/translator/Compiler.cpp +./src/compiler/translator/ConstantUnion.cpp +./src/compiler/translator/Declarator.cpp +./src/compiler/translator/Diagnostics.cpp +./src/compiler/translator/DirectiveHandler.cpp +./src/compiler/translator/ExtensionBehavior.cpp +./src/compiler/translator/FlagStd140Structs.cpp +./src/compiler/translator/FunctionLookup.cpp +./src/compiler/translator/HashNames.cpp +./src/compiler/translator/ImmutableStringBuilder.cpp +./src/compiler/translator/ImmutableString_ESSL_autogen.cpp +./src/compiler/translator/InfoSink.cpp +./src/compiler/translator/Initialize.cpp +./src/compiler/translator/InitializeDll.cpp +./src/compiler/translator/IntermNode.cpp +./src/compiler/translator/IntermRebuild.cpp +./src/compiler/translator/IsASTDepthBelowLimit.cpp +./src/compiler/translator/Operator.cpp +./src/compiler/translator/OutputTree.cpp +./src/compiler/translator/ParseContext.cpp +./src/compiler/translator/PoolAlloc.cpp +./src/compiler/translator/QualifierTypes.cpp +./src/compiler/translator/ShaderLang.cpp +./src/compiler/translator/ShaderVars.cpp +./src/compiler/translator/Symbol.cpp +./src/compiler/translator/SymbolTable.cpp +./src/compiler/translator/SymbolTable_ESSL_autogen.cpp +./src/compiler/translator/SymbolUniqueId.cpp +./src/compiler/translator/Types.cpp +./src/compiler/translator/ValidateAST.cpp +./src/compiler/translator/ValidateBarrierFunctionCall.cpp +./src/compiler/translator/ValidateClipCullDistance.cpp +./src/compiler/translator/ValidateGlobalInitializer.cpp +./src/compiler/translator/ValidateLimitations.cpp +./src/compiler/translator/ValidateMaxParameters.cpp +./src/compiler/translator/ValidateOutputs.cpp +./src/compiler/translator/ValidateSwitch.cpp +./src/compiler/translator/ValidateTypeSizeLimitations.cpp +./src/compiler/translator/ValidateVaryingLocations.cpp +./src/compiler/translator/VariablePacker.cpp +./src/compiler/translator/blocklayout.cpp +./src/compiler/translator/glslang_lex_autogen.cpp +./src/compiler/translator/glslang_tab_autogen.cpp +./src/compiler/translator/util.cpp +./src/compiler/translator/glsl/BuiltInFunctionEmulatorGLSL.cpp +./src/compiler/translator/glsl/ExtensionGLSL.cpp +./src/compiler/translator/glsl/OutputESSL.cpp +./src/compiler/translator/glsl/OutputGLSL.cpp +./src/compiler/translator/glsl/OutputGLSLBase.cpp +./src/compiler/translator/glsl/TranslatorESSL.cpp +./src/compiler/translator/glsl/TranslatorGLSL.cpp +./src/compiler/translator/glsl/VersionGLSL.cpp +./src/compiler/translator/tree_ops/ClampFragDepth.cpp +./src/compiler/translator/tree_ops/ClampIndirectIndices.cpp +./src/compiler/translator/tree_ops/ClampPointSize.cpp +./src/compiler/translator/tree_ops/DeclareAndInitBuiltinsForInstancedMultiview.cpp +./src/compiler/translator/tree_ops/DeclarePerVertexBlocks.cpp +./src/compiler/translator/tree_ops/DeferGlobalInitializers.cpp +./src/compiler/translator/tree_ops/EmulateGLFragColorBroadcast.cpp +./src/compiler/translator/tree_ops/EmulateMultiDrawShaderBuiltins.cpp +./src/compiler/translator/tree_ops/FoldExpressions.cpp +./src/compiler/translator/tree_ops/ForcePrecisionQualifier.cpp +./src/compiler/translator/tree_ops/InitializeVariables.cpp +./src/compiler/translator/tree_ops/MonomorphizeUnsupportedFunctions.cpp +./src/compiler/translator/tree_ops/PreTransformTextureCubeGradDerivatives.cpp +./src/compiler/translator/tree_ops/PruneEmptyCases.cpp +./src/compiler/translator/tree_ops/PruneNoOps.cpp +./src/compiler/translator/tree_ops/RecordConstantPrecision.cpp +./src/compiler/translator/tree_ops/RemoveArrayLengthMethod.cpp +./src/compiler/translator/tree_ops/RemoveAtomicCounterBuiltins.cpp +./src/compiler/translator/tree_ops/RemoveDynamicIndexing.cpp +./src/compiler/translator/tree_ops/RemoveInactiveInterfaceVariables.cpp +./src/compiler/translator/tree_ops/RemoveInvariantDeclaration.cpp +./src/compiler/translator/tree_ops/RemoveUnreferencedVariables.cpp +./src/compiler/translator/tree_ops/RescopeGlobalVariables.cpp +./src/compiler/translator/tree_ops/RewriteArrayOfArrayOfOpaqueUniforms.cpp +./src/compiler/translator/tree_ops/RewriteAtomicCounters.cpp +./src/compiler/translator/tree_ops/RewriteCubeMapSamplersAs2DArray.cpp +./src/compiler/translator/tree_ops/RewriteDfdy.cpp +./src/compiler/translator/tree_ops/RewritePixelLocalStorage.cpp +./src/compiler/translator/tree_ops/RewriteStructSamplers.cpp +./src/compiler/translator/tree_ops/RewriteTexelFetchOffset.cpp +./src/compiler/translator/tree_ops/SeparateDeclarations.cpp +./src/compiler/translator/tree_ops/SeparateStructFromFunctionDeclarations.cpp +./src/compiler/translator/tree_ops/SeparateStructFromUniformDeclarations.cpp +./src/compiler/translator/tree_ops/SimplifyLoopConditions.cpp +./src/compiler/translator/tree_ops/SplitSequenceOperator.cpp +./src/compiler/translator/tree_ops/glsl/RegenerateStructNames.cpp +./src/compiler/translator/tree_ops/glsl/RewriteRepeatedAssignToSwizzled.cpp +./src/compiler/translator/tree_ops/glsl/ScalarizeVecAndMatConstructorArgs.cpp +./src/compiler/translator/tree_ops/glsl/UseInterfaceBlockFields.cpp +./src/compiler/translator/tree_util/DriverUniform.cpp +./src/compiler/translator/tree_util/FindFunction.cpp +./src/compiler/translator/tree_util/FindMain.cpp +./src/compiler/translator/tree_util/FindPreciseNodes.cpp +./src/compiler/translator/tree_util/FindSymbolNode.cpp +./src/compiler/translator/tree_util/IntermNodePatternMatcher.cpp +./src/compiler/translator/tree_util/IntermNode_util.cpp +./src/compiler/translator/tree_util/IntermTraverse.cpp +./src/compiler/translator/tree_util/ReplaceArrayOfMatrixVarying.cpp +./src/compiler/translator/tree_util/ReplaceClipCullDistanceVariable.cpp +./src/compiler/translator/tree_util/ReplaceShadowingVariables.cpp +./src/compiler/translator/tree_util/ReplaceVariable.cpp +./src/compiler/translator/tree_util/RewriteSampleMaskVariable.cpp +./src/compiler/translator/tree_util/RunAtTheBeginningOfShader.cpp +./src/compiler/translator/tree_util/RunAtTheEndOfShader.cpp +./src/compiler/translator/tree_util/SpecializationConstant.cpp +./src/gpu_info_util/SystemInfo.cpp +./src/libANGLE/AttributeMap.cpp +./src/libANGLE/BlobCache.cpp +./src/libANGLE/Buffer.cpp +./src/libANGLE/CLBuffer.cpp +./src/libANGLE/CLCommandQueue.cpp +./src/libANGLE/CLContext.cpp +./src/libANGLE/CLDevice.cpp +./src/libANGLE/CLEvent.cpp +./src/libANGLE/CLImage.cpp +./src/libANGLE/CLKernel.cpp +./src/libANGLE/CLMemory.cpp +./src/libANGLE/CLObject.cpp +./src/libANGLE/CLPlatform.cpp +./src/libANGLE/CLProgram.cpp +./src/libANGLE/CLSampler.cpp +./src/libANGLE/Caps.cpp +./src/libANGLE/Compiler.cpp +./src/libANGLE/Config.cpp +./src/libANGLE/Context.cpp +./src/libANGLE/ContextMutex.cpp +./src/libANGLE/Context_gl.cpp +./src/libANGLE/Context_gles_1_0.cpp +./src/libANGLE/Debug.cpp +./src/libANGLE/Device.cpp +./src/libANGLE/Display.cpp +./src/libANGLE/EGLSync.cpp +./src/libANGLE/Error.cpp +./src/libANGLE/Fence.cpp +./src/libANGLE/Framebuffer.cpp +./src/libANGLE/FramebufferAttachment.cpp +./src/libANGLE/GLES1Renderer.cpp +./src/libANGLE/GLES1State.cpp +./src/libANGLE/GlobalMutex.cpp +./src/libANGLE/HandleAllocator.cpp +./src/libANGLE/Image.cpp +./src/libANGLE/ImageIndex.cpp +./src/libANGLE/IndexRangeCache.cpp +./src/libANGLE/LoggingAnnotator.cpp +./src/libANGLE/MemoryObject.cpp +./src/libANGLE/MemoryProgramCache.cpp +./src/libANGLE/MemoryShaderCache.cpp +./src/libANGLE/Observer.cpp +./src/libANGLE/Overlay.cpp +./src/libANGLE/OverlayWidgets.cpp +./src/libANGLE/Overlay_autogen.cpp +./src/libANGLE/Overlay_font_autogen.cpp +./src/libANGLE/PixelLocalStorage.cpp +./src/libANGLE/Platform.cpp +./src/libANGLE/Program.cpp +./src/libANGLE/ProgramExecutable.cpp +./src/libANGLE/ProgramLinkedResources.cpp +./src/libANGLE/ProgramPipeline.cpp +./src/libANGLE/Query.cpp +./src/libANGLE/Renderbuffer.cpp +./src/libANGLE/ResourceManager.cpp +./src/libANGLE/Sampler.cpp +./src/libANGLE/Semaphore.cpp +./src/libANGLE/Shader.cpp +./src/libANGLE/ShareGroup.cpp +./src/libANGLE/State.cpp +./src/libANGLE/Stream.cpp +./src/libANGLE/Surface.cpp +./src/libANGLE/Texture.cpp +./src/libANGLE/Thread.cpp +./src/libANGLE/TransformFeedback.cpp +./src/libANGLE/Uniform.cpp +./src/libANGLE/VaryingPacking.cpp +./src/libANGLE/VertexArray.cpp +./src/libANGLE/VertexAttribute.cpp +./src/libANGLE/angletypes.cpp +./src/libANGLE/cl_utils.cpp +./src/libANGLE/context_private_call_gl.cpp +./src/libANGLE/context_private_call_gles.cpp +./src/libANGLE/entry_points_utils.cpp +./src/libANGLE/es3_copy_conversion_table_autogen.cpp +./src/libANGLE/format_map_autogen.cpp +./src/libANGLE/format_map_desktop.cpp +./src/libANGLE/formatutils.cpp +./src/libANGLE/gles_extensions_autogen.cpp +./src/libANGLE/queryconversions.cpp +./src/libANGLE/queryutils.cpp +./src/libANGLE/validationCL.cpp +./src/libANGLE/validationEGL.cpp +./src/libANGLE/validationES.cpp +./src/libANGLE/validationES1.cpp +./src/libANGLE/validationES2.cpp +./src/libANGLE/validationES3.cpp +./src/libANGLE/validationES31.cpp +./src/libANGLE/validationES32.cpp +./src/libANGLE/validationESEXT.cpp +./src/libANGLE/validationGL1.cpp +./src/libANGLE/validationGL2.cpp +./src/libANGLE/validationGL3.cpp +./src/libANGLE/validationGL4.cpp +./src/libANGLE/capture/FrameCapture_mock.cpp +./src/libANGLE/capture/serialize_mock.cpp +./src/libANGLE/renderer/BufferImpl.cpp +./src/libANGLE/renderer/CLCommandQueueImpl.cpp +./src/libANGLE/renderer/CLContextImpl.cpp +./src/libANGLE/renderer/CLDeviceImpl.cpp +./src/libANGLE/renderer/CLEventImpl.cpp +./src/libANGLE/renderer/CLExtensions.cpp +./src/libANGLE/renderer/CLKernelImpl.cpp +./src/libANGLE/renderer/CLMemoryImpl.cpp +./src/libANGLE/renderer/CLPlatformImpl.cpp +./src/libANGLE/renderer/CLProgramImpl.cpp +./src/libANGLE/renderer/CLSamplerImpl.cpp +./src/libANGLE/renderer/ContextImpl.cpp +./src/libANGLE/renderer/DeviceImpl.cpp +./src/libANGLE/renderer/DisplayImpl.cpp +./src/libANGLE/renderer/EGLReusableSync.cpp +./src/libANGLE/renderer/EGLSyncImpl.cpp +./src/libANGLE/renderer/Format_table_autogen.cpp +./src/libANGLE/renderer/FramebufferImpl.cpp +./src/libANGLE/renderer/ImageImpl.cpp +./src/libANGLE/renderer/ProgramImpl.cpp +./src/libANGLE/renderer/ProgramPipelineImpl.cpp +./src/libANGLE/renderer/QueryImpl.cpp +./src/libANGLE/renderer/RenderbufferImpl.cpp +./src/libANGLE/renderer/ShaderImpl.cpp +./src/libANGLE/renderer/SurfaceImpl.cpp +./src/libANGLE/renderer/TextureImpl.cpp +./src/libANGLE/renderer/TransformFeedbackImpl.cpp +./src/libANGLE/renderer/VertexArrayImpl.cpp +./src/libANGLE/renderer/driver_utils.cpp +./src/libANGLE/renderer/load_functions_table_autogen.cpp +./src/libANGLE/renderer/renderer_utils.cpp +./src/image_util/AstcDecompressor.cpp +./src/image_util/copyimage.cpp +./src/image_util/imageformats.cpp +./src/image_util/loadimage_astc.cpp +./src/image_util/loadimage_etc.cpp +./src/image_util/loadimage_paletted.cpp +./src/image_util/loadimage.cpp +./src/image_util/storeimage_paletted.cpp +./src/common/third_party/xxhash/xxhash.c +./src/common/system_utils_apple.cpp +./src/common/system_utils_mac.cpp +./src/gpu_info_util/SystemInfo_macos.mm +./src/common/gl/cgl/FunctionsCGL.cpp +./src/libANGLE/renderer/driver_utils_mac.mm +./src/libANGLE/renderer/gl/cgl/ContextCGL.cpp +./src/libANGLE/renderer/gl/cgl/DeviceCGL.cpp +./src/libANGLE/renderer/gl/cgl/DisplayCGL.mm +./src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp +./src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.cpp +./src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm +./src/common/system_utils_ios.mm +./src/gpu_info_util/SystemInfo_ios.cpp +./src/libANGLE/renderer/driver_utils_ios.mm +./src/libANGLE/renderer/gl/eagl/ContextEAGL.cpp +./src/libANGLE/renderer/gl/eagl/DeviceEAGL.cpp +./src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm +./src/libANGLE/renderer/gl/eagl/FunctionsEAGL.mm +./src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm +./src/libANGLE/renderer/gl/eagl/PbufferSurfaceEAGL.cpp +./src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm +./src/common/apple_platform_utils.mm +./src/common/system_utils_posix.cpp +./src/compiler/translator/msl/AstHelpers.cpp +./src/compiler/translator/msl/ConstantNames.cpp +./src/compiler/translator/msl/DiscoverDependentFunctions.cpp +./src/compiler/translator/msl/DiscoverEnclosingFunctionTraverser.cpp +./src/compiler/translator/msl/DriverUniformMetal.cpp +./src/compiler/translator/msl/EmitMetal.cpp +./src/compiler/translator/msl/IdGen.cpp +./src/compiler/translator/msl/Layout.cpp +./src/compiler/translator/msl/MapFunctionsToDefinitions.cpp +./src/compiler/translator/msl/MapSymbols.cpp +./src/compiler/translator/msl/ModifyStruct.cpp +./src/compiler/translator/msl/Name.cpp +./src/compiler/translator/msl/Pipeline.cpp +./src/compiler/translator/msl/ProgramPrelude.cpp +./src/compiler/translator/msl/RewritePipelines.cpp +./src/compiler/translator/msl/SymbolEnv.cpp +./src/compiler/translator/msl/ToposortStructs.cpp +./src/compiler/translator/msl/TranslatorMSL.cpp +./src/compiler/translator/msl/UtilsMSL.cpp +./src/compiler/translator/tree_ops/glsl/apple/AddAndTrueToLoopCondition.cpp +./src/compiler/translator/tree_ops/glsl/apple/RewriteDoWhile.cpp +./src/compiler/translator/tree_ops/glsl/apple/RewriteRowMajorMatrices.cpp +./src/compiler/translator/tree_ops/glsl/apple/RewriteUnaryMinusOperatorFloat.cpp +./src/compiler/translator/tree_ops/glsl/apple/UnfoldShortCircuitAST.cpp +./src/compiler/translator/tree_ops/msl/AddExplicitTypeCasts.cpp +./src/compiler/translator/tree_ops/msl/ConvertUnsupportedConstructorsToFunctionCalls.cpp +./src/compiler/translator/tree_ops/msl/FixTypeConstructors.cpp +./src/compiler/translator/tree_ops/msl/GuardFragDepthWrite.cpp +./src/compiler/translator/tree_ops/msl/HoistConstants.cpp +./src/compiler/translator/tree_ops/msl/IntroduceVertexIndexID.cpp +./src/compiler/translator/tree_ops/msl/NameEmbeddedUniformStructsMetal.cpp +./src/compiler/translator/tree_ops/msl/ReduceInterfaceBlocks.cpp +./src/compiler/translator/tree_ops/msl/RewriteCaseDeclarations.cpp +./src/compiler/translator/tree_ops/msl/RewriteInterpolants.cpp +./src/compiler/translator/tree_ops/msl/RewriteOutArgs.cpp +./src/compiler/translator/tree_ops/msl/RewriteUnaddressableReferences.cpp +./src/compiler/translator/tree_ops/msl/SeparateCompoundExpressions.cpp +./src/compiler/translator/tree_ops/msl/SeparateCompoundStructDeclarations.cpp +./src/compiler/translator/tree_ops/msl/TransposeRowMajorMatrices.cpp +./src/compiler/translator/tree_ops/msl/WrapMain.cpp +./src/gpu_info_util/SystemInfo_apple.mm +./src/libANGLE/renderer/driver_utils_mac.mm +./src/libANGLE/renderer/metal/BufferMtl.mm +./src/libANGLE/renderer/metal/CompilerMtl.mm +./src/libANGLE/renderer/metal/ContextMtl.mm +./src/libANGLE/renderer/metal/DeviceMtl.mm +./src/libANGLE/renderer/metal/DisplayMtl.mm +./src/libANGLE/renderer/metal/FrameBufferMtl.mm +./src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm +./src/libANGLE/renderer/metal/ImageMtl.mm +./src/libANGLE/renderer/metal/ProgramExecutableMtl.mm +./src/libANGLE/renderer/metal/ProgramMtl.mm +./src/libANGLE/renderer/metal/ProvokingVertexHelper.mm +./src/libANGLE/renderer/metal/QueryMtl.mm +./src/libANGLE/renderer/metal/RenderBufferMtl.mm +./src/libANGLE/renderer/metal/RenderTargetMtl.mm +./src/libANGLE/renderer/metal/SamplerMtl.mm +./src/libANGLE/renderer/metal/ShaderMtl.mm +./src/libANGLE/renderer/metal/SurfaceMtl.mm +./src/libANGLE/renderer/metal/SyncMtl.mm +./src/libANGLE/renderer/metal/TextureMtl.mm +./src/libANGLE/renderer/metal/TransformFeedbackMtl.mm +./src/libANGLE/renderer/metal/VertexArrayMtl.mm +./src/libANGLE/renderer/metal/blocklayoutMetal.cpp +./src/libANGLE/renderer/metal/mtl_buffer_manager.mm +./src/libANGLE/renderer/metal/mtl_buffer_pool.mm +./src/libANGLE/renderer/metal/mtl_command_buffer.mm +./src/libANGLE/renderer/metal/mtl_common.mm +./src/libANGLE/renderer/metal/mtl_context_device.mm +./src/libANGLE/renderer/metal/mtl_format_table_autogen.mm +./src/libANGLE/renderer/metal/mtl_format_utils.mm +./src/libANGLE/renderer/metal/mtl_library_cache.mm +./src/libANGLE/renderer/metal/mtl_msl_utils.mm +./src/libANGLE/renderer/metal/mtl_occlusion_query_pool.mm +./src/libANGLE/renderer/metal/mtl_pipeline_cache.mm +./src/libANGLE/renderer/metal/mtl_render_utils.mm +./src/libANGLE/renderer/metal/mtl_resources.mm +./src/libANGLE/renderer/metal/mtl_state_cache.mm +./src/libANGLE/renderer/metal/mtl_utils.mm +./src/libANGLE/renderer/metal/process.cpp +./src/libANGLE/renderer/metal/renderermtl_utils.cpp +./src/libANGLE/renderer/gl/BlitGL.cpp +./src/libANGLE/renderer/gl/BufferGL.cpp +./src/libANGLE/renderer/gl/ClearMultiviewGL.cpp +./src/libANGLE/renderer/gl/CompilerGL.cpp +./src/libANGLE/renderer/gl/ContextGL.cpp +./src/libANGLE/renderer/gl/DispatchTableGL_autogen.cpp +./src/libANGLE/renderer/gl/DisplayGL.cpp +./src/libANGLE/renderer/gl/FenceNVGL.cpp +./src/libANGLE/renderer/gl/FramebufferGL.cpp +./src/libANGLE/renderer/gl/FunctionsGL.cpp +./src/libANGLE/renderer/gl/ImageGL.cpp +./src/libANGLE/renderer/gl/MemoryObjectGL.cpp +./src/libANGLE/renderer/gl/PLSProgramCache.cpp +./src/libANGLE/renderer/gl/ProgramExecutableGL.cpp +./src/libANGLE/renderer/gl/ProgramGL.cpp +./src/libANGLE/renderer/gl/ProgramPipelineGL.cpp +./src/libANGLE/renderer/gl/QueryGL.cpp +./src/libANGLE/renderer/gl/RenderbufferGL.cpp +./src/libANGLE/renderer/gl/RendererGL.cpp +./src/libANGLE/renderer/gl/SamplerGL.cpp +./src/libANGLE/renderer/gl/SemaphoreGL.cpp +./src/libANGLE/renderer/gl/ShaderGL.cpp +./src/libANGLE/renderer/gl/StateManagerGL.cpp +./src/libANGLE/renderer/gl/SurfaceGL.cpp +./src/libANGLE/renderer/gl/SyncGL.cpp +./src/libANGLE/renderer/gl/TextureGL.cpp +./src/libANGLE/renderer/gl/TransformFeedbackGL.cpp +./src/libANGLE/renderer/gl/VertexArrayGL.cpp +./src/libANGLE/renderer/gl/formatutilsgl.cpp +./src/libANGLE/renderer/gl/null_functions.cpp +./src/libANGLE/renderer/gl/renderergl_utils.cpp +./src/common/system_utils_win.cpp +./src/common/system_utils_win32.cpp +./src/compiler/translator/hlsl/ASTMetadataHLSL.cpp +./src/compiler/translator/hlsl/AtomicCounterFunctionHLSL.cpp +./src/compiler/translator/hlsl/BuiltInFunctionEmulatorHLSL.cpp +./src/compiler/translator/hlsl/ImageFunctionHLSL.cpp +./src/compiler/translator/hlsl/OutputHLSL.cpp +./src/compiler/translator/hlsl/ResourcesHLSL.cpp +./src/compiler/translator/hlsl/ShaderStorageBlockFunctionHLSL.cpp +./src/compiler/translator/hlsl/ShaderStorageBlockOutputHLSL.cpp +./src/compiler/translator/hlsl/StructureHLSL.cpp +./src/compiler/translator/hlsl/TextureFunctionHLSL.cpp +./src/compiler/translator/hlsl/TranslatorHLSL.cpp +./src/compiler/translator/hlsl/UtilsHLSL.cpp +./src/compiler/translator/hlsl/blocklayoutHLSL.cpp +./src/compiler/translator/hlsl/emulated_builtin_functions_hlsl_autogen.cpp +./src/compiler/translator/tree_ops/hlsl/AddDefaultReturnStatements.cpp +./src/compiler/translator/tree_ops/hlsl/AggregateAssignArraysInSSBOs.cpp +./src/compiler/translator/tree_ops/hlsl/AggregateAssignStructsInSSBOs.cpp +./src/compiler/translator/tree_ops/hlsl/ArrayReturnValueToOutParameter.cpp +./src/compiler/translator/tree_ops/hlsl/BreakVariableAliasingInInnerLoops.cpp +./src/compiler/translator/tree_ops/hlsl/ExpandIntegerPowExpressions.cpp +./src/compiler/translator/tree_ops/hlsl/RecordUniformBlocksWithLargeArrayMember.cpp +./src/compiler/translator/tree_ops/hlsl/RemoveSwitchFallThrough.cpp +./src/compiler/translator/tree_ops/hlsl/RewriteAtomicFunctionExpressions.cpp +./src/compiler/translator/tree_ops/hlsl/RewriteElseBlocks.cpp +./src/compiler/translator/tree_ops/hlsl/RewriteExpressionsWithShaderStorageBlock.cpp +./src/compiler/translator/tree_ops/hlsl/RewriteUnaryMinusOperatorInt.cpp +./src/compiler/translator/tree_ops/hlsl/SeparateArrayConstructorStatements.cpp +./src/compiler/translator/tree_ops/hlsl/SeparateArrayInitialization.cpp +./src/compiler/translator/tree_ops/hlsl/SeparateExpressionsReturningArrays.cpp +./src/compiler/translator/tree_ops/hlsl/UnfoldShortCircuitToIf.cpp +./src/compiler/translator/tree_ops/hlsl/WrapSwitchStatementsInBlocks.cpp +./src/gpu_info_util/SystemInfo_win.cpp +./src/libANGLE/renderer/d3d_format.cpp +./src/libANGLE/renderer/dxgi_format_map_autogen.cpp +./src/libANGLE/renderer/dxgi_support_table_autogen.cpp +./src/libANGLE/renderer/d3d/BufferD3D.cpp +./src/libANGLE/renderer/d3d/CompilerD3D.cpp +./src/libANGLE/renderer/d3d/DisplayD3D.cpp +./src/libANGLE/renderer/d3d/DynamicHLSL.cpp +./src/libANGLE/renderer/d3d/DynamicImage2DHLSL.cpp +./src/libANGLE/renderer/d3d/EGLImageD3D.cpp +./src/libANGLE/renderer/d3d/FramebufferD3D.cpp +./src/libANGLE/renderer/d3d/HLSLCompiler.cpp +./src/libANGLE/renderer/d3d/ImageD3D.cpp +./src/libANGLE/renderer/d3d/IndexBuffer.cpp +./src/libANGLE/renderer/d3d/IndexDataManager.cpp +./src/libANGLE/renderer/d3d/NativeWindowD3D.cpp +./src/libANGLE/renderer/d3d/ProgramD3D.cpp +./src/libANGLE/renderer/d3d/ProgramExecutableD3D.cpp +./src/libANGLE/renderer/d3d/RenderTargetD3D.cpp +./src/libANGLE/renderer/d3d/RenderbufferD3D.cpp +./src/libANGLE/renderer/d3d/RendererD3D.cpp +./src/libANGLE/renderer/d3d/ShaderD3D.cpp +./src/libANGLE/renderer/d3d/ShaderExecutableD3D.cpp +./src/libANGLE/renderer/d3d/SurfaceD3D.cpp +./src/libANGLE/renderer/d3d/SwapChainD3D.cpp +./src/libANGLE/renderer/d3d/TextureD3D.cpp +./src/libANGLE/renderer/d3d/VertexBuffer.cpp +./src/libANGLE/renderer/d3d/VertexDataManager.cpp +./src/libANGLE/renderer/d3d/driver_utils_d3d.cpp +./src/libANGLE/renderer/d3d/d3d11/Blit11.cpp +./src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp +./src/libANGLE/renderer/d3d/d3d11/Clear11.cpp +./src/libANGLE/renderer/d3d/d3d11/Context11.cpp +./src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.cpp +./src/libANGLE/renderer/d3d/d3d11/Device11.cpp +./src/libANGLE/renderer/d3d/d3d11/ExternalImageSiblingImpl11.cpp +./src/libANGLE/renderer/d3d/d3d11/Fence11.cpp +./src/libANGLE/renderer/d3d/d3d11/Framebuffer11.cpp +./src/libANGLE/renderer/d3d/d3d11/Image11.cpp +./src/libANGLE/renderer/d3d/d3d11/IndexBuffer11.cpp +./src/libANGLE/renderer/d3d/d3d11/InputLayoutCache.cpp +./src/libANGLE/renderer/d3d/d3d11/MappedSubresourceVerifier11.cpp +./src/libANGLE/renderer/d3d/d3d11/PixelTransfer11.cpp +./src/libANGLE/renderer/d3d/d3d11/Program11.cpp +./src/libANGLE/renderer/d3d/d3d11/ProgramPipeline11.cpp +./src/libANGLE/renderer/d3d/d3d11/Query11.cpp +./src/libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp +./src/libANGLE/renderer/d3d/d3d11/RenderTarget11.cpp +./src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp +./src/libANGLE/renderer/d3d/d3d11/ResourceManager11.cpp +./src/libANGLE/renderer/d3d/d3d11/ShaderExecutable11.cpp +./src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp +./src/libANGLE/renderer/d3d/d3d11/StreamProducerD3DTexture.cpp +./src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp +./src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp +./src/libANGLE/renderer/d3d/d3d11/TransformFeedback11.cpp +./src/libANGLE/renderer/d3d/d3d11/Trim11.cpp +./src/libANGLE/renderer/d3d/d3d11/VertexArray11.cpp +./src/libANGLE/renderer/d3d/d3d11/VertexBuffer11.cpp +./src/libANGLE/renderer/d3d/d3d11/formatutils11.cpp +./src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp +./src/libANGLE/renderer/d3d/d3d11/texture_format_table.cpp +./src/libANGLE/renderer/d3d/d3d11/texture_format_table_autogen.cpp +./src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.cpp +./src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp +./src/libEGL/egl_loader_autogen.cpp +./src/libEGL/libEGL_autogen.cpp +./src/libGLESv2/egl_ext_stubs.cpp +./src/libGLESv2/egl_stubs.cpp +./src/libGLESv2/entry_points_egl_autogen.cpp +./src/libGLESv2/entry_points_egl_ext_autogen.cpp +./src/libGLESv2/entry_points_gles_1_0_autogen.cpp +./src/libGLESv2/entry_points_gles_2_0_autogen.cpp +./src/libGLESv2/entry_points_gles_3_0_autogen.cpp +./src/libGLESv2/entry_points_gles_3_1_autogen.cpp +./src/libGLESv2/entry_points_gles_3_2_autogen.cpp +./src/libGLESv2/entry_points_gles_ext_autogen.cpp +./src/libGLESv2/global_state.cpp +./src/libGLESv2/libGLESv2_autogen.cpp +./src/libGLESv2/proc_table_egl_autogen.cpp diff --git a/godot-patches/patch_ios_swap_rename.diff b/godot-patches/patch_ios_swap_rename.diff new file mode 100644 index 00000000000..32812f80360 --- /dev/null +++ b/godot-patches/patch_ios_swap_rename.diff @@ -0,0 +1,12 @@ +diff --git a/angle/src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.h b/angle/src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.h +index d482fd928..58ed2c9e5 100644 +--- a/angle/src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.h ++++ b/angle/src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.h +@@ -26,6 +26,7 @@ typedef __IOSurface *IOSurfaceRef; + #if defined(PREFIX_OBJECTIVE_C_CLASSES_WITH_WEB_FOR_WEBKIT) + # define SwapLayerEAGL WebSwapLayerEAGL + #endif ++#define SwapLayerEAGL GodotSwapLayerEAGL + @class SwapLayerEAGL; + + namespace rx diff --git a/godot-patches/patch_metal_cmd_buf_leak.diff b/godot-patches/patch_metal_cmd_buf_leak.diff new file mode 100644 index 00000000000..dd56b968191 --- /dev/null +++ b/godot-patches/patch_metal_cmd_buf_leak.diff @@ -0,0 +1,39 @@ +diff --git a/angle/src/libANGLE/renderer/metal/ProgramExecutableMtl.mm b/angle/src/libANGLE/renderer/metal/ProgramExecutableMtl.mm +index 04fc45023..b2a4f3f96 100644 +--- a/angle/src/libANGLE/renderer/metal/ProgramExecutableMtl.mm ++++ b/angle/src/libANGLE/renderer/metal/ProgramExecutableMtl.mm +@@ -248,7 +248,7 @@ void InitArgumentBufferEncoder(mtl::Context *context, + if (encoder->metalArgBufferEncoder) + { + encoder->bufferPool.initialize(context, encoder->metalArgBufferEncoder.get().encodedLength, +- mtl::kArgumentBufferOffsetAlignment, 0); ++ mtl::kArgumentBufferOffsetAlignment, 10); + } + } + +diff --git a/angle/src/libANGLE/renderer/metal/ProvokingVertexHelper.mm b/angle/src/libANGLE/renderer/metal/ProvokingVertexHelper.mm +index 3c3b47be1..0a186b63a 100644 +--- a/angle/src/libANGLE/renderer/metal/ProvokingVertexHelper.mm ++++ b/angle/src/libANGLE/renderer/metal/ProvokingVertexHelper.mm +@@ -101,7 +101,7 @@ static inline gl::PrimitiveMode getNewPrimitiveMode(const uint fixIndexBufferKey + } + ProvokingVertexHelper::ProvokingVertexHelper(ContextMtl *context) : mIndexBuffers(false) + { +- mIndexBuffers.initialize(context, kInitialIndexBufferSize, mtl::kIndexBufferOffsetAlignment, 0); ++ mIndexBuffers.initialize(context, kInitialIndexBufferSize, mtl::kIndexBufferOffsetAlignment, 10); + } + + void ProvokingVertexHelper::onDestroy(ContextMtl *context) +diff --git a/angle/src/libANGLE/renderer/metal/VertexArrayMtl.mm b/angle/src/libANGLE/renderer/metal/VertexArrayMtl.mm +index 1d30b2534..50e894ac3 100644 +--- a/angle/src/libANGLE/renderer/metal/VertexArrayMtl.mm ++++ b/angle/src/libANGLE/renderer/metal/VertexArrayMtl.mm +@@ -198,7 +198,7 @@ VertexArrayMtl::VertexArrayMtl(const gl::VertexArrayState &state, ContextMtl *co + /** maxBuffers */ 10 * mtl::kMaxVertexAttribs); + + mDynamicIndexData.initialize(context, kDynamicIndexDataSize, mtl::kIndexBufferOffsetAlignment, +- 0); ++ 10); + } + VertexArrayMtl::~VertexArrayMtl() {} + diff --git a/godot-patches/patch_mingw_build.diff b/godot-patches/patch_mingw_build.diff index b6becc8a239..381eb37fe0c 100644 --- a/godot-patches/patch_mingw_build.diff +++ b/godot-patches/patch_mingw_build.diff @@ -1,7 +1,7 @@ -diff --git a/include/platform/PlatformMethods.h b/include/platform/PlatformMethods.h +diff --git a/angle/include/platform/PlatformMethods.h b/angle/include/platform/PlatformMethods.h index a3233a2cd5..b4e684842c 100644 ---- a/include/platform/PlatformMethods.h -+++ b/include/platform/PlatformMethods.h +--- a/angle/include/platform/PlatformMethods.h ++++ b/angle/include/platform/PlatformMethods.h @@ -313,7 +313,7 @@ extern "C" { // The application should set any platform methods it cares about on the returned pointer. // If display is not valid, behaviour is undefined. @@ -20,41 +20,10 @@ index a3233a2cd5..b4e684842c 100644 } // extern "C" namespace angle -diff --git a/src/libANGLE/SharedContextMutex.cpp b/src/libANGLE/SharedContextMutex.cpp -index 352a6781b2..714d01c51a 100644 ---- a/src/libANGLE/SharedContextMutex.cpp -+++ b/src/libANGLE/SharedContextMutex.cpp -@@ -125,7 +125,7 @@ void SharedContextMutex::unlock() - } - - template --ANGLE_INLINE SharedContextMutex *SharedContextMutex::doTryLock() -+SharedContextMutex *SharedContextMutex::doTryLock() - { - angle::ThreadId currentThreadId; - ASSERT(!CheckThreadIdCurrent(mOwnerThreadId, ¤tThreadId)); -@@ -147,7 +147,7 @@ ANGLE_INLINE SharedContextMutex *SharedContextMutex::doTryLock() - } - - template --ANGLE_INLINE SharedContextMutex *SharedContextMutex::doLock() -+SharedContextMutex *SharedContextMutex::doLock() - { - angle::ThreadId currentThreadId; - ASSERT(!CheckThreadIdCurrent(mOwnerThreadId, ¤tThreadId)); -@@ -166,7 +166,7 @@ ANGLE_INLINE SharedContextMutex *SharedContextMutex::doLock() - } - - template --ANGLE_INLINE void SharedContextMutex::doUnlock() -+void SharedContextMutex::doUnlock() - { - ASSERT( - TryUpdateThreadId(&mOwnerThreadId, angle::GetCurrentThreadId(), angle::InvalidThreadId())); -diff --git a/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.cpp b/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.cpp +diff --git a/angle/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.cpp b/angle/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.cpp index 0e64f78d53..17ed63e66c 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.cpp -+++ b/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.cpp +--- a/angle/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.cpp ++++ b/angle/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.cpp @@ -38,14 +38,22 @@ bool CompositorNativeWindow11::getClientRect(LPRECT rect) const mHostVisual.As(&visual); @@ -78,10 +47,10 @@ index 0e64f78d53..17ed63e66c 100644 if (FAILED(hr)) { return false; -diff --git a/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.h b/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.h +diff --git a/angle/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.h b/angle/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.h index aec331a76c..be98814486 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.h -+++ b/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.h +--- a/angle/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.h ++++ b/angle/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.h @@ -12,6 +12,143 @@ #include "libANGLE/renderer/d3d/d3d11/NativeWindow11.h" @@ -235,6 +204,7 @@ index 64e0428..1332971 100644 #if defined(_MSC_VER) #include -#elif defined(ADLER32_SIMD_SSSE3) -+#elif defined(ADLER32_SIMD_SSSE3) || (defined(__clang__) && (defined(__i386__) || defined(__x86_64__))) ++#elif defined(ADLER32_SIMD_SSSE3) || (defined(MINGW_ENABLED) && (defined(__i386__) || defined(__x86_64__))) #include #endif + diff --git a/godot-tools/ios.py b/godot-tools/ios.py new file mode 100644 index 00000000000..2266738701f --- /dev/null +++ b/godot-tools/ios.py @@ -0,0 +1,107 @@ +import os +import sys +import subprocess +from SCons.Variables import * + +if sys.version_info < (3,): + + def decode_utf8(x): + return x + +else: + import codecs + + def decode_utf8(x): + return codecs.utf_8_decode(x)[0] + + +def has_ios_osxcross(): + return "OSXCROSS_IOS" in os.environ + + +def options(opts): + opts.Add(BoolVariable("ios_simulator", "Target iOS Simulator", False)) + opts.Add(BoolVariable("ios_static", "Build iOS library", True)) + opts.Add("ios_min_version", "Target minimum iphoneos/iphonesimulator version", "13.0") + opts.Add( + "IOS_TOOLCHAIN_PATH", + "Path to iOS toolchain", + "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain", + ) + opts.Add("IOS_SDK_PATH", "Path to the iOS SDK", "") + + if has_ios_osxcross(): + opts.Add("ios_triple", "Triple for ios toolchain", "") + + +def exists(env): + return sys.platform == "darwin" or has_ios_osxcross() + + +def generate(env): + if env["arch"] not in ("universal", "arm64", "x86_64"): + raise ValueError("Only universal, arm64, and x86_64 are supported on iOS. Exiting.") + + if env["ios_simulator"]: + sdk_name = "iphonesimulator" + env.Append(CCFLAGS=["-mios-simulator-version-min=" + env["ios_min_version"]]) + else: + sdk_name = "iphoneos" + env.Append(CCFLAGS=["-miphoneos-version-min=" + env["ios_min_version"]]) + + if sys.platform == "darwin": + if env["IOS_SDK_PATH"] == "": + try: + env["IOS_SDK_PATH"] = decode_utf8( + subprocess.check_output(["xcrun", "--sdk", sdk_name, "--show-sdk-path"]).strip() + ) + except (subprocess.CalledProcessError, OSError): + raise ValueError( + "Failed to find SDK path while running xcrun --sdk {} --show-sdk-path.".format(sdk_name) + ) + + compiler_path = env["IOS_TOOLCHAIN_PATH"] + "/usr/bin/" + env["CC"] = compiler_path + "clang" + env["CXX"] = compiler_path + "clang++" + env["AR"] = compiler_path + "ar" + env["RANLIB"] = compiler_path + "ranlib" + env["SHLIBSUFFIX"] = ".dylib" + env["ENV"]["PATH"] = env["IOS_TOOLCHAIN_PATH"] + "/Developer/usr/bin/:" + env["ENV"]["PATH"] + + else: + # OSXCross + compiler_path = "$IOS_TOOLCHAIN_PATH/usr/bin/${ios_triple}" + env["CC"] = compiler_path + "clang" + env["CXX"] = compiler_path + "clang++" + env["AR"] = compiler_path + "ar" + env["RANLIB"] = compiler_path + "ranlib" + env["SHLIBSUFFIX"] = ".dylib" + + env.Prepend( + CPPPATH=[ + "$IOS_SDK_PATH/usr/include", + "$IOS_SDK_PATH/System/Library/Frameworks/AudioUnit.framework/Headers", + ] + ) + + env.Append(CCFLAGS=["-stdlib=libc++"]) + + binpath = os.path.join(env["IOS_TOOLCHAIN_PATH"], "usr", "bin") + if binpath not in env["ENV"]["PATH"]: + env.PrependENVPath("PATH", binpath) + + if env["arch"] == "universal": + if env["ios_simulator"]: + env.Append(LINKFLAGS=["-arch", "x86_64", "-arch", "arm64"]) + env.Append(CCFLAGS=["-arch", "x86_64", "-arch", "arm64"]) + else: + env.Append(LINKFLAGS=["-arch", "arm64"]) + env.Append(CCFLAGS=["-arch", "arm64"]) + else: + env.Append(LINKFLAGS=["-arch", env["arch"]]) + env.Append(CCFLAGS=["-arch", env["arch"]]) + + env.Append(CCFLAGS=["-isysroot", env["IOS_SDK_PATH"]]) + env.Append(LINKFLAGS=["-isysroot", env["IOS_SDK_PATH"], "-F" + env["IOS_SDK_PATH"]]) + + env.Append(CPPDEFINES=["IOS_ENABLED", "UNIX_ENABLED"]) diff --git a/godot-tools/windows.py b/godot-tools/windows.py index 0675e2c5038..8ae83f9e4b4 100644 --- a/godot-tools/windows.py +++ b/godot-tools/windows.py @@ -17,6 +17,7 @@ def options(opts): opts.Add(BoolVariable("use_llvm", "Use the LLVM compiler", False)) opts.Add("mingw_prefix", "MinGW prefix", mingw) + def exists(env): return True @@ -26,12 +27,22 @@ def generate(env): if not env["use_mingw"] and msvc.exists(env): if env["arch"] == "x86_64": env["TARGET_ARCH"] = "amd64" + elif env["arch"] == "arm64": + env["TARGET_ARCH"] = "arm64" + elif env["arch"] == "arm32": + env["TARGET_ARCH"] = "arm" elif env["arch"] == "x86_32": env["TARGET_ARCH"] = "x86" + + env["MSVC_SETUP_RUN"] = False # Need to set this to re-run the tool + env["MSVS_VERSION"] = None + env["MSVC_VERSION"] = None + env["is_msvc"] = True # MSVC, linker, and archiver. msvc.generate(env) + env.Tool("msvc") env.Tool("mslib") env.Tool("mslink") @@ -88,7 +99,7 @@ def generate(env): else: env["CXX"] = prefix + "-w64-mingw32-g++" env["CC"] = prefix + "-w64-mingw32-gcc" - env["AR"] = prefix + "-w64-mingw32-ar" + env["AR"] = prefix + "-w64-mingw32-gcc-ar" env["RANLIB"] = prefix + "-w64-mingw32-ranlib" env["LINK"] = prefix + "-w64-mingw32-g++" diff --git a/third_party/astc-encoder/src b/third_party/astc-encoder/src new file mode 160000 index 00000000000..573c475389b --- /dev/null +++ b/third_party/astc-encoder/src @@ -0,0 +1 @@ +Subproject commit 573c475389bf51d16a5c3fc8348092e094e50e8f diff --git a/third_party/zlib b/third_party/zlib new file mode 160000 index 00000000000..c2469fdd73f --- /dev/null +++ b/third_party/zlib @@ -0,0 +1 @@ +Subproject commit c2469fdd73f192383d2d94288da0ff5b9a3869f5 diff --git a/update_angle.sh b/update_angle.sh new file mode 100755 index 00000000000..47eb7f48b36 --- /dev/null +++ b/update_angle.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +# The need for the custom steps has been found empirically, by multiple build attempts. +# The commands to run and their arguments have been obtained from the various Meson build scripts. +# Some can (or even must) be run locally at the Mesa repo, then resulting files are copied. +# Others, due to the sheer size of the generated files, are instead run at the Godot build system; +# this script will only copy the needed scripts and data files from Mesa. + +check_error() { + if [ $? -ne 0 ]; then echo "Error!" && exit 1; fi +} + +run_custom_steps_at_source() { + run_step() { + local P_SCRIPT_PLUS_ARGS=$1 + local P_REDIR_TARGET=$2 + + echo "Custom step: $P_SCRIPT_PLUS_ARGS" + + local OUTDIR=$GODOT_DIR/godot-angle/ + mkdir -p $OUTDIR + check_error + pushd ./angle > /dev/null + check_error + eval "local COMMAND=\"$P_SCRIPT_PLUS_ARGS\"" + if [ ! -z "$P_REDIR_TARGET" ]; then + eval "TARGET=\"$P_REDIR_TARGET\"" + python3 $COMMAND > $TARGET + else + python3 $COMMAND + fi + check_error + popd > /dev/null + check_error + } + + run_step 'src/commit_id.py gen $OUTDIR/angle_commit.h' + run_step 'src/program_serialize_data_version.py $OUTDIR/ANGLEShaderProgramVersion.h ../file_list' +} + +GODOT_DIR=$(pwd) + +if [ -d ./godot-angle ]; then + echo "Clearing godot-angle/" + find ./godot-angle -mindepth 1 -type d | xargs rm -rf +fi + +run_custom_steps_at_source + +if [ -d ./godot-patches ]; then + echo "Applying patches" + find ./godot-patches -name '*.diff' -exec git apply {} \; +fi