Add submodules update scipts and setup CI build.

This commit is contained in:
bruvzg
2024-07-17 09:29:27 +03:00
parent 6e8038ec3f
commit 3efc7b2e17
16 changed files with 1631 additions and 745 deletions

253
.github/workflows/ci.yaml vendored Normal file
View File

@@ -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

134
.gitignore vendored
View File

@@ -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 .sconsign.dblite
bin/ bin/
*.o godot-angle/
*.pyc

10
.gitmodules vendored Normal file
View File

@@ -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

32
LICENSE
View File

@@ -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.

21
LICENSE.md Normal file
View File

@@ -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.

1110
SConstruct

File diff suppressed because it is too large Load Diff

1
angle Submodule

Submodule angle added at 468fcbe033

537
file_list Normal file
View File

@@ -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

View File

@@ -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

View File

@@ -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() {}

View File

@@ -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 index a3233a2cd5..b4e684842c 100644
--- a/include/platform/PlatformMethods.h --- a/angle/include/platform/PlatformMethods.h
+++ b/include/platform/PlatformMethods.h +++ b/angle/include/platform/PlatformMethods.h
@@ -313,7 +313,7 @@ extern "C" { @@ -313,7 +313,7 @@ extern "C" {
// The application should set any platform methods it cares about on the returned pointer. // The application should set any platform methods it cares about on the returned pointer.
// If display is not valid, behaviour is undefined. // If display is not valid, behaviour is undefined.
@@ -20,41 +20,10 @@ index a3233a2cd5..b4e684842c 100644
} // extern "C" } // extern "C"
namespace angle namespace angle
diff --git a/src/libANGLE/SharedContextMutex.cpp b/src/libANGLE/SharedContextMutex.cpp diff --git a/angle/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.cpp b/angle/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.cpp
index 352a6781b2..714d01c51a 100644
--- a/src/libANGLE/SharedContextMutex.cpp
+++ b/src/libANGLE/SharedContextMutex.cpp
@@ -125,7 +125,7 @@ void SharedContextMutex<Mutex>::unlock()
}
template <class Mutex>
-ANGLE_INLINE SharedContextMutex<Mutex> *SharedContextMutex<Mutex>::doTryLock()
+SharedContextMutex<Mutex> *SharedContextMutex<Mutex>::doTryLock()
{
angle::ThreadId currentThreadId;
ASSERT(!CheckThreadIdCurrent(mOwnerThreadId, &currentThreadId));
@@ -147,7 +147,7 @@ ANGLE_INLINE SharedContextMutex<Mutex> *SharedContextMutex<Mutex>::doTryLock()
}
template <class Mutex>
-ANGLE_INLINE SharedContextMutex<Mutex> *SharedContextMutex<Mutex>::doLock()
+SharedContextMutex<Mutex> *SharedContextMutex<Mutex>::doLock()
{
angle::ThreadId currentThreadId;
ASSERT(!CheckThreadIdCurrent(mOwnerThreadId, &currentThreadId));
@@ -166,7 +166,7 @@ ANGLE_INLINE SharedContextMutex<Mutex> *SharedContextMutex<Mutex>::doLock()
}
template <class Mutex>
-ANGLE_INLINE void SharedContextMutex<Mutex>::doUnlock()
+void SharedContextMutex<Mutex>::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
index 0e64f78d53..17ed63e66c 100644 index 0e64f78d53..17ed63e66c 100644
--- a/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.cpp --- a/angle/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.cpp
+++ b/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 @@ -38,14 +38,22 @@ bool CompositorNativeWindow11::getClientRect(LPRECT rect) const
mHostVisual.As(&visual); mHostVisual.As(&visual);
@@ -78,10 +47,10 @@ index 0e64f78d53..17ed63e66c 100644
if (FAILED(hr)) if (FAILED(hr))
{ {
return false; 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 index aec331a76c..be98814486 100644
--- a/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.h --- a/angle/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.h
+++ b/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.h +++ b/angle/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.h
@@ -12,6 +12,143 @@ @@ -12,6 +12,143 @@
#include "libANGLE/renderer/d3d/d3d11/NativeWindow11.h" #include "libANGLE/renderer/d3d/d3d11/NativeWindow11.h"
@@ -235,6 +204,7 @@ index 64e0428..1332971 100644
#if defined(_MSC_VER) #if defined(_MSC_VER)
#include <intrin.h> #include <intrin.h>
-#elif defined(ADLER32_SIMD_SSSE3) -#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 <cpuid.h> #include <cpuid.h>
#endif #endif

107
godot-tools/ios.py Normal file
View File

@@ -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"])

View File

@@ -17,6 +17,7 @@ def options(opts):
opts.Add(BoolVariable("use_llvm", "Use the LLVM compiler", False)) opts.Add(BoolVariable("use_llvm", "Use the LLVM compiler", False))
opts.Add("mingw_prefix", "MinGW prefix", mingw) opts.Add("mingw_prefix", "MinGW prefix", mingw)
def exists(env): def exists(env):
return True return True
@@ -26,12 +27,22 @@ def generate(env):
if not env["use_mingw"] and msvc.exists(env): if not env["use_mingw"] and msvc.exists(env):
if env["arch"] == "x86_64": if env["arch"] == "x86_64":
env["TARGET_ARCH"] = "amd64" 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": elif env["arch"] == "x86_32":
env["TARGET_ARCH"] = "x86" 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 env["is_msvc"] = True
# MSVC, linker, and archiver. # MSVC, linker, and archiver.
msvc.generate(env) msvc.generate(env)
env.Tool("msvc")
env.Tool("mslib") env.Tool("mslib")
env.Tool("mslink") env.Tool("mslink")
@@ -88,7 +99,7 @@ def generate(env):
else: else:
env["CXX"] = prefix + "-w64-mingw32-g++" env["CXX"] = prefix + "-w64-mingw32-g++"
env["CC"] = prefix + "-w64-mingw32-gcc" 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["RANLIB"] = prefix + "-w64-mingw32-ranlib"
env["LINK"] = prefix + "-w64-mingw32-g++" env["LINK"] = prefix + "-w64-mingw32-g++"

1
third_party/astc-encoder/src vendored Submodule

1
third_party/zlib vendored Submodule

Submodule third_party/zlib added at c2469fdd73

53
update_angle.sh Executable file
View File

@@ -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