diff --git a/.gitignore b/.gitignore
index ba19389dc..afeca1d58 100644
--- a/.gitignore
+++ b/.gitignore
@@ -63,6 +63,7 @@
 /third_party/qemu-linux-x64
 /third_party/qemu-mac-x64
 /third_party/r8/lib
+third_party/r8/*.jar
 /third_party/rapidjson/src
 /third_party/requests/src
 /third_party/six
diff --git a/ChangeLog-2022-02-22 b/ChangeLog-2022-02-22
new file mode 100644
index 000000000..ca67026bc
--- /dev/null
+++ b/ChangeLog-2022-02-22
@@ -0,0 +1,19278 @@
+2022-02-18  Robert Jenner  <Jenner@apple.com>
+
+        Unreviewed, reverting r290149.
+
+        Broke Debug Builds.
+
+        Reverted changeset:
+
+        "Generate compile_commands.json on macOS Builds"
+        https://bugs.webkit.org/show_bug.cgi?id=235686
+        https://commits.webkit.org/r290149
+
+2022-02-18  Brandon Stewart  <brandonstewart@apple.com>
+
+        Generate compile_commands.json on macOS Builds
+        https://bugs.webkit.org/show_bug.cgi?id=235686
+
+        Reviewed by Saam Barati.
+
+        Add support for generating compile_commands.json file to WebKit.
+        
+        compile_commands.json can be used by tools like clangd to provide code complete,
+        refactoring, formatting, and cross references.
+
+        Steps to generate the compile commands file:
+        make r EXPORT_COMPILE_COMMANDS=YES
+        generate-compile-commands WebKitBuild/Release
+
+        * Configurations/DebugRelease.xcconfig:
+
+2022-02-18  Saam Barati  <sbarati@apple.com>
+
+        Remove ANGLE-static.xcconfig
+        https://bugs.webkit.org/show_bug.cgi?id=236827
+
+        Reviewed by Dean Jackson.
+
+        It was unused.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * Configurations/ANGLE-static.xcconfig: Removed.
+        * Configurations/Base.xcconfig:
+
+2022-02-18  Adrian Perez de Castro  <aperez@igalia.com>
+
+        [CMake] Cannot find OpenGL when system provides opengl.pc instead of gl.pc
+        https://bugs.webkit.org/show_bug.cgi?id=236592
+
+        Reviewed by Michael Catanzaro.
+
+        * PlatformGTK.cmake: Use the OpenGL::OpenGL imported target instead of the
+        OPENGL_LIBRARIES variable.
+        * PlatformWPE.cmake: Remove linking againt OpenGL libraries; the WPE port is not
+        supposed to link to any of them directly.
+
+2022-02-18  Zan Dobersek  <zdobersek@igalia.com>
+
+        [GTK][WPE] Don't use ANGLE's GBM-based display
+        https://bugs.webkit.org/show_bug.cgi?id=236772
+
+        Reviewed by Alejandro G. Castro.
+
+        With DisplayGbm functionality not necessary anymore, we can stop
+        building the associated code and linking against libgbm and libdrm at
+        the ANGLE level. These two libraries are still dependencies that have
+        since become necessary in WebCore.
+
+        * CMakeLists.txt:
+        * PlatformGTK.cmake:
+        * PlatformWPE.cmake:
+
+2022-02-18  Saam Barati  <sbarati@apple.com>
+
+        Add LC_SOURCE_VERSION to compile targets
+        https://bugs.webkit.org/show_bug.cgi?id=236720
+        <rdar://84984140>
+
+        Reviewed by Michael Saboff.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/Version.xcconfig:
+
+2022-02-17  Kyle Piddington  <kpiddington@apple.com>
+
+        Metal ANGLE: vertex array does not correctly observe contents of data buffers
+        https://bugs.webkit.org/show_bug.cgi?id=236733
+        <rdar://problem/88713302>
+        <rdar://problem/88499073>
+
+        Reviewed by Dean Jackson.
+
+        Similar to previous bug (236427), we were not correctly observing changes to the
+        vertex buffer data. This caused us to miss rebinding vertex buffers
+        when data was updated without causing conversion
+
+        * src/libANGLE/renderer/metal/VertexArrayMtl.h:
+        * src/libANGLE/renderer/metal/VertexArrayMtl.mm:
+        (rx::VertexArrayMtl::syncState):
+        (rx::VertexArrayMtl::setupDraw):
+        (rx::VertexArrayMtl::syncDirtyAttrib):
+
+2022-02-17  Adrian Perez de Castro  <aperez@igalia.com>
+
+        [GTK] Build broken with ENABLE_X11_TARGET=OFF and no X11 headers present
+        https://bugs.webkit.org/show_bug.cgi?id=236770
+
+        Reviewed by Alejandro G. Castro.
+
+        * PlatformGTK.cmake: The USE_SYSTEM_EGL definition detaches the type definitions
+        from the EGL headers generic and prevents ANGLE's headers from including system X11
+        or Wayland headers from the system, so apply it always independently of whether the
+        USE_ANGLE_{EGL,WEBGL} options are enabled. While at it, fix a missing dollar sign in
+        the expansion of the ${GBM_INCLUDE_DIR} variable.
+
+2022-02-17  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        REGRESSION (iOS 15.4b3): Catastrophic (20x) performance regression in texImage2D from mp4 video
+        https://bugs.webkit.org/show_bug.cgi?id=236699
+
+        Reviewed by Darin Adler.
+
+        Disable the validation for IOSurface pixel formats.
+        We might pass non-public formats that do not have sensible IOSurfaceGetBytesPerElementOfPlane
+        to verify with this logic.
+
+        Will add test in bug 236759.
+
+        Previous bugs of the same:
+        EAGL:
+        Textures Fail to Render in WebGL from HLS Stream on iPhone 12 [iOS 14.2]
+        bug 218637, r273582, 234632@main
+        CGL:
+        REGRESSION(Safari 15, BigSur): Poor video texture upload performance with MacBook M1, ANGLE OpenGL backend
+        bug 232235, r286960, 245183@main
+
+        * src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm:
+        (rx::IOSurfaceSurfaceMtl::ValidateAttributes):
+
+2022-02-17  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, reverting r289949.
+        https://bugs.webkit.org/show_bug.cgi?id=236757
+
+        Breaks WPE builds with -DUSE_ANGLE_WEBGL=ON
+
+        Reverted changeset:
+
+        "[CMake] Cannot find OpenGL when system provides opengl.pc
+        instead of gl.pc"
+        https://bugs.webkit.org/show_bug.cgi?id=236592
+        https://commits.webkit.org/r289949
+
+2022-02-16  Adrian Perez de Castro  <aperez@igalia.com>
+
+        [CMake] Cannot find OpenGL when system provides opengl.pc instead of gl.pc
+        https://bugs.webkit.org/show_bug.cgi?id=236592
+
+        Reviewed by Don Olmstead.
+
+        * PlatformGTK.cmake: Use the OpenGL::OpenGL imported target instead of the
+        OPENGL_LIBRARIES variable.
+        * PlatformWPE.cmake: Ditto, plus replace a spurious use of OPENGLES_LIBRARIES
+        with the OpenGL::GLES target.
+
+2022-02-11  Kyle Piddington  <kpiddington@apple.com>
+
+        Cocoa2d-HTLM5 game apepars to use wrong vertex buffer data
+        https://bugs.webkit.org/show_bug.cgi?id=236427
+        <rdar://problem/87136345>
+
+        Reviewed by Kimmo Kinnunen.
+
+        Render encoder appears to carry stale state when a vertex array's element
+        buffer is updated, but no other parts of the buffer are updated. Reassign
+        vertex buffer bindings in this case, which clears up corruption
+        (Squished rendering elements, incorrect UV's)
+
+        * src/libANGLE/renderer/metal/VertexArrayMtl.h:
+        * src/libANGLE/renderer/metal/VertexArrayMtl.mm:
+        (rx::VertexArrayMtl::syncState):
+        (rx::VertexArrayMtl::setupDraw):
+
+2022-02-03  Michael Saboff  <msaboff@apple.com>
+
+        WebKit projects have incorrect install name for the frameworks for Catalyst builds with the system content path
+        https://bugs.webkit.org/show_bug.cgi?id=236105
+
+        Reviewed by Saam Barati.
+
+        Updated DYLIB_INSTALL_NAME_BASE for Catalyst builds to not use the system content path prefix.
+
+        * Configurations/ANGLE-dynamic.xcconfig:
+
+2022-01-18  Alex Christensen  <achristensen@webkit.org>
+
+        Use c++2a instead of gnu++2a for Cocoa builds
+        https://bugs.webkit.org/show_bug.cgi?id=234936
+
+        Reviewed by Sam Weinig.
+
+        * Configurations/Base.xcconfig:
+
+2022-01-17  David Kilzer  <ddkilzer@apple.com>
+
+        REGRESSION (r249823): gl::Context::onProgramLink() leaks gl::Framebuffer object due early return when an error occurs in ANGLE_TRY() macro
+        <https://webkit.org/b/235284>
+        <rdar://problem/87656747>
+
+        Reviewed by Darin Adler.
+
+        * src/libANGLE/Context.cpp:
+        (gl::Context::setDefaultFramebuffer):
+        - Use std::unique_ptr<> to store gl::Framebuffer so the object
+          is released on early return.
+        * src/libANGLE/Surface.cpp:
+        (egl::Surface::createDefaultFramebuffer):
+        - Update to return std::unique_ptr<gl::Framebuffer>.
+        * src/libANGLE/Surface.h:
+        (egl::Surface::createDefaultFramebuffer):
+        - Update declaration to return std::unique_ptr<gl::Framebuffer>.
+        (egl::Surface::createDefaultFramebuffer): Delete.
+        - Remove the second, protected method that is currently
+          unimplemented.
+
+2022-01-17  David Kilzer  <ddkilzer@apple.com>
+
+        REGRESSION (r286603): rx::ProgramMtl::getSpecializedShader() leaks MTLFunctionConstantValues object due early return when an error occurs in ANGLE_TRY() macro
+        <https://webkit.org/b/235281>
+        <rdar://problem/87656387>
+
+        Reviewed by Darin Adler.
+
+        * src/libANGLE/renderer/metal/ProgramMtl.mm:
+        (rx::ProgramMtl::getSpecializedShader):
+        - Use mtl::AutoObjCObj<> to release MTLFunctionConstantValues
+          object on early return.
+
+2022-01-17  David Kilzer  <ddkilzer@apple.com>
+
+        Follow-up: REGRESSION (r286603): Leak of three NSMutableDictionary objects each time rx::DisplayMtl::getMetalDeviceMatchingAttribute() is called
+        <https://webkit.org/b/235278>
+        <rdar://problem/87653812>
+
+        Unreviewed follow-up fix from Bug 235281, Comment #5.
+
+        * src/libANGLE/renderer/metal/DisplayMtl.mm:
+        (rx::DisplayMtl::getMetalDeviceMatchingAttribute):
+        - Remove unneeded calls to .get().
+
+2022-01-16  David Kilzer  <ddkilzer@apple.com>
+
+        REGRESSION (r286603): Leak of three NSMutableDictionary objects each time rx::DisplayMtl::getMetalDeviceMatchingAttribute() is called
+        <https://webkit.org/b/235278>
+        <rdar://problem/87653812>
+
+        Reviewed by Darin Adler.
+
+        * src/libANGLE/renderer/metal/DisplayMtl.mm:
+        (rx::DisplayMtl::getMetalDeviceMatchingAttribute):
+        - Make use of mtl::adoptObjCObj<> so these objects are relaseed
+          when the method returns.
+
+2022-01-14  Kyle Piddington  <kpiddington@apple.com>
+
+        ANGLE: Supports32BitFloatFiltering is not supported on TVOS
+        https://bugs.webkit.org/show_bug.cgi?id=235239
+        
+        Reviewed by Darin Adler.
+
+        <rdar://86457081>
+        Broke an internal build. Caused by https://trac.webkit.org/changeset/286323/webkit
+
+        * src/libANGLE/renderer/metal/DisplayMtl.mm:
+        (rx::DisplayMtl::supports32BitFloatFiltering const):
+
+2022-01-12  Chris Lord  <clord@igalia.com>
+
+        [WPE] Enable WebGL ANGLE support
+        https://bugs.webkit.org/show_bug.cgi?id=235064
+
+        Reviewed by Alejandro G. Castro.
+
+        Enable building on WPE (mostly copying the GTK build file).
+
+        * PlatformWPE.cmake:
+
+2022-01-11  Kyle Piddington  <kpiddington@apple.com>
+
+        ANGLE: ASTC-HDR is not available on TVOS
+        https://bugs.webkit.org/show_bug.cgi?id=235076
+
+        Reviewed by Dean Jackson.
+
+        <rdar://87384038>
+        This is a follow on patch to https://bugs.webkit.org/show_bug.cgi?id=234164,
+        ASTC-HDR is only available on macOS and iOS, not tvOS or watchOS	
+	This patch fixes an internal build.
+
+        * scripts/code_generation_hashes/Metal_format_table.json:
+        * src/libANGLE/renderer/metal/gen_mtl_format_table.py:
+        (gen_image_map_switch_astc_case_tv_watchos):
+        (gen_image_map_switch_string):
+        (gen_image_mtl_to_angle_switch_string):
+        (gen_image_map_switch_astc_case_watchos): Deleted.
+        (gen_image_map_switch_astc_case_watchos.gen_format_assign_code): Deleted.
+        * src/libANGLE/renderer/metal/mtl_format_table_autogen.mm:
+        (rx::mtl::Format::MetalToAngleFormatID):
+        (rx::mtl::Format::init):
+
+2022-01-10  Alex Christensen  <achristensen@webkit.org>
+
+        Start using C++20
+        https://bugs.webkit.org/show_bug.cgi?id=233963
+
+        Reviewed by Yusuke Suzuki.
+
+        * Configurations/Base.xcconfig:
+
+2022-01-09  Sam Weinig  <weinig@apple.com>
+
+        Remove support for Direct2D
+        https://bugs.webkit.org/show_bug.cgi?id=234999
+
+        Reviewed by Darin Adler.
+
+        Direct2D and FTW have not been building for over a year. It is
+        time to remove them.
+
+        * PlatformFTW.cmake: Removed.
+
+2022-01-07  Alex Christensen  <achristensen@webkit.org>
+
+        Unreviewed, reverting r287698.
+
+        Broke an internal build
+
+        Reverted changeset:
+
+        "Start using C++20"
+        https://bugs.webkit.org/show_bug.cgi?id=233963
+        https://commits.webkit.org/r287698
+
+2022-01-06  Alex Christensen  <achristensen@webkit.org>
+
+        Start using C++20
+        https://bugs.webkit.org/show_bug.cgi?id=233963
+
+        Reviewed by Yusuke Suzuki.
+
+        * Configurations/Base.xcconfig:
+
+2022-01-05  Kyle Piddington  <kpiddington@apple.com>
+
+        Roll ANGLE to aabfe8747d 12-17-2021
+        https://bugs.webkit.org/show_bug.cgi?id=234523
+
+        Reviewed by Kenneth Russell.
+
+        The changelog has been removed to improve readability.
+        The following ANGLE commits were merged: 
+
+        aabfe8747 Metal: Use the context device to Texture::resize
+        34ea81111 Reland "Vulkan: Don't expose MSRTT on SwiftShader"
+        624e3c3d5 Fix dangerous use of AutoObjCPtr after ownership identity change
+        4a148e9d9 Revert "Vulkan: Suppress VUID-vkCmdDraw-blendEnable"
+        ede0b8b71 Avoid ANGLE_MTL_AUTORELEASE inside ASSERT, it leaks on Release
+        cb4f441c8 Roll vulkan-deps from 39f3a18bdfbe to 5568048d205e (8 revisions)
+        2f78b48db Roll Chromium from 14ca75d254a5 to 81decb7250e1 (191 revisions)
+        001221f0e Metal: upstream fix from WebKit for texture leak.
+        dca434bdc Roll Chromium from 3f6c88f5581a to 14ca75d254a5 (401 revisions)
+        b9f2d9cc1 Use text expectations to skip a test
+        6c894e829 Vulkan: Replace BufferVk::getBufferAndOffset() with getBuffer()
+        f2736f6dc Tests: Add My Talking Tom Friends trace.
+        a93a3930b Vulkan: Track enabled in VertexArray
+        83a670ab0 Vulkan: Implement BufferPool using VMA's virtual allocator
+        836797166 Vulkan: Dirty vertex buffers if default attrib values changed
+        543f5750f (origin/chromium/4771) Vulkan: Disable protected memory for ARM
+        c7446ac42 Add support for GL_MESA_framebuffer_flip_y 1/*
+        60383b41e Tests: Add Dota Underlords trace.
+        f26687a03 Tests: Add My Talking Tom 2 trace.
+        438de17ee Roll vulkan-deps from a8221eed5970 to 39f3a18bdfbe (5 revisions)
+        e7413adff system_utils_posix: Check for SEGV_MAPERR si_code.
+        6e5fd8165 Support more ImageLayout in ConvertImageLayoutToGLImageLayout
+        b26bb13ab Metal: Remove references to xfbActiveUnpaused uniform
+        bb5bab031 Roll Chromium from 2dae07eeb163 to 3f6c88f5581a (414 revisions)
+        c4d434b91 Metal: Enable OES_fbo_render_mipmap
+        670679918 Metal: Fix Webkit warnings in ANGLE build
+        bda493258 Add guards for 64 bit types on 32bit systems
+        e7c9dbb88 Skip SimpleStateChangeTestES3.OutOfBoundsByteAttribute on Pixel4 GLES
+        89e11878b Vulkan: Fix the UAF issue with BufferData
+        ee1d3cf74 Metal: Integrate Metal Binary Shader generation
+        3e7e2758f Metal: Fix macOS ANGLE build on Catalina (10.15) SDK
+        05a44dd24 Vulkan: Set content undefined on eglSwapBuffers
+        26fa0fe68 Tests: Add Asphalt 9 trace
+        5275f487e Vulkan: Disable async command queue with Vulkan SCBs
+        feb599ad8 Invalidate EGL handles during eglTerminate
+        32e23bb9d Expand WebGLCompressedTextureAvailabilityTest
+        d6b9a2597 end2end_tests: Add SwS + AsyncQueue testing.
+        a0eb6146c Update warning message for invalid include
+        cac81f077 Return full error info when opening a library with dlopen
+        90c3038e5 Vulkan: Fix desc set updates with Vulkan SCBs
+        8419f4fcd Roll vulkan-deps from c03890076954 to a8221eed5970 (2 revisions)
+        db367bd71 Roll Chromium from 0c0a3654694f to 2dae07eeb163 (450 revisions)
+        bfc7f09ae Revert "Upgrade restricted traces to new trace format."
+        800c6971c Modified buffer fallback format to smaller storage format
+        709d87278 Revert "Trace Tests: Remove auto-generated code."
+        3da54250b Skip MultithreadingTest.MultiContextDrawWithSwapBuffers
+        7f1a0f89b Switch to non-deprecated bbagent, remove defunct experiments.
+        9d49d8438 Add WebGLCompressedTextureAvailabilityTest
+	
+2022-01-05  Michael Saboff  <msaboff@apple.com>
+
+        REGRESSION (r287382): libANGLE is built into a wrong location on iOS
+        https://bugs.webkit.org/show_bug.cgi?id=234857
+
+        Reviewed by Saam Barati.
+
+        Reverted to the prior logic to compute INSTALL_PATH.  Then added an optional prefix
+        for the alternate root framework location.
+
+        * Configurations/ANGLE-dynamic.xcconfig:
+
+2021-12-22  Michael Saboff  <msaboff@apple.com>
+
+        Fix WebKit Build issues when using system content path
+        https://bugs.webkit.org/show_bug.cgi?id=234624
+
+        Reviewed by Filip Pizlo.
+
+        Changed INSTALL_PATH on macOS builds to use a fully qualified .../WebCore.framework/Versions/A/Frameworks.
+        Deleted unused create-symlink-to-altroot.sh script.
+
+        * Configurations/ANGLE-dynamic.xcconfig:
+        * scripts/create-symlink-to-altroot.sh: Removed.
+
+2021-12-21  Michael Saboff  <msaboff@apple.com>
+
+        Fix symlinks for alternate root framework locations
+        https://bugs.webkit.org/show_bug.cgi?id=234567
+
+        Reviewed by Filip Pizlo.
+
+        Eliminated the creation of symlinks for ANGLE as it is under WebCore.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * Configurations/ANGLE-dynamic.xcconfig:
+
+2021-12-21  Arcady Goldmints-Orlov  <agoldmints@igalia.com>
+
+        [GTK] build fails with undefined symbol in ANGLE if USE_ANGLE_WEBGL is enabled.
+        https://bugs.webkit.org/show_bug.cgi?id=234239
+
+        Reviewed by Kenneth Russell.
+
+        Add a new linux.cmake file that defines angle_dma_buf_sources.
+        This list gets appended it into ANGLE_SOURCES in PlatformGTK.cmake.
+
+        * linux.cmake: Added. Manual translation of src/common/linux/BUILD.gn.
+        * PlatformGTK.cmake:
+
+2021-12-17  Fujii Hironori  <Hironori.Fujii@sony.com>
+
+        [ANGLE] "WARN: driver_utils.cpp:169 (rx::GetVendorString):! Unimplemented: rx::GetVendorString" on WinCairo debug testing bot
+        https://bugs.webkit.org/show_bug.cgi?id=234371
+
+        Reviewed by Kenneth Russell.
+
+        After r286603 updated ANGLE, WinCairo debug testing bot was
+        observing annoying warning message for all WebGL tessts.
+        > WARN: driver_utils.cpp:169 (rx::GetVendorString): 	! Unimplemented: rx::GetVendorString(..\..\Source\ThirdParty\ANGLE\src\libANGLE\renderer\driver_utils.cpp:169)
+
+        The vendor ID was 0x1414 (Microsoft).
+        <https://pcisig.com/membership/member-companies>
+
+        * src/libANGLE/renderer/driver_utils.cpp:
+        (rx::GetVendorString): Added more vendor strings for vendor IDs.
+        * src/libANGLE/renderer/driver_utils.h: Added VENDOR_ID_MICROSOFT.
+
+2021-12-17  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        REGRESSION (r287068): [macOS arm64] TestWebKitAPI.GraphicsContextGLCocoaTest.UnrecycledDisplayBuffersNoLeaks is failing
+        https://bugs.webkit.org/show_bug.cgi?id=234356
+        <rdar://problem/86533892>
+
+        Reviewed by Antti Koivisto.
+
+        Avoid leaking MTLTexture instances for render targets. Leak would happen through
+        temporary render pass descriptor that would ref the render target texture.
+        The descriptor was created without autoreleasepool in call stack.
+        Also fixes the error string leaks.
+
+        UnrecycledDisplayBuffersNoLeaks would report leaks of iosurface-backed
+        GraphicsContextGL default framebuffer bound textures if glClear was called.
+
+        * src/libANGLE/renderer/metal/ContextMtl.mm:
+        (rx::ContextMtl::getRenderPassCommandEncoder):
+
+2021-12-16  John Cunningham  <johncunningham@apple.com>
+
+        Add support to attribute ownership of ANGLE Metal's resources
+        https://bugs.webkit.org/show_bug.cgi?id=233941
+
+        Reviewed by Kimmo Kinnunen.
+
+        Add SPI to mtl_resource_spi.h to attribute memory to another task.
+
+        * Configurations/ANGLE-dynamic.xcconfig:
+        * Configurations/ANGLE-static.xcconfig:
+        * src/libANGLE/renderer/metal/mtl_resource_spi.h:
+        (rx::mtl::setOwnerWithIdentity):
+
+2021-12-16  Michael Saboff  <msaboff@apple.com>
+
+        https://bugs.webkit.org/show_bug.cgi?id=234173
+        Update Install Paths for build system changes
+
+        Reviewed by Filip Pizlo.
+
+        Added build variables and build step to create symlinks pointing to the alternate
+        build locations from the current framework install location.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * Configurations/ANGLE-dynamic.xcconfig:
+        * scripts/create-symlink-to-altroot.sh: Added.
+
+2021-12-15  Dean Jackson  <dino@apple.com>
+
+        [ANGLE] clang with -Wunknown-warning-option will fail on -Wweak-template-vtables
+        https://bugs.webkit.org/show_bug.cgi?id=233837
+        <rdar://problem/86335819>
+
+        Reviewed by Antoine Quint.
+
+        Turn off unknown-warning-option on Apple builds. This shouldn't need to be
+        upstreamed - the Xcode configurations for ANGLE are specific to WebKit.
+
+        * Configurations/Base.xcconfig:
+
+2021-12-15  Chris Lord  <clord@igalia.com>
+
+        [GTK] Use libgbm and the ANGLE gbm backend to fix initialisation
+        https://bugs.webkit.org/show_bug.cgi?id=234293
+
+        Reviewed by Don Olmstead.
+
+        Use GBM backend for GTK platform.
+
+        * CMakeLists.txt:
+        * GL.cmake:
+        * PlatformGTK.cmake:
+
+2021-12-15  Kyle Piddington  <kpiddington@apple.com>
+
+        [ANGLE] Roll ANGLE to 12-14-2021 (5ee7dfbd5a3)
+        https://bugs.webkit.org/show_bug.cgi?id=234317
+
+        Reviewed by Kenneth Russell.
+
+        Roll ANGLE to 12-14-2021 to include new memory-attribution
+        Metal device, merge up fixes, EAC/ ASTC support on M1
+
+        The changelog has been removed to promote readability       
+
+2021-12-13  Alejandro G. Castro  <alex@igalia.com>
+
+        [GTK] Fix ANGLE compilation
+        https://bugs.webkit.org/show_bug.cgi?id=233327
+
+        Reviewed by Kenneth Russell.
+
+        There is a define with a typo in the name and activating EGL and
+        X11 does not work at the same time.
+
+        * PlatformGTK.cmake:
+
+2021-12-13  Kyle Piddington  <kpiddington@apple.com>
+
+        [MacCatalyst] fix iOSMac after refactor in r286899
+        https://bugs.webkit.org/show_bug.cgi?id=234250
+
+        Reviewed by Dean Jackson.
+
+        Also includes a longer term fix for 
+        https://bugs.webkit.org/show_bug.cgi?id=233977
+
+        Tested builds on mac, iOS, TV SDKs, plus iOSMac
+
+        * src/common/platform.h:
+        * src/libANGLE/renderer/metal/gen_mtl_format_table.py:
+        (gen_image_map_switch_string):
+        * src/libANGLE/renderer/metal/mtl_format_table_autogen.mm:
+        (rx::mtl::Format::init):
+
+2021-12-13  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        REGRESSION(Safari 15, BigSur): Poor video texture upload performance with MacBook M1, ANGLE OpenGL backend 
+        https://bugs.webkit.org/show_bug.cgi?id=232235
+        <rdar://problem/84878815>
+        Reviewed by Dean Jackson.
+
+        Remove validation for IOSurface element size when a IOSurface is bound
+        to a pbuffer. The IOSurfaceGetBytesPerElementOfPlane is not valid for some internal formats
+        that might be compressed.
+
+        Will add a WebKit level test in subsequent fix.
+        Will add an ANGLE level test during upstreaming of the patch.
+
+        Same as "Textures Fail to Render in WebGL from HLS Stream on iPhone 12 [iOS 14.2]"
+        but this time for CGL.
+        https://webkit.org/b/218637  rdar://problem/71102126
+
+        Remove incorrect validation that IOSurface pixel format matches
+        the pixel format of the texture image being specified.
+
+        The "Element" in IOSurface is a block of pixels, while the validation assumed
+        it means one pixel. The validation failed for a compressed format.
+
+        Currently we map non-public YUV formats, to which there is no elequent way
+        of implementing the validation.
+
+
+        * src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp:
+        (rx::IOSurfaceSurfaceCGL::validateAttributes):
+
+2021-12-10  Kyle Piddington  <kpiddington@apple.com>
+
+        [ANGLE] ASTC-HDR is unavailable on some platforms
+        https://bugs.webkit.org/show_bug.cgi?id=234164
+
+        Reviewed by Kenneth Russell.
+
+        Update autogenerated format table to avoid using ASTC_HDR on
+        platforms that don't have the enum. 
+
+        * src/libANGLE/renderer/metal/gen_mtl_format_table.py:
+        (gen_image_map_switch_astc_case_iosmac):
+        (gen_image_map_switch_astc_case_tvos):
+        (gen_image_map_switch_astc_case_tvos.gen_format_assign_code):
+        (gen_image_map_switch_string):
+        (gen_image_mtl_to_angle_switch_string):
+        (gen_mtl_format_caps_init_string):
+        (gen_image_map_switch_astc_case): Deleted.
+        (gen_image_map_switch_astc_case.gen_format_assign_code): Deleted.
+        * src/libANGLE/renderer/metal/mtl_format_map.json:
+        * src/libANGLE/renderer/metal/mtl_format_table_autogen.mm:
+        (rx::mtl::Format::MetalToAngleFormatID):
+        (rx::mtl::Format::init):
+        (rx::mtl::FormatTable::initNativeFormatCapsAutogen):
+
+2021-12-10  Michael Saboff  <msaboff@apple.com>
+
+        https://bugs.webkit.org/show_bug.cgi?id=234173
+        Update Install Paths for build system changes
+
+        Reviewed by Yusuke Suzuki.
+
+        Updated install paths for changes in the build system that use a system path prefix.
+
+        * Configurations/ANGLE-dynamic.xcconfig:
+
+2021-12-09  Dean Jackson  <dino@apple.com>
+
+        [ANGLE] Code generation happens on each build and produces SCM diffs
+        https://bugs.webkit.org/show_bug.cgi?id=234025
+
+        Reviewed by Kimmo Kinnunen.
+
+        Temporarily remove the build phase that generates the
+        mtl_default_shaders_src_autogen files because they are producing
+        diffs.
+
+        We either need to generate these manually, or fix the Xcode project
+        to generate them into Derived Sources so they don't appear in our
+        repository.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+
+2021-12-08  Kyle Piddington  <kpiddington@apple.com>
+
+        Update ANGLE changes.diff with new roll.
+        https://bugs.webkit.org/show_bug.cgi?id=233952
+
+        Reviewed by Kenneth Russell.
+
+        * changes.diff:
+
+2021-12-08  Adrian Perez de Castro  <aperez@igalia.com>
+
+        Avoid noisy Wcomment warnings after ANGLE update in r286603
+        https://bugs.webkit.org/show_bug.cgi?id=233964
+        <rdar://problem/86186455>
+
+        Reviewed by Michael Catanzaro.
+
+        * CMakeLists.txt: Pass also -Wno-comment when building with GCC or Clang; arrange to
+        set compiler flags for any of the ANGLE library targets instead of only for libANGLE.
+        * src/compiler/translator/tree_util/IntermTraverse.h: Revert change from 233964 to
+        avoid having differences with the upstream version of the file.
+
+2021-12-07  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        [MacCatalyst] Fix build after r286603
+        https://bugs.webkit.org/show_bug.cgi?id=233977
+
+        Unreviewed.
+
+        Previously, TARGET_OS_IOS and TARGET_OS_MACCATALYST were never on at the same time.
+        Now, they're on at the same time, and ANGLE doesn't expect that. This patch turns
+        off TARGET_OS_IOS when TARGET_OS_MACCATALYST is on, just to get ANGLE to build.
+        The long-term fix is to either update all the sites to use correct macros, or to
+        use the ANGLE_PLATFORM_* defines instead.
+
+        * src/common/platform.h:
+
+2021-12-07  Yusuke Suzuki  <ysuzuki@apple.com>
+
+        Unreviewed, these files are modified after building ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=220896
+        <rdar://problem/73539682>
+
+        * src/libANGLE/renderer/metal/shaders/mtl_default_shaders_src_autogen.inc:
+        * src/libANGLE/renderer/metal/shaders/mtl_default_shaders_src_autogen.metal:
+
+2021-12-07  Lauro Moura  <lmoura@igalia.com>
+
+        Avoid noisy Wcomment warnings after ANGLE update in r286603
+        https://bugs.webkit.org/show_bug.cgi?id=233964
+
+        Unreviewed warning removal.
+
+        * src/compiler/translator/tree_util/IntermTraverse.h:
+
+2021-12-07  Kyle Piddington  <kpiddington@apple.com>
+        
+        Roll ANGLE to include upstreamed Metal backend
+        https://bugs.webkit.org/show_bug.cgi?id=220896
+        <rdar://problem/73539682>
+
+        Reviewed by Ken Russell and Dean Jackson.
+
+        Update ANGLE to ce854632690e505551414f80d01d864df6118882
+        
+        The changelog has been intentionally deleted to preserve
+        readability
+       
+        The following additional changes were made in the mergeup.
+
+        Update ShaderMtl get debug info to return translated source.
+        
+        Fix crashes in webgl/2.0.y/conformance/extensions/webgl-compressed-texture-s3tc-srgb.html
+        Fix angle-instanced-arrays-out-of-bounds.html
+        Skip additional validation when primitive count in drawArraysInstanced is zero
+
+
+        Fix Clear-Invalidate-Render bug for multisample attachments. 
+        Clearing a multisample texture, and then invalidating the render pass would lead
+        to the next pass not loading the cleared texture.
+
+        Fix exports and includes for egl_autogen.h files.
+
+        Fix webgl/2.0.0/deqp/functional/gles3/fboinvalidate/default.html 
+        Add synchronization when reading pixels back from shared framebuffers
+
+2021-11-30  Kyle Piddington  <kpiddington@apple.com>
+
+        Hardware PCF filtering does not work on iOS 15 when using WebGL2
+        https://bugs.webkit.org/show_bug.cgi?id=232071
+
+	Lower restrictions on sampling D32F formats, and allow filtering
+	of Depth16F on iOS hardware, as it was previously restricted.
+	
+        Reviewed by Kenneth Russell.
+
+        * include/platform/FeaturesMtl.h:
+        * src/libANGLE/renderer/metal/DisplayMtl.h:
+        * src/libANGLE/renderer/metal/DisplayMtl.mm:
+        (rx::DisplayMtl::initializeFeatures):
+        (rx::DisplayMtl::supports32BitFloatFiltering const):
+        (rx::DisplayMtl::supportsDepth24Stencil8PixelFormat const):
+        * src/libANGLE/renderer/metal/TextureMtl.mm:
+        (rx::TextureMtl::ensureSamplerStateCreated):
+        * src/libANGLE/renderer/metal/mtl_format_map.json:
+        * src/libANGLE/renderer/metal/mtl_format_table_autogen.mm:
+        (rx::mtl::FormatTable::initNativeFormatCapsAutogen):
+
+2021-11-17  Dean Jackson  <dino@apple.com>
+
+        ANGLE build failure - sprintf is deprecated
+        https://bugs.webkit.org/show_bug.cgi?id=233279
+
+        Reviewed by Wenson Hsieh.
+
+        Replace sprintf with snprintf.
+
+        * src/compiler/translator/TranslatorMetalDirect/IdGen.cpp:
+        (IdGen::createNewName):
+        * src/compiler/translator/TranslatorMetalDirect/ModifyStruct.cpp:
+        * src/compiler/translator/TranslatorMetalDirect/SymbolEnv.cpp:
+        (SymbolEnv::TemplateName::fullName const):
+
+2021-11-06  David Kilzer  <ddkilzer@apple.com>
+
+        Remove empty directories from from svn.webkit.org repository as of r285357
+        <https://webkit.org/b/232773>
+
+        Unreviewed clean up.
+
+        * src/id: Removed.
+        * src/libANGLE/renderer/metal/shaders/compiled: Removed.
+        * src/tests/perf_tests/restricted_traces: Removed.
+
+2021-11-03  Kyle Piddington  <kpiddington@apple.com>
+
+        REGRESSION (iOS 15): Tab crashes when trying to render Projector stories
+        https://bugs.webkit.org/show_bug.cgi?id=231607
+
+	Rework vertex buffer caching to allow us to reuse parts
+	of converted buffers. This dramatically drops the memory usage 
+	of this tab from 4.5 gb to roughly 1.3gb
+
+        Reviewed by Dean Jackson.
+
+        * src/libANGLE/renderer/metal/BufferMtl.mm:
+        (rx::BufferMtl::getVertexConversionBuffer):
+        * src/libANGLE/renderer/metal/VertexArrayMtl.mm:
+        (rx::VertexArrayMtl::convertVertexBuffer):
+        (rx::VertexArrayMtl::convertVertexBufferCPU):
+        (rx::VertexArrayMtl::convertVertexBufferGPU):
+
+2021-11-01  David Kilzer  <ddkilzer@apple.com>
+
+        [ANGLE] Enable -Wformat=2 warnings
+        <https://webkit.org/b/232358>
+        <rdar://problem/84568935>
+
+        Reviewed by Kimmo Kinnunen.
+
+        * Configurations/Base.xcconfig:
+        (WARNING_CFLAGS):
+        - Add -Wformat=2 switch, which includes -Wformat-nonliteral.
+        * src/common/angleutils.h:
+        (FormatStringIntoVector):
+        - Move below definition of ANGLE_FORMAT_PRINTF() and add macro
+          to the function declaration to fix -Wformat-nonliteral
+          warning.
+        * src/compiler/translator/Common.h:
+        (sh::str):
+        - Make `formatStr` a constexpr to fix -Wformat-nonliteral
+          warning.
+
+2021-10-27  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        REGRESSION (Safari 15): Poor WebGL performance on https://downloads.scirra.com/labs/particles
+        https://bugs.webkit.org/show_bug.cgi?id=230749
+        <rdar://problem/83576271>
+
+        Reviewed by Kenneth Russell.
+
+        The site would draw indexed per frame with each frame increasing the size of the draw.
+        This would cause index buffer range cache update for each draw.
+        Range computation needs to look inside the index buffer.
+        Mapping the index buffer for read would cause command buffer flush for each computation,
+        since previous frame would have used the index buffer for reading. This would cause
+        performance degradation for the duration where the range cache would need update.
+
+        Since the buffer is read by the draw but not written, the map should be a no-op.
+        Consult the "CPU memory needs synchronizing" flag of the mtl::Resource when
+        mapping. Only synchronize with GPU if the memory needs synchronizing.
+
+        * src/libANGLE/renderer/metal/mtl_resources.mm:
+        (rx::mtl::Buffer::mapWithOpt):
+
+2021-10-25  Kyle Piddington  <kpiddington@apple.com>
+
+        REGRESSION (iOS 15), safari604.1: Could not link the shader program
+        https://bugs.webkit.org/show_bug.cgi?id=231475
+
+        Renaming regex incorrectly substituted an attribute. 
+        Update to require exact attribute match
+
+        Reviewed by Dean Jackson
+
+        * src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.mm:
+        (rx::mtl::updateShaderAttributes):
+
+2021-10-15  Ross Kirsling  <ross.kirsling@sony.com>
+
+        Realize Mac CMake build of WebCore and WebKit
+        https://bugs.webkit.org/show_bug.cgi?id=231749
+
+        Reviewed by Alex Christensen.
+
+        * Compiler.cmake:
+
+2021-10-15  Kyle Piddington  <kpiddington@apple.com>
+
+        REGRESSION (r283667): webgl/2.0.0/deqp/functional/gles3/lifetime.html fails
+        https://bugs.webkit.org/show_bug.cgi?id=231682
+
+        Transform feedback should avoid appending _u for 
+        builtin output variables.
+
+        Reviewed by Kimmo Kinnunen.
+
+        * src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.mm:
+        (rx::mtl::GenerateTransformFeedbackVaryingOutput):
+
+2021-10-14  Kyle Piddington  <kpiddington@apple.com>
+
+        https://tankionline.com/play/ html5 engine not working: crashes. (Metal shader not working)
+        https://bugs.webkit.org/show_bug.cgi?id=231490
+
+        Add argument to RemoveInactiveInterfaceVariables to keep
+        output fragment variables, even if they are
+        Add a new test to  verify that this problem is fixed. 
+
+        Reviewed by Kenneth Russell.
+
+        * src/compiler/translator/TranslatorMetalDirect.cpp:
+        (sh::TranslatorMetalDirect::translateImpl):
+        * src/compiler/translator/TranslatorVulkan.cpp:
+        (sh::TranslatorVulkan::translateImpl):
+        * src/compiler/translator/tree_ops/RemoveInactiveInterfaceVariables.cpp:
+        (sh::RemoveInactiveInterfaceVariables):
+        * src/compiler/translator/tree_ops/RemoveInactiveInterfaceVariables.h:
+
+2021-10-14  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        All the SDKVariant.xcconfig files should match
+        https://bugs.webkit.org/show_bug.cgi?id=231663
+
+        Reviewed by Youenn Fablet.
+
+        * Configurations/SDKVariant.xcconfig:
+
+2021-10-13  Kyle Piddington  <kpiddington@apple.com>
+
+        Upstream ANGLE: PrimitiveRestart tests fail due to incorrect draw commands
+        https://bugs.webkit.org/show_bug.cgi?id=231626
+        <rdar:/problem/84167241>
+   
+        Primitive restart draw commands were being encoded
+        incorrectly. Single element ranges were being disregarded,
+        and a maximum draw size was not being enforced when the
+        index buffer was aliased / reused.
+
+        Cherry-pick from upstream anglebug.com/6535
+    
+        Reviewed by Kenneth Russell.
+
+        * src/libANGLE/renderer/metal/VertexArrayMtl.mm:
+        (rx::VertexArrayMtl::getDrawIndices):
+
+2021-10-12  Alexey Proskuryakov  <ap@apple.com>
+
+        Invoke ThirdParty build scripts with python3 explicitly
+        https://bugs.webkit.org/show_bug.cgi?id=231605
+
+        Reviewed by Dean Jackson.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * adjust-angle-include-paths.py:
+        * src/libANGLE/renderer/metal/shaders/create_mtl_internal_shaders.py:
+
+2021-10-06  Kyle Piddington  <kpiddington@apple.com>
+
+        Shadertoy "truchet district" fails to compile with error: Internal error compiling shader with Metal backend"
+        https://bugs.webkit.org/show_bug.cgi?id=229378
+        <rdar://problem/82299053>
+
+        Reviewed by Kenneth Russell.
+
+        Change TranslatorMetalDirect to prefix '_u' to all user defined variables.
+        Clean up builtins like samplers and ANGLE structs that were being
+        accidently promoted to userDefined variables.
+
+        * src/compiler/translator/TranslatorMetalDirect.cpp:
+        (sh::GetMslKeywords):
+        * src/compiler/translator/TranslatorMetalDirect/Name.cpp:
+        (Name::emit const):
+        * src/compiler/translator/TranslatorMetalDirect/SymbolEnv.cpp:
+        (SymbolEnv::getTextureEnv):
+        (SymbolEnv::getSamplerStruct):
+        (sh::GetTextureTypeName):
+        * src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.mm:
+        (rx::mtl::GenerateTransformFeedbackVaryingOutput):
+
+2021-09-28  Alex Christensen  <achristensen@webkit.org>
+
+        Mostly fix Mac CMake build
+        https://bugs.webkit.org/show_bug.cgi?id=230868
+
+        Reviewed by Don Olmstead.
+
+        * Compiler.cmake:
+        * Metal.cmake:
+
+2021-09-23  Kyle Piddington  <kpiddington@apple.com>
+
+        [WebGL2, Safari 15 - iOS15] Problems with drawElements in some conditions
+        https://bugs.webkit.org/show_bug.cgi?id=230107
+
+        Index buffer rewrite was dispatching too many threads. 
+        Reviewed by Dean Jackson.
+
+        * src/libANGLE/renderer/metal/ProvokingVertexHelper.mm:
+        (rx::ProvokingVertexHelper::preconditionIndexBuffer):
+
+2021-09-20  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        ANGLE Metal: single-component swizzles do not compile
+        https://bugs.webkit.org/show_bug.cgi?id=230472
+        <rdar://problem/83310780>
+
+        Reviewed by Dean Jackson.
+
+        Fix metal compiler compile errors when using 
+        single value swizles (glslvariable.r) in position where lvalues would
+        be needed. Use the variable instead of single element array 
+        (copy-paste typo).
+
+        * src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:
+
+2021-09-16  Kyle Piddington  <kpiddington@apple.com>
+
+        webgl/2.0.y/conformance/extensions/webgl-compressed-texture-s3tc-srgb.html fails on Intel+AMD Metal
+        https://bugs.webkit.org/show_bug.cgi?id=229941
+
+        Zero-initialize compressed textures explicitly, as they aren't implicitly initalized in Metal.
+        Reviewed by Kenneth Russell <kbr@chromium.org>.
+
+        * src/libANGLE/renderer/metal/mtl_utils.h:
+        * src/libANGLE/renderer/metal/mtl_utils.mm:
+        (rx::mtl::GetCompressedBufferForTextureWithFormat):
+        (rx::mtl::InitializeCompressedTextureContents):
+        (rx::mtl::InitializeTextureContents):
+
+2021-08-31  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        webgl/1.0.x/conformance/glsl/misc/fragcolor-fragdata-invariant.html fails
+        https://bugs.webkit.org/show_bug.cgi?id=223317
+        <rdar://problem/75772659>
+
+        Reviewed by Kenneth Russell.
+
+        The parser maintains invariance metadata for each input and output
+        with the help of the symbol table, during parsing.
+
+        Use this metadata through the collection phase done by CollectVariables
+        section of shader compilation.
+
+        Remove the manual tree rewrite section that collected the invariance
+        information. The implementation had following problems:
+        1) It would declare the variables present. This would fail the test case
+        fixed here, due to the test case using invariant declarations to both
+        FragColor and FragData, which would cause both to be present as outputs
+        to the MSL.
+        2) It would operate on rewritten variables. For example, FragCoord would
+        be replaced with different variable, causing the invariance be marked
+        based on the rewritten name but the later lookup intended to be done
+        with the original name.
+
+        Remove logic to mark FragCoord as invariant, as MSL specification explicitly
+        says that only the vertex [[position]] output can be marked as [[invariant]].
+        As noted above, this never worked.
+
+        Fix cases where the tree rewriters assume that all variable references are
+        done within functions. The global qualifier declarations are now left
+        in the tree and as such can refer to variables but do not belong to any
+        function.
+
+        Fixes:
+        webgl/1.0.x/conformance/glsl/misc/fragcolor-fragdata-invariant.html
+        webgl/2.0.y/conformance/glsl/misc/fragcolor-fragdata-invariant.html
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * src/compiler/translator/TranslatorMetalDirect.cpp:
+        (sh::TranslatorMetalDirect::translateImpl):
+        * src/compiler/translator/TranslatorMetalDirect/DiscoverDependentFunctions.cpp:
+        * src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
+        (GenMetalTraverser::GenMetalTraverser):
+        (GenMetalTraverser::emitPostQualifier):
+        (GenMetalTraverser::visitGlobalQualifierDeclaration):
+        (sh::EmitMetal):
+        * src/compiler/translator/TranslatorMetalDirect/EmitMetal.h:
+        * src/compiler/translator/TranslatorMetalDirect/RewriteGlobalQualifierDecls.cpp: Removed.
+        * src/compiler/translator/TranslatorMetalDirect/RewriteGlobalQualifierDecls.h: Removed.
+        * src/compiler/translator/TranslatorMetalDirect/RewritePipelines.cpp:
+        (sh::IsVariableInvariant):
+        (sh::GeneratePipelineStruct::Exec):
+        (sh::GeneratePipelineStruct::GeneratePipelineStruct):
+        (sh::GeneratePipelineStruct::createInternalPipelineStruct):
+        (sh::UpdatePipelineSymbols):
+        (sh::RewritePipeline):
+        (sh::RewritePipelines):
+        * src/compiler/translator/TranslatorMetalDirect/RewritePipelines.h:
+        * src/compiler/translator/TranslatorMetalDirect/SeparateCompoundExpressions.cpp:
+
+2021-08-25  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        ANGLE Metal index buffer restart range cache is could be maintained more consistently
+        https://bugs.webkit.org/show_bug.cgi?id=227451
+
+        Reviewed by Kenneth Russell.
+
+        * src/libANGLE/renderer/metal/BufferMtl.h:
+        (rx::BufferMtl::RestartRangeCache::RestartRangeCache):
+        Add optional<RestartRangeCache> which contains the ranges and
+        the index type used to build the ranges.
+
+        * src/libANGLE/renderer/metal/BufferMtl.mm:
+        (rx::BufferMtl::markConversionBuffersDirty):
+        (rx::BufferMtl::clearConversionBuffers):
+        Invalidate the range cache when clearing conversion buffers.
+        Otherwise the cache would be left in inconsistent state vs.
+        the contents of the index buffer in cases of code like:
+        BufferMtl::setDataImpl() ...
+           if (...) {
+               markConversionBufferDirty();
+           } else {
+               clearConversionBuffers();
+           }
+        (rx::BufferMtl::getRestartIndices):
+
+2021-08-24  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        ANGLE Metal infinities and NaNs generated with incorrect syntax
+        https://bugs.webkit.org/show_bug.cgi?id=229439
+        <rdar://81033366>
+
+        Reviewed by Dean Jackson.
+
+        Generate NaN and infinity constant values correctly.
+        An else was missing from if-block, causing double processing.
+
+        * src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
+        (GenMetalTraverser::emitSingleConstant):
+        * src/libANGLE/renderer/metal/mtl_utils.mm:
+        (rx::mtl::CreateShaderLibrary):
+
+2021-08-17  David Kilzer  <ddkilzer@apple.com>
+
+        [Metal ANGLE] Fix over-autorelease of rx::DisplayMtl::getMetalDeviceMatchingAttribute() and various Objective-C leaks
+        <https://webkit.org/b/229128>
+        <rdar://problem/81964007>
+
+        Reviewed by Alex Christensen.
+
+        * src/libANGLE/renderer/metal/DisplayMtl.h:
+        (rx::DisplayMtl::getMetalDeviceMatchingAttribute):
+        - Change to return mtl::AutoObjCPtr<> to make ownership clear.
+        (rx::DisplayMtl::mMetalDevice):
+        - No need to initialize to nil.
+
+        * src/libANGLE/renderer/metal/DisplayMtl.mm:
+        (rx::DisplayMtl::initializeImpl):
+        - Update for changes to getMetalDeviceMatchingAttribute().
+        (rx::DisplayMtl::getMetalDeviceMatchingAttribute):
+        - Change to return mtl::AutoObjCPtr<> to make ownership clear.
+        - Fix leak of `deviceList`, `externalGPUs`, `integratedGPUs`, and
+          `discreteGPUs`.
+        - Use mtl::adoptObjCObj<>() to prevent leak of
+          MTLCreateSystemDefaultDevice().
+
+        * src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm:
+        - Fix leak of `captureDescriptor` in two different if blocks.
+
+        * src/libANGLE/renderer/metal/ProgramMtl.mm:
+        - Fix leak of `funcConstants` in early return on error path.
+
+        * src/libANGLE/renderer/metal/ProvokingVertexHelper.mm:
+        (rx::ProvokingVertexHelper::getSpecializedShader):
+        - Fix leak of `fcValues`.
+
+        * src/libANGLE/renderer/metal/SurfaceMtl.mm:
+        - Fix leak of `captureDescriptor` in two different if blocks.
+
+        * src/libANGLE/renderer/metal/mtl_common.h:
+        (rx::mtl::WrappedObject::retainAssign):
+        - Move statement inside #if/#endif that isn't needed for ARC.
+        (rx::mtl::WrappedObject::unretainAssign): Add.
+        (rx::mtl::AutoObjCPtr::AutoObjCPtr): Add.
+        (rx::mtl::adoptObjCObj): Add.
+        - Add a helper method to adopt an Objective-C object to
+          eliminate the need to autorelease a +1 retained object before
+          an mtl::AutoObjCPtr<> object wraps it.  Modeled after
+          WTF::RetainPtr<> in WebKit.
+
+        * src/libANGLE/renderer/metal/mtl_state_cache.mm:
+        (rx::mtl::RenderPipelineCache::createRenderPipelineState):
+        (rx::mtl::ProvokingVertexComputePipelineCache::createComputePipelineState):
+        - Use adoptObjCObj<>() to fix potential leak on the early return
+          path since these methods return an mtl::AutoObjCPtr<>.
+
+2021-08-16  David Kilzer  <ddkilzer@apple.com>
+
+        "make analyze" should run clang static analyzer in deep mode
+        <https://webkit.org/b/229127>
+        <rdar://problem/81960587>
+
+        Reviewed by Alexey Proskuryakov.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        - Treat "analyze" the same as "build" for "ACTION" environment
+          variable.
+
+2021-08-12  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        ANGLE Cocoa compiles contents of ContextEAGL on mac
+        https://bugs.webkit.org/show_bug.cgi?id=228987
+
+        Reviewed by Kenneth Russell.
+
+        Add include guards that are consistent with other EAGL files.
+
+        * src/libANGLE/renderer/gl/eagl/ContextEAGL.cpp:
+
+2021-08-12  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        ANGLE Cocoa compiles parts of HLSL translator, vulkan translator, libgl api, capture redundantly
+        https://bugs.webkit.org/show_bug.cgi?id=228986
+
+        Reviewed by Kenneth Russell.
+
+        Remove following from ANGLE (dynamic) target:
+        - HLSL translator and tree ops used only by it
+        - Vulkan translator output
+        - libgl API validation implementation
+        - API trace capture implementation (was only partially compiled)
+
+        The features are not part of Cocoa use of ANGLE, and should
+        not be compiled as such.
+        Does not affect the binary size more than few kilobytes.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * Configurations/ANGLE-dynamic.xcconfig:
+
+2021-08-11  Kyle Piddington  <kpiddington@apple.com>
+
+        Avoid infinite recursion when command buffer creation fails
+        https://bugs.webkit.org/show_bug.cgi?id=228978
+        <rdar://79224824>
+ 
+        Reviewed by Kenneth Russell.
+ 
+        In cases where the MTLCommandBuffer is not a valid metal object,
+        we can end up in an infinite recursive loop during draw call setup. Refactor setupDraw to take no more than two attempts through the setup function. 
+
+        Testing: Ran WebGL tests, use case samples. Set up synthetic 
+        repro forcing bail out path, saw WebGL content fail to render 
+        instead of a web process crash.
+
+        * src/libANGLE/renderer/metal/ContextMtl.h:
+        * src/libANGLE/renderer/metal/ContextMtl.mm:
+        (rx::ContextMtl::setupDraw):
+        (rx::ContextMtl::setupDrawImpl):
+
+2021-08-11  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        Cherry-pick ANGLE: Revise WebGL's shaderSource validation
+        https://bugs.webkit.org/show_bug.cgi?id=228951
+
+        Reviewed by Kenneth Russell.
+
+        Cherry-pick ANGLE commit: b4fd46288aa65d61dc9c7140c7d1cdba3f4cdf9a
+        From: Kenneth Russell <kbr@chromium.org>
+        Date: Wed, 27 Jan 2021 15:56:58 -0800
+        Revise WebGL's shaderSource validation.
+
+        Per discussion in the WebGL working group, shaderSource no longer
+        generates INVALID_VALUE for sources containing characters outside the
+        ESSL character set. Compilation and/or linking is still specified to
+        fail when illegal constructs are used.
+
+        With this change, https://github.com/KhronosGroup/WebGL/pull/3206
+        passes with the passthrough command decoder.
+
+        Revise WebGL compatibility tests to follow the new rules.
+
+        * src/libANGLE/validationES2.cpp:
+        (gl::ValidateShaderSource):
+        * src/tests/gl_tests/WebGLCompatibilityTest.cpp:
+
+2021-07-23  Dean Jackson  <dino@apple.com>
+
+        3.5 MB system-wide footprint impact due to thread-locals in libANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=228240
+        rdar://79504783
+
+        Reviewed by Ken Russell and Geoff Garen.
+
+        Apple's dyld has a bug where thread_local variables are dirtied on
+        process launch, causing a memory regression. Work around this
+        temporarily in ANGLE by using pthread thread local storage.
+
+        I don't expect this to be upstreamed to ANGLE unless they
+        want it. If it isn't, this patch will have to be applied until
+        the dyld bug is fixed.
+
+        * src/libANGLE/Context.cpp: Implement some methods to get/set what was
+        the global variable gCurrentValidContext.
+        (gl::GetCurrentValidContextTLSIndex):
+        (gl::GetCurrentValidContextTLS):
+        (gl::SetCurrentValidContextTLS):
+        (gl::Context::setContextLost):
+        * src/libANGLE/Context.h:
+        * src/libGLESv2/global_state.cpp: Ditto, but for gCurrentThread.
+        (egl::GetCurrentThreadTLSIndex):
+        (egl::GetCurrentThreadTLS):
+        (egl::SetCurrentThreadTLS):
+        (egl::GetCurrentThread):
+        (egl::SetContextCurrent):
+        * src/libGLESv2/global_state.h:
+        (gl::GetGlobalContext):
+        (gl::GetValidGlobalContext):
+
+2021-07-16  Kyle Piddington  <kpiddington@apple.com>
+
+        Build Default Metal library offline
+        https://bugs.webkit.org/show_bug.cgi?id=227333
+
+        <rdar://79923371>
+
+        This patch compiles and creates a Metal library at build time, storing
+        the library as a compiled binary file. This library is baked into the dylib,
+        and is loaded at context creation time.
+
+        Unlike the previous version of this patch, this patch does not save or store the .metallib on disk, but rather
+        bakes it into a binary.
+
+        Fixed internal build breaks by skipping Metallib bake script.
+
+        Reviewed by Kenneth Russell.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * Configurations/ANGLE-dynamic.xcconfig:
+        * src/libANGLE/renderer/metal/DisplayMtl.mm:
+        (rx::DisplayMtl::initializeShaderLibrary):
+        * src/libANGLE/renderer/metal/mtl_utils.h:
+
+2021-07-16  Truitt Savell  <tsavell@apple.com>
+
+        Unreviewed, reverting r279980.
+
+        Broke Internal Builds
+
+        Reverted changeset:
+
+        "Build Default Metal library offline"
+        https://bugs.webkit.org/show_bug.cgi?id=227333
+        https://commits.webkit.org/r279980
+
+2021-07-16  Kyle Piddington  <kpiddington@apple.com>
+
+        Build Default Metal library offline
+        https://bugs.webkit.org/show_bug.cgi?id=227333
+
+        <rdar://79923371>
+
+        This patch compiles and creates a Metal library at build time, storing
+        the library as a compiled binary file. This library is baked into the dylib, 
+        and is loaded at context creation time.
+
+        Unlike the previous version of this patch, this patch does not save or store the .metallib on disk, but rather
+        bakes it into a binary.
+        
+        Reviewed by Kenneth Russell.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * Configurations/ANGLE-dynamic.xcconfig:
+        * src/libANGLE/renderer/metal/DisplayMtl.mm:
+        (rx::DisplayMtl::initializeShaderLibrary):
+        * src/libANGLE/renderer/metal/mtl_utils.h:
+
+2021-07-15  Kyle Piddington  <kpiddington@apple.com>
+
+        WebGL2 demo doesn't work due to failing compilation to metal backend
+        https://bugs.webkit.org/show_bug.cgi?id=226865
+	
+        Fix translation of struct-arrays to contain the array type as well.
+        Reviewed by Dean Jackson.
+
+        * src/compiler/translator/TranslatorMetalDirect/SeparateCompoundStructDeclarations.cpp:
+
+2021-07-13  Kyle Piddington  <kpiddington@apple.com>
+
+        rAF driven WebGL submits excessive amount of GPU work when frames are slow
+        https://bugs.webkit.org/show_bug.cgi?id=227059
+
+        Reviewed by Dean Jackson.
+
+        Advertise GL_ARB_sync for the Metal backend.
+    Since GL_ARB_sync is core in OpenGL ES 3.0 and the Metal backend advertises OpenGL ES 3.0,
+    the API must be working already.
+
+        Limit in-flight WebGL frames to three frames. Do not continue preparation for display
+    until the commands for the oldest frame have been executed by the GPU.
+
+        This limits the impact slow frames have, especially in the
+    case where the compositor skip frames and WebKit would issue a new slow frame
+    on top of the skipped frame.
+
+	An additional change ensures that Nvidia configs, which do not support MTLEvents
+	to a level of conformance required (See http://crbug.com/1136673), continue to run. The more powerful eGPUs will not experience throttling to the same level as integrated GPUS.
+        * src/libANGLE/renderer/metal/DisplayMtl.mm:
+        (rx::DisplayMtl::initializeExtensions const):
+
+2021-07-07  Kyle Piddington  <kpiddington@apple.com>
+
+        WebGL shader link error in iOS 15 beta: "Internal error compiling shader with Metal backend"
+        https://bugs.webkit.org/show_bug.cgi?id=227723
+
+        The sequence operator can be used to combine statements. Our initial
+        logic did not account for this. 
+        Reviewed by Dean Jackson.
+
+        * src/compiler/translator/TranslatorMetalDirect/SeparateCompoundExpressions.cpp:
+        (sh::Separator::isStandaloneExpr):
+
+2021-07-06  Kyle Piddington  <kpiddington@apple.com>
+
+        REGRESSION (r279466):  [Big Sur] webgl/1.0.3/conformance & webgl/2.0.0/conformance are failing
+        https://bugs.webkit.org/show_bug.cgi?id=227596
+        Provide Intel workaround for Big Sur systems. Atan and invariant have 
+        issues on older systems, and require us to disable fastmath to produce correct results. 
+
+        Reviewed by Kenneth Russell.
+
+        * include/platform/FeaturesMtl.h:
+        * src/compiler/translator/TranslatorMetalDirect.h:
+        (sh::TranslatorMetalReflection::reset):
+        * src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
+        (GenMetalTraverser::emitPostQualifier):
+        (GenMetalTraverser::visitUnary):
+        (GenMetalTraverser::visitAggregate):
+        * src/libANGLE/renderer/metal/DisplayMtl.mm:
+        (rx::DisplayMtl::initializeFeatures):
+        * src/libANGLE/renderer/metal/ProgramMtl.h:
+        (rx::ProgramMtl::getTranslatedShaderInfo const):
+        * src/libANGLE/renderer/metal/ProgramMtl.mm:
+        * src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.h:
+        * src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.mm:
+        (rx::mtl::GlslangGetMSL):
+        * src/libANGLE/renderer/metal/mtl_render_utils.h:
+        * src/libANGLE/renderer/metal/mtl_render_utils.mm:
+        (rx::mtl::TransformFeedbackUtils::createMslXfbLibrary):
+        (rx::mtl::TransformFeedbackUtils::getTransformFeedbackRenderPipeline):
+        * src/libANGLE/renderer/metal/mtl_utils.h:
+        * src/libANGLE/renderer/metal/mtl_utils.mm:
+        (rx::mtl::CreateShaderLibrary):
+
+2021-07-01  Ben Nham  <nham@apple.com>
+
+        Unreviewed, reverting r279172.
+
+        Broke WebGL context construction on some devices.
+
+        Reverted changeset:
+
+        "rAF driven WebGL submits excessive amount of GPU work when frames are slow"
+        https://bugs.webkit.org/show_bug.cgi?id=227059
+        https://commits.webkit.org/r279172
+
+2021-07-01  Kyle Piddington  <kpiddington@apple.com>
+
+        BabylonJS Under water demo is slower than it should be on Intel
+        https://bugs.webkit.org/show_bug.cgi?id=227226
+
+        Remove fastMath restriction on Intel
+        Removing fastmath in all scenarios leads to unacceptable performance on integrated graphics
+        Currently, webgl conformance tests and the Safari tests don't have any invariance tests that show invariance issues. deQP tests are similarly passing.
+        In Metal-ANGLE, gl_position and gl_fragcoord are valid attributes to be marked as invariant. All others will be ignored.
+
+        Reviewed by Kenneth Russell.
+
+        * src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
+        (GenMetalTraverser::emitPostQualifier):
+        * src/libANGLE/renderer/metal/mtl_utils.mm:
+        (rx::mtl::CreateShaderLibrary):
+
+2021-06-30  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        ASSERT in  webgl/1.0.x/conformance/glsl/misc/uninitialized-local-global-variables.html   IdGen ASSERT(*base != '_');
+        https://bugs.webkit.org/show_bug.cgi?id=227482
+
+        Reviewed by Kenneth Russell.
+
+        Give unnamed structs normal "_<number>" name.
+        The original code thought it gave "ANGLE__unnamed<number>", but in reality it
+        gave "__unnamed<number>".
+        Since other constructs already create names of form "_<number>", it is unwarranted to
+        special case this particular case to give "_unnamed<number>" or "ANGLE_unnamed<number" or
+        "ANGLE_<number>".
+
+        * src/compiler/translator/TranslatorMetalDirect/SeparateCompoundStructDeclarations.cpp:
+        * src/tests/compiler_tests/MSLOutput_test.cpp:
+        (TEST_F):
+
+2021-06-29  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        ANGLE Metal primitive restart range computation could index with size_t
+        https://bugs.webkit.org/show_bug.cgi?id=227449
+
+        Reviewed by Kenneth Russell.
+
+        Make the `calculateRestartRanges()` a bit simpler in order
+        for it to be easier to understand.
+
+        * src/libANGLE/renderer/metal/BufferMtl.h:
+        (rx::IndexRange::IndexRange):
+        Add documentation what the mtl::IndexRange is.
+        Add constructor so that `std::vector::emplace_back()` works.
+
+        * src/libANGLE/renderer/metal/BufferMtl.mm:
+        (rx::calculateRestartRanges):
+        Index with size_t to make it simpler to understand if the index
+        overflows or not.
+        Use reinterpret_cast in order to not accidentally cast away
+        const from `mtl::BufferRef::mapReadOnly()`.
+        Skip the non-marker elements with `continue` to avoid deep nesting.
+        Give a name to the restart range marker value.
+        Remove intermediate variable `value = bufferData[i]` as it is never
+        used more than once. This simplifies the code as the do-while loop
+        does not need to check the if condition as the loop ending condition
+        already checks.
+        Make the array a returned result instead of out variable.
+
+        (rx::BufferMtl::getRestartIndices):
+
+2021-06-29  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        ANGLE Metal primitive restart range computation should not be done unless primitive restart is enabled
+        https://bugs.webkit.org/show_bug.cgi?id=227452
+
+        Reviewed by Kenneth Russell.
+
+        Primitive restart needs to scan the whole index buffer for values.
+        This should not be done unless needed.
+
+        * src/libANGLE/renderer/metal/VertexArrayMtl.mm:
+        (rx::VertexArrayMtl::getDrawIndices):
+        First check for primitive restart enabledness.
+        Compute the primitive restart values after this.
+        The algoritm should succeed when the count of primitive
+        restart ranges is zero, and it does not do much of work.
+        Use the restart range vector as reference, so that no copy
+        would be done.
+        Add spaces the if statements, comments and references.
+        Move the else arm of the if statement with return statement
+        to body of the function to reduce nesting.
+
+2021-06-28  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        iPhone 6S - iOS 15.0 - unable to retrieve WebGL2 context
+        https://bugs.webkit.org/show_bug.cgi?id=226975
+        rdar://78966563
+
+        Reviewed by Kenneth Russell.
+
+        Limit the OpenGL ES 3.0 contexts to iOS GPU Family 3, not
+        4.
+
+        The limit was most likely added to guard sample_compare
+        lod_options properties .lod and .gradient. However, these
+        are always supported on iOS.
+
+        Currently there is already ES 3.0 features implemented
+        in ANGLE that are guarded by iOS GPU Family 3.
+
+        Fixes WebGL 2.0 to work on iPhone6s and similar
+        devices  (A9, A9X).
+
+        * src/libANGLE/renderer/metal/DisplayMtl.mm:
+        (rx::DisplayMtl::getMaxSupportedESVersion const):
+
+2021-06-28  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        ANGLE Metal index buffer left mapped when building primitive restart ranges
+        https://bugs.webkit.org/show_bug.cgi?id=227371
+
+        Reviewed by Kenneth Russell.
+
+        * src/libANGLE/renderer/metal/BufferMtl.mm:
+        (rx::calculateRestartRanges):
+        Add unmap.
+
+2021-06-25  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        [macOS] WebGL content is unable to use the discrete GPU
+        https://bugs.webkit.org/show_bug.cgi?id=227408
+        <rdar://problem/79216506>
+
+        Reviewed by Dean Jackson.
+
+        There appears to be a key collision:
+
+        Source/ThirdParty/ANGLE/include/platform/PlatformMethods.h:#define EGL_PLATFORM_ANGLE_PLATFORM_METHODS_ANGLEX 0x3482
+        Source/ThirdParty/ANGLE/include/EGL/eglext_angle.h:#define EGL_POWER_PREFERENCE_ANGLE 0x3482
+
+        Both these keys seem to be accepted by EGL_GetPlatformDisplayEXT().
+
+        This patch just changes the value of one of them to a value I picked out of a hat, just so they don't conflict.
+        We should work with upstream to either:
+        A) Find a better solution (maybe disambiguate these values based on which function is accepting them), or
+        B) Make a robust way to make sure keys don't collide in the future.
+
+        * include/platform/PlatformMethods.h:
+
+2021-06-24  John Cunningham  <johncunningham@apple.com>
+
+        [ANGLE Metal] - Set barriers on transform feedback buffers only up to the in use buffer count
+        https://bugs.webkit.org/show_bug.cgi?id=227272
+        <rdar://79587861>
+
+        Reviewed by Dean Jackson.
+
+        * src/libANGLE/renderer/metal/ContextMtl.mm:
+        (rx::ContextMtl::onEndTransformFeedback):
+
+2021-06-23  Kyle Piddington  <kpiddington@apple.com>
+
+        Fix incorrect indexing / out of bounds access in getRestartIndices
+        https://bugs.webkit.org/show_bug.cgi?id=227274
+        <rdar://79244789>
+
+        In the case where a restart index is present in the last element of an index array, we can accidently
+        access out of bounds. Fix this by checking boundaries, and fixing other indexing errors
+
+        Tests: Ran deqp/functional/gles3/primitiverestart suite. Passed 8 tests.
+
+        Reviewed by Dean Jackson.
+
+        * src/libANGLE/renderer/metal/BufferMtl.mm:
+        (rx::calculateRestartRanges):
+
+2021-06-23  Kyle Piddington  <kpiddington@apple.com>
+
+        Guard against compile failures of the default libraries
+        https://bugs.webkit.org/show_bug.cgi?id=227239
+        <rdar://79037623>
+
+        Under certain events (High memory usage), the MTLCompilerService can fail when creating the default library.
+        Guard against nil pipelines by failing GL calls instead, if this happens. While this can create rendering artifacts
+        due to missing blits / conversions, this can at least avoid crashing the process.
+
+        Reviewed by Dean Jackson.
+
+        * src/libANGLE/renderer/metal/mtl_render_utils.h:
+        * src/libANGLE/renderer/metal/mtl_render_utils.mm:
+        (rx::mtl::ClearUtils::setupClearWithDraw):
+        (rx::mtl::ClearUtils::clearWithDraw):
+        (rx::mtl::ColorBlitUtils::setupColorBlitWithDraw):
+        (rx::mtl::ColorBlitUtils::blitColorWithDraw):
+        (rx::mtl::DepthStencilBlitUtils::setupDepthStencilBlitWithDraw):
+        (rx::mtl::DepthStencilBlitUtils::blitDepthStencilWithDraw):
+        (rx::mtl::VertexFormatConversionUtils::setupCommonConvertVertexFormatToFloat):
+        (rx::mtl::VertexFormatConversionUtils::expandVertexFormatComponentsVS):
+        (rx::mtl::VertexFormatConversionUtils::setupCommonExpandVertexFormatComponents):
+
+2021-06-23  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        rAF driven WebGL submits excessive amount of GPU work when frames are slow
+        https://bugs.webkit.org/show_bug.cgi?id=227059
+        <rdar://problem/79385858>
+
+        Reviewed by Kenneth Russell.
+
+        Advertise GL_ARB_sync for the Metal backend.
+        Since GL_ARB_sync is core in OpenGL ES 3.0 and the Metal backend advertises OpenGL ES 3.0,
+        the API must be working already.
+
+        * src/libANGLE/renderer/metal/DisplayMtl.mm:
+        (rx::DisplayMtl::initializeExtensions const):
+
+2021-06-22  Dean Jackson  <dino@apple.com>
+
+        [ANGLE] Support importing external MTLTextures
+        https://bugs.webkit.org/show_bug.cgi?id=226690
+
+        Reviewed by Tim Horton.
+
+        Support MTLTextures as GL textures.
+        Merge https://chromium-review.googlesource.com/c/angle/angle/+/2820178
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * extensions/EGL_ANGLE_metal_texture_client_buffer.txt: Added.
+        * include/EGL/eglext_angle.h:
+        * src/common/utilities.cpp:
+        (egl::IsExternalImageTarget):
+        * src/libANGLE/Caps.cpp:
+        (egl::DisplayExtensions::getStrings const):
+        * src/libANGLE/Caps.h:
+        * src/libANGLE/renderer/metal/BUILD.gn:
+        * src/libANGLE/renderer/metal/DisplayMtl.h:
+        * src/libANGLE/renderer/metal/DisplayMtl.mm:
+        (rx::DisplayMtl::createImage):
+        (rx::DisplayMtl::createExternalImageSibling):
+        (rx::DisplayMtl::generateExtensions const):
+        (rx::DisplayMtl::validateImageClientBuffer const):
+        (rx::DisplayMtl::initializeExtensions const):
+        * src/libANGLE/renderer/metal/ImageMtl.h: Added.
+        (rx::TextureImageSiblingMtl::getTexture const):
+        (rx::TextureImageSiblingMtl::getFormatMtl const):
+        (rx::ImageMtl::getTexture const):
+        (rx::ImageMtl::getImageTextureType const):
+        (rx::ImageMtl::getImageLevel const):
+        (rx::ImageMtl::getImageLayer const):
+        * src/libANGLE/renderer/metal/ImageMtl.mm: Added.
+        (rx::TextureImageSiblingMtl::TextureImageSiblingMtl):
+        (rx::TextureImageSiblingMtl::~TextureImageSiblingMtl):
+        (rx::TextureImageSiblingMtl::ValidateClientBuffer):
+        (rx::TextureImageSiblingMtl::initialize):
+        (rx::TextureImageSiblingMtl::initImpl):
+        (rx::TextureImageSiblingMtl::onDestroy):
+        (rx::TextureImageSiblingMtl::getFormat const):
+        (rx::TextureImageSiblingMtl::isRenderable const):
+        (rx::TextureImageSiblingMtl::isTexturable const):
+        (rx::TextureImageSiblingMtl::getSize const):
+        (rx::TextureImageSiblingMtl::getSamples const):
+        (rx::ImageMtl::ImageMtl):
+        (rx::ImageMtl::~ImageMtl):
+        (rx::ImageMtl::onDestroy):
+        (rx::ImageMtl::initialize):
+        (rx::ImageMtl::orphan):
+        * src/libANGLE/renderer/metal/RenderBufferMtl.mm:
+        (rx::RenderbufferMtl::setStorageEGLImageTarget):
+        * src/libANGLE/renderer/metal/TextureMtl.mm:
+        (rx::TextureMtl::setEGLImageTarget):
+        * src/libANGLE/renderer/metal/gen_mtl_format_table.py:
+        (gen_image_map_switch_mac_case.gen_format_assign_code):
+        (gen_image_mtl_to_angle_switch_string):
+        (main):
+        * src/libANGLE/renderer/metal/mtl_common.h:
+        * src/libANGLE/renderer/metal/mtl_format_table_autogen.mm:
+        (rx::mtl::Format::MetalToAngleFormatID):
+        * src/libANGLE/renderer/metal/mtl_format_utils.h:
+        * src/libANGLE/validationEGL.cpp:
+        (egl::ValidateCreateImage):
+        * src/tests/BUILD.gn:
+        * src/tests/gl_tests/ImageTest.cpp:
+        (angle::TEST_P):
+        * src/tests/gl_tests/ImageTestMetal.mm: Added.
+        (angle::ScopeMetalTextureRef::ScopeMetalTextureRef):
+        (angle::ScopeMetalTextureRef::~ScopeMetalTextureRef):
+        (angle::ScopeMetalTextureRef::get const):
+        (angle::ScopeMetalTextureRef::operator id<MTLTexture> const):
+        (angle::ScopeMetalTextureRef::operator=):
+        (angle::ScopeMetalTextureRef::release):
+        (angle::CreateMetalTexture2D):
+        (angle::ImageTestMetal::ImageTestMetal):
+        (angle::ImageTestMetal::getMtlDevice):
+        (angle::ImageTestMetal::createMtlTexture2D):
+        (angle::ImageTestMetal::verifyResultsTexture):
+        (angle::ImageTestMetal::verifyResults2D):
+        (angle::ImageTestMetal::reinterpretHelper):
+        (angle::ImageTestMetal::hasImageNativeMetalTextureExt const):
+        (angle::ImageTestMetal::hasOESExt const):
+        (angle::ImageTestMetal::hasBaseExt const):
+        (angle::ImageTestMetal::sourceMetalTarget2D_helper):
+        (angle::TEST_P):
+
+2021-06-17  Kyle Piddington  <kpiddington@apple.com>
+
+        [Metal ANGLE] Shaders with reserved metal keywords do not translate, nor do shaders with struct and variable names that are the same except prefixed by an underscore
+        https://bugs.webkit.org/show_bug.cgi?id=226660
+
+        Fix keyword translation problem by correcting symbol space. This avoids renaming structs unnecessarily 
+
+        Reviewed by Dean Jackson.
+
+        * src/compiler/translator/TranslatorMetalDirect/RewriteKeywords.cpp:
+        (sh::Rewriter::createRenamed):
+
+2021-06-16  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        ANGLE Metal gl sync objects do not work in case of listener being needed
+        https://bugs.webkit.org/show_bug.cgi?id=227024
+
+        Reviewed by Per Arne Vollan.
+
+        Add an assert to notice when MTLSharedEventListener instantiation
+        fails. Without this, the fence implementation would not signal
+        the completion until the timeout would pass.
+
+        * src/libANGLE/renderer/metal/DisplayMtl.mm:
+        (rx::DisplayMtl::getOrCreateSharedEventListener):
+
+2021-06-16  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        ANGLE Metal AutoObjCPtr == nullptr comparison is inverted
+        https://bugs.webkit.org/show_bug.cgi?id=227026
+
+        Reviewed by Anders Carlsson.
+
+        Make it more correct and add != nullptr variant for
+        consistency.
+
+        Use std::nullptr_t instead of const std::nullptr_t &
+        in all functions for consistency.
+
+        * src/libANGLE/renderer/metal/mtl_common.h:
+        (rx::mtl::AutoObjCPtr::operator== const):
+        (rx::mtl::AutoObjCPtr::operator!= const):
+
+2021-06-15  Kyle Piddington  <kpiddington@apple.com>
+
+        Tensorflow.js Broken in Safari 15
+        https://bugs.webkit.org/show_bug.cgi?id=226953
+
+        Tensorflow shaders use a 'NAN' uniform. This is a reserved keyword
+        in metal. Add NAN to the reserved list.
+
+        'inf' constants need to be replaced with INFINITY, much like nan constants need to be replaced with NAN
+        Reviewed by Kenneth Russell.
+
+        * src/compiler/translator/TranslatorMetalDirect.cpp:
+        (sh::GetMslKeywords):
+
+2021-06-15  Alex Christensen  <achristensen@webkit.org>
+
+        Fix typo in r276318
+        https://bugs.webkit.org/show_bug.cgi?id=227041
+        <rdar://76284889>
+
+        Reviewed by Chris Dumez.
+
+        @ uses the string @(DYLIB_INSTALL_NAME_BASE)
+        $ uses the value of the environment variable.
+        This turns out to be an important difference.
+
+        * Configurations/ANGLE-dynamic.xcconfig:
+
+2021-06-11  Eleni Maria Stea  <estea@igalia.com>
+
+        ANGLE EGL and GLES libraries should link with lib dl.
+        https://bugs.webkit.org/show_bug.cgi?id=226920
+
+        Reviewed by Kenneth Russell.
+
+        GLES and EGL that are generated from ANGLE should link
+        with libdl because they use dlsym and dlopen. Also,
+        with the updated CMakeLists.txt we can safely link with libEGL
+        when USE_ANGLE_WEBGL is set because the symbols of EGL are now
+        found.
+
+        * CMakeLists.txt:
+
+2021-06-10  Don Olmstead  <don.olmstead@sony.com>
+
+        [CMake] Make ANGLE library types configurable
+        https://bugs.webkit.org/show_bug.cgi?id=226840
+
+        Reviewed by Kenneth Russell.
+
+        The type for ANGLE's libraries was being hard coded. Now the libraries can be set by
+        specifying the _LIBRARY_TYPE which defaults to STATIC. Windows platforms override this
+        and use SHARED libraries.
+
+        Additionally make compiling ANGLE's EGL library contingent on USE_ANGLE_EGL being enabled
+        since its not used otherwise.
+
+        * CMakeLists.txt:
+        * PlatformFTW.cmake:
+        * PlatformWin.cmake:
+
+2021-06-02  Kyle Piddington  <kpiddington@apple.com>
+
+        Add 'mix' override with bool-vectors to MSL translator
+        https://bugs.webkit.org/show_bug.cgi?id=226366
+
+        Reviewed by Dean Jackson.
+
+        Add in 'mix' overrides, and logic for selecting mix with bool when necessary.
+
+        * src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
+        (GetOperatorString):
+        (GenMetalTraverser::visitAggregate):
+        * src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:
+
+2021-06-01  Kyle Piddington  <kpiddington@apple.com>
+
+        [Metal ANGLE] transformFeedback samples on webglsamples.org do not render correctly
+        https://bugs.webkit.org/show_bug.cgi?id=226285
+        <rdar://78524773>
+
+        Reviewed by Dean Jackson.
+
+        Metal ANGLE does not render these samples correctly, for a number of reasons. 
+        For transform_feedback_interleaved and seperated, We need to start a new renderEncoder to get the results from the transform feedback. 
+        for transform_feedback-seperated_2, we need to invalidate the current render pass descriptor in order to switch to the rasterizer-enabled version of the shader.
+        Testing: Ran all transform feedback tests from deqp suite to ensure no regressions are present.
+
+        * src/libANGLE/renderer/metal/ContextMtl.h:
+        * src/libANGLE/renderer/metal/ContextMtl.mm:
+        (rx::ContextMtl::drawTriFanArraysWithBaseVertex):
+        (rx::ContextMtl::drawArraysImpl):
+        (rx::ContextMtl::drawTriFanElements):
+        (rx::ContextMtl::prepareForTransformFeedbackPassTwo):
+        (rx::ContextMtl::drawLineLoopElements):
+        (rx::ContextMtl::drawElementsImpl):
+        (rx::ContextMtl::onEndTransformFeedback):
+        * src/libANGLE/renderer/metal/TransformFeedbackMtl.mm:
+        (rx::TransformFeedbackMtl::end):
+
+2021-06-01  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        ANGLE Metal translator pre-rotation code is unused and it asserts when used
+        https://bugs.webkit.org/show_bug.cgi?id=226262
+
+        Reviewed by Dean Jackson.
+
+        Remove the pre-rotation code. It is Android specific and most likely it is useful
+        only when ANGLE is used as the drawing mechanism for the primary app window picture.
+        Thus most likely it is not useful in WebKit on Cocoa platforms where the window
+        server does the compositing.
+
+        * src/compiler/translator/TranslatorMetalDirect.cpp:
+        (sh::TranslatorMetalDirect::translateImpl):
+        * src/compiler/translator/TranslatorMetalDirect.h:
+        * src/libANGLE/renderer/metal/ContextMtl.h:
+        * src/libANGLE/renderer/metal/ContextMtl.mm:
+        (rx::ContextMtl::handleDirtyDriverUniforms):
+
+2021-05-31  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        Cherry-pick ANGLE: Add array bounds checks for WebGL shaders
+        https://bugs.webkit.org/show_bug.cgi?id=226397
+
+        Reviewed by Dean Jackson.
+
+        Cherry-pick ANGLE commit b0d39ba2aba218402ff2f32f6e16f18cf4975ff4
+        At the moment does not affect any WebKit client.
+        Makes the code consistent with OpenGL.
+        Makes it easier to understand same change in Metal backend.
+
+        Upstream description:
+        Add array bounds checks for WebGL shaders
+        WebGL shaders may contain OOB array accesses which in turn
+        cause undefined behavior, which may result in security
+        issues. This was detected as an UNKNOWN READ by UBSAN while
+        testing with SwANGLE.
+
+        * src/libANGLE/renderer/vulkan/ShaderVk.cpp:
+        (rx::ShaderVk::compile):
+
+2021-05-28  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        ANGLE Metal translator should always collect variables
+        https://bugs.webkit.org/show_bug.cgi?id=226261
+
+        Reviewed by Dean Jackson.
+
+        Always collect the variables when translating GLSL to Metal.
+        This way tests that invoke translation without SH_VARIABLES still
+        work.
+
+        * src/compiler/translator/TranslatorMetalDirect.cpp:
+        (sh::TranslatorMetalDirect::translateImpl):
+        * src/compiler/translator/TranslatorMetalDirect.h:
+
+2021-05-27  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        ANGLE could be compiled with "aggressive uninitialised variable" setting
+        https://bugs.webkit.org/show_bug.cgi?id=226260
+
+        Reviewed by Alexey Proskuryakov.
+
+        Turn on compiler flag to warn about uninitialized variables that might be
+        conditionally uninitialized. This is the same flag as upstream ANGLE uses.
+        Fix a spurious warning produced by this flag.
+        This helps in scenarios where custom targets compile ANGLE sources and
+        this flag set, such as tests.
+
+        * Configurations/Base.xcconfig:
+        * src/compiler/translator/TranslatorMetalDirect/FixTypeConstructors.cpp:
+
+2021-05-27  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        Cherry-pick ANGLE: D3D11: Skip blits if there is no intersection of dest areas
+        https://bugs.webkit.org/show_bug.cgi?id=225190
+        <rdar://77084155>
+
+        Reviewed by David Kilzer.
+
+        Cherry-pick ANGLE commit b574643ef28c92fcea5122dd7a72acb42a514eed
+        Fixes a security issue on D3D11.
+        Potential a correctness issue on some OpenGL drivers.
+        No effect on Metal, but the nodiscard part is still useful.
+
+        Upstream description:
+        D3D11: Skip blits if there is no intersection of dest areas
+
+        Blit11 would clip the destination rectangle with the destination size
+        but ignore the result. gl::ClipRectangle returns false when the
+        rectangles do not intersect at all, indicating the blit can be skipped.
+
+        This could lead to an out-of-bounds write to the GPU memory for the
+        destination texture.
+
+        Mark ClipRectangle as nodiscard to prevent future issues.
+        * src/libANGLE/angletypes.h:
+        * src/libANGLE/renderer/d3d/d3d11/Blit11.cpp:
+        * src/libANGLE/renderer/gl/FramebufferGL.cpp:
+        (rx::FramebufferGL::clipSrcRegion):
+        * src/libANGLE/renderer/metal/ContextMtl.mm:
+        (rx::ContextMtl::updateScissor):
+        * src/libANGLE/renderer/vulkan/ContextVk.cpp:
+        (rx::ContextVk::updateScissor):
+        * src/tests/gl_tests/BlitFramebufferANGLETest.cpp:
+        (TEST_P):
+
+2021-05-26  Don Olmstead  <don.olmstead@sony.com>
+
+        [CMake] Support USE_ANGLE_EGL on additional platforms
+        https://bugs.webkit.org/show_bug.cgi?id=224888
+        <rdar://problem/77280211>
+
+        Reviewed by Ken Russell.
+
+        Support ANGLE using the OpenGL backend for GTK. Support ANGLE using Metal
+        backend for Mac. Add the generated sources for these two backends.
+
+        Clean up the CMake and introduce additional targets.
+
+        * CMakeLists.txt:
+        * Compiler.cmake:
+        * GL.cmake: Added.
+        * Metal.cmake: Added.
+        * PlatformFTW.cmake:
+        * PlatformGTK.cmake:
+        * PlatformMac.cmake:
+        * PlatformWin.cmake:
+
+2021-05-20  Kyle Piddington  <kpiddington@apple.com>
+
+        [Metal ANGLE] Handle NAN constant folding correctly
+        https://bugs.webkit.org/show_bug.cgi?id=226052
+
+        NAN values (0.0f/0.0f) were being handled incorrectly. MSL was being emitted as lowercase 'nanf', instead of NAN
+        Check for an unlikely NAN case, and emit correct MSL
+
+        Reviewed by Dean Jackson.
+
+        * src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
+        (GenMetalTraverser::emitSingleConstant):
+
+2021-05-20  Kyle Piddington  <kpiddington@apple.com>
+
+        Red flashes zooming on Google Maps when using external monitor on multi-gpu systems
+        https://bugs.webkit.org/show_bug.cgi?id=225956
+        <rdar://77024179>        
+
+        Reviewed by Dean Jackson.
+        IOSurface presentation swaps require that a command buffer is queued for execution before
+        swapping. Otherwise, we're liable to drop frames, or present old IOSurface buffers. 
+        Ensure work flushed via glFlush completes before presenation by waiting for it to enqueue before 
+        swapping a surface.
+
+        * src/libANGLE/renderer/metal/ContextMtl.mm:
+        (rx::ContextMtl::flush):
+        * src/libANGLE/renderer/metal/mtl_command_buffer.h:
+        * src/libANGLE/renderer/metal/mtl_command_buffer.mm:
+        (rx::mtl::CommandBuffer::waitUntilScheduled):
+        (rx::mtl::CommandBuffer::commitImpl):
+
+2021-05-19  Kyle Piddington  <kpiddington@apple.com>
+
+        ASSERT(!toType.isArray()) failure in sh::CoerceSimple due to vector array dereference
+        https://bugs.webkit.org/show_bug.cgi?id=225864
+        <rdar://77968214> 
+
+        Reviewed by Dean Jackson.
+
+        Fixed program translation error, additional issues with transform feedback shaders
+
+        * src/compiler/translator/TranslatorMetalDirect/AddExplicitTypeCasts.cpp:
+        * src/libANGLE/renderer/metal/ProgramMtl.mm:
+        (rx::ProgramMtl::reset):
+
+2021-05-19  Kyle Piddington  <kpiddington@apple.com>
+
+        [ANGLE Metal] Support Provoking Vertex Emulation, Pass Fragment Output test suite.
+        https://bugs.webkit.org/show_bug.cgi?id=225842
+
+        Reviewed by Dean Jackson.
+
+        Add support for provoking vertex emulation. Metal only supports using the first vertex
+        of a primitive as a provoking vertex. To adapt, rewrite the index buffer on the fly when provoking vertex support is required. This method does not rewrite any primitives that would be 
+        culled by primitive restart, such as simple triangles and lines. Triangle and line strips are re-written to line and triangle buffers. Tri fans and line loops are not supported for this
+        rewrite as of this patch.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * src/libANGLE/renderer/metal/ContextMtl.h:
+        * src/libANGLE/renderer/metal/ContextMtl.mm:
+        (rx::ContextMtl::ContextMtl):
+        (rx::ContextMtl::initialize):
+        (rx::ContextMtl::onDestroy):
+        (rx::ContextMtl::drawElementsImpl):
+        (rx::ContextMtl::flushCommandBufer):
+        (rx::ContextMtl::present):
+        (rx::ContextMtl::ensureCommandBufferReady):
+        (rx::ContextMtl::requiresIndexRewrite):
+        * src/libANGLE/renderer/metal/ProgramMtl.h:
+        * src/libANGLE/renderer/metal/ProgramMtl.mm:
+        (rx::ProgramMtl::ProgramMtl):
+        (rx::ProgramMtl::programHasFlatAttributes const):
+        (rx::ProgramMtl::linkImpl):
+        * src/libANGLE/renderer/metal/ProvokingVertexHelper.h: Added.
+        * src/libANGLE/renderer/metal/ProvokingVertexHelper.mm: Added.
+        (rx::primCountForIndexCount):
+        (rx::ProvokingVertexHelper::ProvokingVertexHelper):
+        (rx::ProvokingVertexHelper::onDestroy):
+        (rx::ProvokingVertexHelper::commitPreconditionCommandBuffer):
+        (rx::ProvokingVertexHelper::getComputeCommandEncoder):
+        (rx::ProvokingVertexHelper::ensureCommandBufferReady):
+        (rx::buildIndexBufferKey):
+        (rx::ProvokingVertexHelper::getSpecializedShader):
+        (rx::ProvokingVertexHelper::hasSpecializedShader):
+        (rx::ProvokingVertexHelper::prepareCommandEncoderForDescriptor):
+        (rx::ProvokingVertexHelper::preconditionIndexBuffer):
+        * src/libANGLE/renderer/metal/mtl_state_cache.h:
+        (std::hash<rx::mtl::ProvokingVertexComputePipelineDesc>::operator() const):
+        * src/libANGLE/renderer/metal/mtl_state_cache.mm:
+        (rx::mtl::ProvokingVertexComputePipelineDesc::ProvokingVertexComputePipelineDesc):
+        (rx::mtl::ProvokingVertexComputePipelineDesc::operator=):
+        (rx::mtl::ProvokingVertexComputePipelineDesc::operator== const):
+        (rx::mtl::ProvokingVertexComputePipelineDesc::operator!= const):
+        (rx::mtl::ProvokingVertexComputePipelineDesc::hash const):
+        (rx::mtl::ProvokingVertexComputePipelineCache::ProvokingVertexComputePipelineCache):
+        (rx::mtl::ProvokingVertexComputePipelineCache::setComputeShader):
+        (rx::mtl::ProvokingVertexComputePipelineCache::clearPipelineStates):
+        (rx::mtl::ProvokingVertexComputePipelineCache::clear):
+        (rx::mtl::ProvokingVertexComputePipelineCache::getComputePipelineState):
+        (rx::mtl::ProvokingVertexComputePipelineCache::insertComputePipelineState):
+        (rx::mtl::ProvokingVertexComputePipelineCache::recreatePipelineStates):
+        (rx::mtl::ProvokingVertexComputePipelineCache::createComputePipelineState):
+        (rx::mtl::ProvokingVertexComputePipelineCache::~ProvokingVertexComputePipelineCache):
+        * src/libANGLE/renderer/metal/mtl_utils.h:
+        * src/libANGLE/renderer/metal/mtl_utils.mm:
+        (rx::mtl::CreateMslShader):
+        * src/libANGLE/renderer/metal/shaders/mtl_default_shaders_src_autogen.inc:
+        * src/libANGLE/renderer/metal/shaders/rewrite_indices.metal: Added.
+        * src/libANGLE/renderer/metal/shaders/rewrite_indices_shared.h: Added.
+
+2021-05-18  Alex Christensen  <achristensen@webkit.org>
+
+        Stop compiling ANGLE metal files twice
+        https://bugs.webkit.org/show_bug.cgi?id=225919
+        <rdar://78013511>
+
+        Reviewed by Dean Jackson.
+
+        ANGLE currently generates an unused default.metallib that conflicts with other default.metallibs being built.
+        Since it is unused, remove it.
+        What we currently do is put all the source bytes into gDefaultMetallibSrc and compile it at runtime.
+        This could be optimized to do it at compile time and use newLibraryWithData instead of newLibraryWithSource,
+        but that should be done separately.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+
+2021-05-12  Kyle Piddington  <kpiddington@apple.com>
+
+        [Angle METAL] Remove thread qualifiers and pass-by-reference qualifiers for cast functions
+        https://bugs.webkit.org/show_bug.cgi?id=225702
+        <rdar://76799461>
+
+        Cast functions fail to compile when casting from user uniforms. Update cast functions to remove pass-by-reference
+        qualifiers. 
+
+        Reviewed by Dean Jackson.
+
+        * src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:
+
+2021-05-08  Basuke Suzuki  <basuke.suzuki@sony.com>
+
+        [WinCairo] Remove linker warning on ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=225501
+
+        Reviewed by Darin Adler.
+
+        libANGLE is statically linked to libGLESv2.dll so that __declspec(dllimport) is not required here.
+
+        * include/platform/PlatformMethods.h:
+
+2021-05-06  Kyle Piddington  <kpiddington@apple.com>
+
+        [Metal ANGLE] Only clear dirty state bits after all state has been successfully set
+        https://bugs.webkit.org/show_bug.cgi?id=225468
+        <rdar://77066752>
+
+        When running in release, if any ANGLE calls fail, we eventually return to this part of the code.
+        We can be left with an incomplete state, where we have an incomplete program or attachment, 
+        but a 'clean' state. This can lead to errors such as setting nil render pipeline states, leading to
+        crashes.
+
+        To mitigate this, hold off on setting state bits until we've completly set up a program.
+
+        Reviewed by Dean Jackson.
+
+        * src/libANGLE/renderer/metal/ContextMtl.mm:
+        (rx::ContextMtl::setupDraw):
+        * src/libANGLE/renderer/metal/ProgramMtl.mm:
+
+2021-05-03  Kyle Piddington  <kpiddington@apple.com>
+
+        [Metal ANGLE]: Fix conversions tests and remove failing test expectations
+        https://bugs.webkit.org/show_bug.cgi?id=225261
+        <rdar://77349615>
+                  
+        bool conversion workaround was being applied to all shaders. Correct shader translation to generate
+        better conversion code on platforms that don't need a workaround. 
+
+        Conversions for basic types like vec2, ivec2, uvec2 were only using the first components when workaround
+        was active. Correct swizzle logic to get all components when doing a conversion.
+
+        Reviewed by Dean Jackson.
+
+        * src/compiler/translator/TranslatorMetalDirect/AddExplicitTypeCasts.cpp:
+        * src/compiler/translator/TranslatorMetalDirect/AstHelpers.cpp:
+        (sh::CoerceSimple):
+        * src/compiler/translator/TranslatorMetalDirect/AstHelpers.h:
+
+2021-04-30  Kyle Piddington  <kpiddington@apple.com>
+
+        [Metal ANGLE]: fix webgl/2.0.0/deqp/functional/gles3/negativebufferapi 
+        https://bugs.webkit.org/show_bug.cgi?id=225222
+        <rdar://77349908>
+
+        Arbitrary alignments are not allowed in Metal. Update UBO alignment to 
+        a platform-dependant offset to match specifications.
+        Reviewed by Dean Jackson.
+
+        * src/libANGLE/renderer/metal/DisplayMtl.mm:
+        (rx::DisplayMtl::ensureCapsInitialized const):
+
+2021-04-29  Kyle Piddington  <kpiddington@apple.com>
+
+        Metal-ANGLE: Shared memory texture tests failing in iOS Simulator
+        https://bugs.webkit.org/show_bug.cgi?id=222685
+        <rdar://75001722>
+
+        Using replaceRegion to perform texture uploads on simulator causes issues on some workflows.
+        As a workaround, use a GPU-driven upload instead of a CPU driven upload. 
+        Reviewed by Kenneth Russell.
+
+        * src/libANGLE/renderer/metal/TextureMtl.mm:
+
+2021-04-29  Kyle Piddington  <kpiddington@apple.com>
+
+        [ANGLE-Metal] Fix 17 textureshadow tests
+        https://bugs.webkit.org/show_bug.cgi?id=224965
+        <rdar://77053085> 
+
+        Depth24Stencil8 copies were being incorrectly managed when dealing with D24S8 emulation.
+        Fix conversion functions 
+
+        Reviewed by Dean Jackson.
+
+        * src/libANGLE/renderer/metal/mtl_format_utils.h:
+        * src/libANGLE/renderer/metal/mtl_format_utils.mm:
+        (rx::mtl::priv::OffsetDataPointer):
+        (rx::mtl::LoadS8D24S8ToD32FX24S8):
+        (rx::mtl::DEPTH24_STENCIL8_to_D32_FLOAT_X24S8_UINT):
+        (rx::mtl::GetLoadFunctionsMap):
+        (rx::mtl::FormatTable::initialize):
+        (): Deleted.
+
+2021-04-28  Alex Christensen  <achristensen@webkit.org>
+
+        Stop building libANGLE.a
+        https://bugs.webkit.org/show_bug.cgi?id=225162
+        <rdar://problem/57349384>
+
+        Reviewed by Alexey Proskuryakov.
+
+        Now that everyone's linking against the dylib, we don't need to build the static library any more.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * Configurations/ANGLE-dynamic.xcconfig:
+        * src/empty.cpp: Removed.
+
+2021-04-28  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        ANGLE should be compiled with thread-safe statics
+        https://bugs.webkit.org/show_bug.cgi?id=224854
+
+        Reviewed by Kenneth Russell.
+
+        Compile ANGLE with normal thread-safe c++ local statics.
+        No known threading failures. Based on ad-hoc risk vs benefit
+        evaluation of today and after future merges, it appears
+        better to err in the side of caution.
+
+        * Configurations/Base.xcconfig:
+
+2021-04-26  Alex Christensen  <achristensen@webkit.org>
+
+        Update Mac-specific CMake files
+        https://bugs.webkit.org/show_bug.cgi?id=225064
+
+        Rubber-stamped by Tim Horton.
+
+        * PlatformMac.cmake:
+
+2021-04-25  Kyle Piddington  <kpiddington@apple.com>
+
+        [Metal ANGLE] support primitive restart behavior with simple data types
+        https://bugs.webkit.org/show_bug.cgi?id=225011
+
+        Primitive restart behavior for simple data types is not defined in Metal. Add a pre-draw pass to 
+        create a set of restart indices, rather than re-write the index buffer. This pass avoids 
+        storing more copies of the index buffer: instead, we cache the location of restart indices, and
+        use them to build draw lists.
+ 
+        Reviewed by Dean Jackson.
+
+        * src/libANGLE/renderer/metal/BufferMtl.h:
+        * src/libANGLE/renderer/metal/BufferMtl.mm:
+        (rx::IndexConversionBufferMtl::IndexConversionBufferMtl):
+        (rx::BufferMtl::markConversionBuffersDirty):
+        (rx::calculateRestartRanges):
+        (rx::BufferMtl::getRestartIndices):
+        * src/libANGLE/renderer/metal/ContextMtl.h:
+        * src/libANGLE/renderer/metal/ContextMtl.mm:
+        (rx::ContextMtl::drawLineLoopElements):
+        (rx::ContextMtl::drawElementsImpl):
+        (rx::ContextMtl::drawElementsSimpleTypesPrimitiveRestart): Deleted.
+        * src/libANGLE/renderer/metal/VertexArrayMtl.h:
+        * src/libANGLE/renderer/metal/VertexArrayMtl.mm:
+        (rx::VertexArrayMtl::getIndexBuffer):
+        (rx::VertexArrayMtl::getDrawIndices):
+        (rx::VertexArrayMtl::convertIndexBuffer):
+        (rx::VertexArrayMtl::streamIndexBufferFromClient):
+
+2021-04-25  John Cunningham  <johncunningham@apple.com>
+
+        [Metal ANGLE] Temporarily remove AST validation even for debug builds
+        https://bugs.webkit.org/show_bug.cgi?id=224991
+        rdar://76299178
+ 
+        Reviewed by Kenneth Russell.
+
+        * src/libANGLE/renderer/metal/ShaderMtl.mm:
+        (rx::ShaderMtl::compileImplMtl):
+
+2021-04-25  Kyle Piddington  <kpiddington@apple.com>
+
+        [Metal ANGLE] Select proper IOSurface backing format for WebGL environment
+        https://bugs.webkit.org/show_bug.cgi?id=224948
+        <rdar://76284889>
+
+        Depending on the architecture, WebCore expects different 
+        IOSurface texture targets for the main buffer. When running catalyst on 
+        Arm64 devices, Metal-ANGLE needs to select the TEXTURE_2D texture target for our
+        IOSurface/Pbuffer bind point, rather than TEXTURE_RECTANGLE.
+
+	Reviewed by Dean Jackson.
+
+        * src/libANGLE/renderer/metal/DisplayMtl.h:
+        * src/libANGLE/renderer/metal/DisplayMtl.mm:
+        (rx::needsEAGLOnMac):
+        (rx::DisplayMtl::EGLDrawingBufferTextureTarget):
+        (rx::DisplayMtl::generateConfigs):
+
+2021-04-23  Truitt Savell  <tsavell@apple.com>
+
+        Unreviewed, reverting r276190.
+
+        broke a test internally.
+
+        Reverted changeset:
+
+        "Metal-ANGLE: Shared memory texture tests failing in iOS
+        Simulator"
+        https://bugs.webkit.org/show_bug.cgi?id=222685
+        https://commits.webkit.org/r276190
+
+2021-04-22  Lauro Moura  <lmoura@igalia.com>
+
+        [CMake][ANGLE] Silence -Wreturn-type for gcc and clang
+        https://bugs.webkit.org/show_bug.cgi?id=224949
+
+        Reviewed by Don Olmstead.
+
+        Avoid "control reaches end of non-void function" in
+        sh::TIntermRebuild::traverseChildren(...)
+
+        * CMakeLists.txt:
+
+2021-04-22  Philippe Normand  <pnormand@igalia.com>
+
+        Unreviewed, WPE build fix after r276390
+
+        Fix namespacing issues in nullptr_t invocations.
+
+        * src/compiler/translator/tree_util/IntermRebuild.cpp:
+        (sh::TIntermRebuild::BaseResult::BaseResult):
+        (sh::PreResult::PreResult):
+        (sh::PostResult::PostResult):
+        * src/compiler/translator/tree_util/IntermRebuild.h:
+
+2021-04-21  Don Olmstead  <don.olmstead@sony.com>
+
+        [Python 3] Update gni-to-cmake.py
+        https://bugs.webkit.org/show_bug.cgi?id=224880
+
+        Reviewed by Kenneth Russell.
+
+        Update gni-to-cmake.py to run on Python 3. Added ArgumentParser support to be able to run
+        the script on Windows since the script assumed it would be called through a UNIX style
+        shell.
+
+        Ran the .gni files through the converter to verify output. It appears that the
+        Compiler.cmake file wasn't generated in the last update to ANGLE so it has many changes.
+
+        * Compiler.cmake:
+        * D3D.cmake:
+        * gni-to-cmake.py:
+
+2021-04-21  Don Olmstead  <don.olmstead@sony.com>
+
+        [CMake] Add OpenGLES2 targets
+        https://bugs.webkit.org/show_bug.cgi?id=224786
+
+        Reviewed by Adrian Perez de Castro.
+
+        Add an ALIAS target mapping ANGLE's GLESv2 target to OpenGL::GLES if the target is not
+        already present. This is the case for Windows which uses ANGLE as its sole OpenGL ES
+        implementation.
+
+        * CMakeLists.txt:
+
+2021-04-20  Alex Christensen  <achristensen@webkit.org>
+
+        MacCatalyst ANGLE is linked with @loader_path/../../../libANGLE-shared.dylib
+        https://bugs.webkit.org/show_bug.cgi?id=224602
+
+        Reviewed by Alexey Proskuryakov.
+
+        * Configurations/ANGLE-dynamic.xcconfig:
+
+2021-04-19  Alex Christensen  <achristensen@webkit.org>
+
+        Build ANGLE dylib into WK_OVERRIDE_FRAMEWORKS_DIR in builds that use it
+        https://bugs.webkit.org/show_bug.cgi?id=224785
+        <rdar://76641662>
+
+        Reviewed by Alexey Proskuryakov.
+
+        * Configurations/ANGLE-dynamic.xcconfig:
+
+2021-04-16  Kyle Piddington  <kpiddington@apple.com>
+
+        Metal-ANGLE: Shared memory texture tests failing in iOS Simulator
+        https://bugs.webkit.org/show_bug.cgi?id=222685
+
+        Reviewed by Dean Jackson.
+
+        Simulator-only path drives filling textures via Blit encoders instead of mapped memory.
+        This workaround fixes dropped texture writes when using replaceRegion
+
+        * src/libANGLE/renderer/metal/TextureMtl.mm:
+        * src/libANGLE/renderer/metal/mtl_utils.mm:
+        (rx::mtl::InitializeTextureContents):
+
+2021-04-15  Alex Christensen  <achristensen@webkit.org>
+
+        Use kIOMainPortDefault where available
+        https://bugs.webkit.org/show_bug.cgi?id=224632
+
+        Reviewed by Alexey Proskuryakov.
+
+        In ANGLE we don't include WTF headers, so we can't use the HAVE macro like we do elsewhere in WebKit,
+        but this is pretty close.
+
+        * src/gpu_info_util/SystemInfo_macos.mm:
+        (angle::GetVendorIDFromMetalDeviceRegistryID):
+
+2021-04-15  Alex Christensen  <achristensen@webkit.org>
+
+        Add deprecation macros
+        https://bugs.webkit.org/show_bug.cgi?id=224624
+
+        * src/gpu_info_util/SystemInfo_macos.mm:
+        (angle::GetVendorIDFromMetalDeviceRegistryID):
+
+2021-04-12  Dean Jackson  <dino@apple.com>
+
+        REGRESSION (Metal ANGLE): [Catalina] 6 consistent WebGL failures / timeouts
+        https://bugs.webkit.org/show_bug.cgi?id=224016
+        <rdar://problem/76070325>
+
+        Patch by John Cunningham <johncunnigham@apple.com>
+        Reviewed by Dean Jackson.
+
+        Implement a workaround for Intel GPUs where we explicitly type cast floating
+        point values to booleans. This is only needed for Catalina systems.
+
+        * include/GLSLANG/ShaderLang.h:
+        * include/platform/FeaturesMtl.h:
+        * src/compiler/translator/TranslatorMetalDirect.cpp:
+        (sh::TranslatorMetalDirect::translateImpl):
+        * src/compiler/translator/TranslatorMetalDirect/AddExplicitTypeCasts.cpp:
+        (sh::Rewriter::Rewriter):
+        (sh::AddExplicitTypeCasts):
+        * src/compiler/translator/TranslatorMetalDirect/AddExplicitTypeCasts.h:
+        * src/compiler/translator/TranslatorMetalDirect/AstHelpers.cpp:
+        (sh::SubVector):
+        (sh::CoerceSimple):
+        * src/compiler/translator/TranslatorMetalDirect/AstHelpers.h:
+        * src/libANGLE/renderer/metal/DisplayMtl.mm:
+        (rx::DisplayMtl::initializeFeatures):
+        * src/libANGLE/renderer/metal/ShaderMtl.mm:
+        (rx::ShaderMtl::compile):
+
+2021-04-12  Kyle Piddington  <kpiddington@apple.com>
+
+        Crash in webgl/2.0.y/conformance/glsl/misc/uninitialized-local-global-variables.html ANGLE+METAL
+        https://bugs.webkit.org/show_bug.cgi?id=223923
+	
+        Anonymous structs require a name in MSL, add a default name ANGLE__unnamed$id to any structs.
+        Also add a unit test to ensure this works.
+        Reviewed by Kenneth Russell.
+
+        * src/compiler/translator/TranslatorMetalDirect.cpp:
+        (sh::TranslatorMetalDirect::translateImpl):
+        * src/compiler/translator/TranslatorMetalDirect/SeparateCompoundStructDeclarations.cpp:
+        (sh::Separator::Separator):
+        (sh::SeparateCompoundStructDeclarations):
+        * src/compiler/translator/TranslatorMetalDirect/SeparateCompoundStructDeclarations.h:
+        * src/tests/BUILD.gn:
+        * src/tests/angle_unittests.gni:
+        * src/tests/compiler_tests/MSLOutput_Test.cpp:
+
+2021-04-08  Kyle Piddington  <kpiddington@apple.com>
+
+        [Metal-ANGLE] Support GPU power preferences, select low-power GPU by default.
+        Respond to GPU power preference flags, expose extension, and avoid creating a high-powered GPU by default.
+        https://bugs.webkit.org/show_bug.cgi?id=224337
+
+        Reviewed by Dean Jackson.
+
+        * src/libANGLE/renderer/metal/DisplayMtl.h:
+        * src/libANGLE/renderer/metal/DisplayMtl.mm:
+        (rx::DisplayMtl::initializeImpl):
+        (rx::DisplayMtl::getMetalDeviceMatchingAttribute):
+        (rx::DisplayMtl::generateExtensions const):
+
+2021-04-07  Kyle Piddington  <kpiddington@apple.com>
+
+        Crash in conformance2/textures/misc/compressed-tex-image.html with ANGLE+METAL
+        Handle uploading a compressed texture with a non-aligned offset. Path requires that we still fill the entire level of a 
+        compressed texture.
+        https://bugs.webkit.org/show_bug.cgi?id=223925
+
+        Reviewed by Dean Jackson.
+
+        * src/libANGLE/renderer/metal/TextureMtl.mm:
+        (rx::TextureMtl::convertAndSetPerSliceSubImage):
+
+2021-04-07  John Cunningham  <johncunnigham@apple.com>
+
+        [METAL ANGLE] Interface block declerations need to have children marked as struct accesses. Add implicit backing textures for multisample render targets
+        https://bugs.webkit.org/show_bug.cgi?id=224265
+
+        Reviewed by Dean Jackson.
+
+        * src/compiler/translator/TranslatorMetalDirect/ReduceInterfaceBlocks.cpp:
+        * src/libANGLE/renderer/metal/FrameBufferMtl.h:
+        * src/libANGLE/renderer/metal/FrameBufferMtl.mm:
+        (rx::FramebufferMtl::setLoadStoreActionOnRenderPassFirstStart):
+        (rx::FramebufferMtl::onStartedDrawingToFrameBuffer):
+        * src/libANGLE/renderer/metal/RenderBufferMtl.mm:
+        (rx::RenderbufferMtl::setStorageImpl):
+
+2021-04-05  Alex Christensen  <achristensen@webkit.org>
+
+        Resurrect Mac CMake build
+        https://bugs.webkit.org/show_bug.cgi?id=224084
+
+        Reviewed by Tim Horton.
+
+        * PlatformMac.cmake: Added.
+
+2021-04-05  John Cunningham  <johncunnigham@apple.com>
+
+        [METAL ANGLE] Stencil only formats being used as the depth attachment.
+        https://bugs.webkit.org/show_bug.cgi?id=224183
+
+        Reviewed by Jon Lee.
+
+        * src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:
+        * src/compiler/translator/TranslatorMetalDirect/RewriteOutArgs.cpp:
+        (sh::Rewriter::argAlreadyProcessed):
+        * src/libANGLE/renderer/metal/ContextMtl.mm:
+        (rx::ContextMtl::setupDraw):
+        * src/libANGLE/renderer/metal/mtl_command_buffer.h:
+        * src/libANGLE/renderer/metal/mtl_command_buffer.mm:
+        (rx::mtl::RenderCommandEncoder::reset):
+        (rx::mtl::RenderCommandEncoder::setRenderPipelineState):
+        (rx::mtl::RenderCommandEncoder::draw):
+        (rx::mtl::RenderCommandEncoder::drawInstanced):
+        (rx::mtl::RenderCommandEncoder::drawIndexed):
+        (rx::mtl::RenderCommandEncoder::drawIndexedInstanced):
+        (rx::mtl::RenderCommandEncoder::drawIndexedInstancedBaseVertex):
+        * src/libANGLE/renderer/metal/mtl_utils.mm:
+        (rx::mtl::InitializeDepthStencilTextureContentsGPU):
+
+2021-03-30  Kyle Piddington  <kpiddington@apple.com>
+
+        Enable sample_compare operations in Metal ANGLE
+        Sample_compare operations, and shadow sampling was accidently switched off when initially
+        setting up ANGLE_Metal. Enabling shadow sampling fixes most of the 
+        webgl/2.0.0/deqp/functional/gles3/textureshadow/ test suite, which is currently failing.
+
+        https://bugs.webkit.org/show_bug.cgi?id=223833
+
+        Reviewed by Jon Lee.
+
+        * src/libANGLE/renderer/metal/DisplayMtl.mm:
+        (rx::DisplayMtl::initializeFeatures):
+
+2021-03-26  Jessie Berlin  <jberlin@webkit.org>
+
+        Update the BEFORE/SINCE, SYSTEM_VERSION_PREFIX, and MACOSX_DEPLOYMENT_TARGET flags
+        https://bugs.webkit.org/show_bug.cgi?id=223779
+
+        Reviewed by Tim Horton.
+
+        * Configurations/DebugRelease.xcconfig:
+        * Configurations/Version.xcconfig:
+        * Configurations/WebKitTargetConditionals.xcconfig:
+
+2021-03-25  Kyle Piddington  <kpiddington@apple.com>
+
+        ANGLE Metal crash ASAN webgl/1.0.3/conformance/misc/object-deletion-behaviour.html
+        https://bugs.webkit.org/show_bug.cgi?id=223739
+
+        Reviewed by Dean Jackson.
+
+        Previously, ANGLE would try to read color attachments off of the
+        cached render targets. However, since validation happens before
+        state sync, the cached render targets may be out of date.
+
+        For non-surface backed render targets, we instead get a fresh copy
+        of the render target when determening the native pixel format.
+
+        * src/libANGLE/renderer/metal/FrameBufferMtl.h:
+        * src/libANGLE/renderer/metal/FrameBufferMtl.mm:
+        (rx::FramebufferMtl::getImplementationColorReadFormat const):
+        (rx::FramebufferMtl::getColorReadRenderTargetNoCache const):
+
+
+2021-03-25  Kyle Piddington  <kpiddington@apple.com>
+
+        [Metal ANGLE] Add CPU mipmap generation for workaround on Intel devices.
+        https://bugs.webkit.org/show_bug.cgi?id=223778
+
+        Reviewed by Dean Jackson.
+
+        Mipmap generation on Intel does not reliably work for textures with
+        width less than four. To reliably pass webGL conformance, we need
+        to switch to CPU mipmap generation when generating mipmaps in this
+        specific circumstance.
+
+        This patch fixes the following four tests on Intel
+        webgl/1.0.3/conformance/limits/gl-max-texture-dimensions.html
+        webgl/1.0.3/conformance/textures/texture-size.html
+        webgl/2.0.0/conformance/limits/gl-max-texture-dimensions.html
+        webgl/2.0.0/conformance/textures/misc/texture-size.html
+
+        * include/platform/Feature.h:
+        (angle::FeatureCategoryToString):
+        * include/platform/FeaturesMtl.h:
+        * src/libANGLE/renderer/metal/DisplayMtl.mm:
+        (rx::DisplayMtl::initializeFeatures):
+        * src/libANGLE/renderer/metal/TextureMtl.mm:
+        (rx::TextureMtl::generateMipmap):
+
+2021-03-25  Jessie Berlin  <jberlin@webkit.org>
+
+        Remove 10.13 DEPLOYMENT_TARGETs and SYSTEM_VERSION_PREFIXs
+        https://bugs.webkit.org/show_bug.cgi?id=223765
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+        * Configurations/Version.xcconfig:
+
+2021-03-24  Kyle Piddington  <kpiddington@apple.com>
+
+        Metal ANGLE non-blockers: Fix webgl/1.0.3/conformance/uniforms/uniform-default-values.html, Stencil debug layer assertions
+        https://bugs.webkit.org/show_bug.cgi?id=223667
+
+        https://bugs.webkit.org/show_bug.cgi?id=223667
+
+        On Release, uniformDefaultValues was resetting program memory
+        either early, or oddly. Since program reflection should be constant
+        per Shader anyway, drop the 'reset' after assigning reflection data.
+
+        In addition, clamp stencil rectangle to always be within framebuffer bounds. Code taken from upstream ANGLE.
+
+
+        Reviewed by Dean Jackson.
+
+        * src/libANGLE/renderer/metal/ProgramMtl.mm:
+        (rx::ProgramMtl::linkImplDirect):
+        * src/libANGLE/renderer/metal/mtl_command_buffer.mm:
+        (rx::mtl::RenderCommandEncoder::initAttachmentWriteDependencyAndScissorRect):
+        (rx::mtl::RenderCommandEncoder::restart):
+        (rx::mtl::RenderCommandEncoder::setScissorRect):
+        * src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.mm:
+        (rx::mtl::TranslatedShaderInfo::reset):
+        (rx::mtl::GlslangGetMSL):
+
+2021-03-24  Kyle Piddington  <kpiddington@apple.com>
+
+        Metal ANGLE crashes LayoutTests/inspector/canvas/updateShader-webgl.html
+        Rather than rely on an instance variable in a C++ class, just query the dictionary constant when needed.
+
+        https://bugs.webkit.org/show_bug.cgi?id=223695
+
+        Reviewed by Dean Jackson.
+
+        * src/libANGLE/renderer/metal/ProgramMtl.h:
+        * src/libANGLE/renderer/metal/ProgramMtl.mm:
+        (rx::ProgramMtl::ProgramMtl):
+        (rx::ProgramMtl::linkImplSpirv):
+        (rx::ProgramMtl::linkImplDirect):
+        (rx::ProgramMtl::linkTranslatedShaders):
+
+2021-03-23  Kyle Piddington  <kpiddington@apple.com>
+
+        ANGLE Metal fixes for program generation bugs
+        https://bugs.webkit.org/show_bug.cgi?id=223627
+
+        Reviewed by Dean Jackson.
+
+           webgl/2.0.0/conformance2/glsl3/texture-offset-uniform-texture-coordinate.html is fixed by dropping 'thread' qualifiers on pregenerated functions
+           webgl/2.0.0/conformance/glsl/bugs/compound-assignment-type-combination.html is fixed by introducing new operators for matrix +/- scalars
+           webgl/2.0.0/conformance/glsl/bugs/complex-glsl-does-not-crash.html is fixed by adding a pre-pass to rename any reserved keywords, such as 'vertex'
+
+        * src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
+        (BuildExternalAttributeIndexMap):
+        * src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:
+        * src/compiler/translator/TranslatorMetalDirect/RewriteKeywords.cpp:
+        (sh::Rewriter::maybeCreateNewName):
+        (sh::Rewriter::visitSymbolPost):
+        (sh::Rewriter::predefineName):
+        (sh::RewriteKeywords):
+
+2021-03-23  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        ANGLE is missing the explicit context headers
+        https://bugs.webkit.org/show_bug.cgi?id=223470
+
+        Reviewed by Alexey Proskuryakov.
+
+        Add the autogenerated .inc files for explicit context
+        API into the ANGLE public headers.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * adjust-angle-include-paths.py:
+        (replace):
+
+2021-03-19  Kyle Piddington  <kpiddington@apple.com>
+
+        Metal-Angle on Simulator does not support D24S8 correctly
+        https://bugs.webkit.org/show_bug.cgi?id=223494
+
+        Reviewed by Dean Jackson.
+
+        Re-ran autogen script for format table to add the missing format
+        Corrected texture swizzle support. Swizzle is unsupported on simulator.
+
+        * src/libANGLE/renderer/metal/mtl_format_table_autogen.mm:
+        (rx::mtl::Format::init):
+
+2021-03-19  Alex Christensen  <achristensen@webkit.org>
+
+        libANGLE-shared.dylib needs INSTALL_PATH when building Catalyst roots
+        https://bugs.webkit.org/show_bug.cgi?id=223499
+
+        Reviewed by Dean Jackson.
+
+        INSTALL_PATH was empty, so no dylib was being included in the root.
+        This is needed to fix the Catalyst build after bug 218539
+
+        * Configurations/ANGLE-dynamic.xcconfig:
+
+2021-03-06  Dean Jackson  <dino@apple.com>
+
+        Metal-ANGLE can ASSERT because MTL signal event code is compiled out
+        https://bugs.webkit.org/show_bug.cgi?id=222859
+        <rdar://problem/75132180>
+
+        Reviewed by Ken Russell.
+
+        With the Metal backend enabled, the test
+        webgl/2.0.0/conformance2/state/gl-object-get-calls.html will
+        occasionally crash in mtl_command_buffer when it hits unreachable
+        code because ANGLE_MTL_EVENT_AVAILABLE hasn't been defined. This is
+        available on macOS 10.14 and above, so should be enabled.
+
+        At the same time, it doesn't make sense to call the method that has
+        unreachable code, so guard against that in mtl_command_buffer.
+
+        * src/libANGLE/renderer/metal/mtl_command_buffer.mm:
+        (rx::mtl::CommandBuffer::setPendingEvents):
+        * src/libANGLE/renderer/metal/mtl_common.h: Define ANGLE_MTL_EVENT_AVAILABLE.
+
+2021-03-18  Kyle Piddington  <kpiddington@apple.com>
+
+        'MTLLanguageVersion1_0' is unavailable on Catalyst
+        https://bugs.webkit.org/show_bug.cgi?id=223392
+
+        Reviewed by Jon Lee.
+
+        Disable switch case in catalyst builds
+
+        * src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
+        (GetOperatorString):
+        * src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:
+        * src/libANGLE/renderer/metal/FrameBufferMtl.mm:
+        (rx::FramebufferMtl::readPixels):
+        * src/libANGLE/renderer/metal/mtl_utils.mm:
+        (rx::mtl::GetUserSetOrHighestMSLVersion):
+
+2021-03-17  Kyle Piddington  <kpiddington@apple.com>
+
+        ANGLE Metal fixups for program generation, readPixels
+        https://bugs.webkit.org/show_bug.cgi?id=223260
+
+        Reviewed by Dean Jackson.
+
+        This diff fixes the following tests:
+        webgl/2.0.0/conformance2/glsl3/texture-offset-uniform-texture-coordinate.html Is fixed by dropping 'thread' qualifiers on our intermediate texture sampling helper functions. Previously, any uniforms used in sampling textures would have had issues with their namespace.
+        webgl/2.0.0/conformance2/reading/read-pixels-pack-parameters.html is fixed by correcting an issue with reading from outside the framebuffer. ANGLE Metal was previously reading to the start of the output array, rather than a proper offset.
+        webgl/2.0.0/conformance2/glsl3/array-equality.html is fixed by adding additional equality functions for handling arrays of structs.
+
+        * src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
+        (GetOperatorString):
+        * src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:
+        * src/libANGLE/renderer/metal/FrameBufferMtl.mm:
+        (rx::FramebufferMtl::readPixels):
+
+2021-03-16  Kyle Piddington  <kpiddington@apple.com>
+
+        Regressions from ANGLE Metal enablement
+        https://bugs.webkit.org/show_bug.cgi?id=222239
+        
+        This patch addressed several large bits of funcitonality that was missing from the original patch.
+        1) Introduce support for UBO's. This patch adds a DEQP-conformant implementation for UBO structs. This includes changes to the translator,
+and the frontend.
+        2) Introduce support for Transform feedback to the translator. We use a series of substitution macros at program link time to produce a transform-feedback varient shader, and use a vertex pre-pass to emulate transform feedback.
+        3) Various fixes to handle a few webgl2 asserts, such as large uniform buffers. This change  (in ProgramMtl.mm) will reserve a uniform buffer of twice the normal size (4kb) if the program uniforms exceed that limit. (Fixes webgl/2.0.0/conformance/glsl/bugs/complex-glsl-does-not-crash.html webgl/2.0.0/conformance/glsl/misc/shader-with-too-many-uniforms.html webgl/2.0.0/conformance/uniforms/gl-uniform-arrays.html)
+
+        Reviewed by Jon Lee.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * include/platform/FeaturesMtl.h:
+        * src/compiler.gni:
+        * src/compiler/translator/BaseTypes.h:
+        (sh::getQualifierString):
+        * src/compiler/translator/TranslatorMetalDirect.cpp:
+        (sh::TranslatorMetalDirect::insertSampleMaskWritingLogic):
+        (sh::metalShaderTypeFromGLSL):
+        (sh::TranslatorMetalDirect::translateImpl):
+        (sh::TranslatorMetalDirect::translate):
+        * src/compiler/translator/TranslatorMetalDirect.h:
+        (sh::TranslatorMetalReflection::TranslatorMetalReflection):
+        (sh::TranslatorMetalReflection::addUserUniformBufferBinding):
+        (sh::TranslatorMetalReflection::addUniformBufferBinding):
+        (sh::TranslatorMetalReflection::getUserUniformBufferBindings const):
+        (sh::TranslatorMetalReflection::getUserUniformBufferBinding const):
+        (sh::TranslatorMetalReflection::getUniformBufferBinding const):
+        (sh::TranslatorMetalReflection::reset):
+        * src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
+        (GenMetalTraverser::~GenMetalTraverser):
+        (GenMetalTraverser::emitOpeningPointerParen):
+        (GenMetalTraverser::emitClosingPointerParen):
+        (GetOperatorString):
+        (GenMetalTraverser::emitPostQualifier):
+        (GenMetalTraverser::emitType):
+        (GenMetalTraverser::emitFieldDeclaration):
+        (GenMetalTraverser::emitAttributeDeclaration):
+        (GenMetalTraverser::emitUniformBufferDeclaration):
+        (GenMetalTraverser::emitStructDeclaration):
+        (GenMetalTraverser::emitOrdinaryVariableDeclaration):
+        (GenMetalTraverser::visitSymbol):
+        (GenMetalTraverser::visitBinary):
+        (GenMetalTraverser::emitFunctionSignature):
+        (GenMetalTraverser::emitFunctionReturn):
+        (GenMetalTraverser::emitFunctionParameter):
+        (GenMetalTraverser::visitFunctionDefinition):
+        (GenMetalTraverser::visitAggregate):
+        (RequiresSemicolonTerminator):
+        (GenMetalTraverser::visitBlock):
+        (GenMetalTraverser::visitBranch):
+        * src/compiler/translator/TranslatorMetalDirect/FixTypeConstructors.cpp:
+        * src/compiler/translator/TranslatorMetalDirect/IntroduceVertexIndexID.cpp: Added.
+        (sh::Rewriter::Rewriter):
+        (sh::IntroduceVertexAndInstanceIndex):
+        * src/compiler/translator/TranslatorMetalDirect/IntroduceVertexIndexID.h: Added.
+        * src/compiler/translator/TranslatorMetalDirect/Layout.cpp:
+        * src/compiler/translator/TranslatorMetalDirect/Layout.h:
+        * src/compiler/translator/TranslatorMetalDirect/ModifyStruct.cpp:
+        (sh::TryCreateModifiedStruct):
+        * src/compiler/translator/TranslatorMetalDirect/ModifyStruct.h:
+        * src/compiler/translator/TranslatorMetalDirect/Pipeline.cpp:
+        (Pipeline::uses const):
+        (Pipeline::getStructTypeName const):
+        (Pipeline::getStructInstanceName const):
+        (AllowPacking):
+        (AllowPadding):
+        (SaturateVectorOf):
+        (Pipeline::externalStructModifyConfig const):
+        (Pipeline::alwaysRequiresLocalVariableDeclarationInMain const):
+        (Pipeline::isPipelineOut const):
+        (Pipeline::externalAddressSpace const):
+        (PipelineStructs::matches const):
+        * src/compiler/translator/TranslatorMetalDirect/Pipeline.h:
+        (sh::PipelineScoped::matches const):
+        * src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:
+        (sh::ProgramPrelude::ProgramPrelude):
+        * src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.h:
+        (sh::ProgramPreludeConfig::ProgramPreludeConfig):
+        * src/compiler/translator/TranslatorMetalDirect/ReduceInterfaceBlocks.cpp:
+        (sh::Reducer::Reducer):
+        * src/compiler/translator/TranslatorMetalDirect/RewritePipelines.cpp:
+        (sh::GeneratePipelineStruct::exec):
+        (sh::GeneratePipelineStruct::createInternalPipelineStruct):
+        (sh::PipelineFunctionEnv::getUpdatedFunction):
+        (sh::RewritePipelines):
+        * src/compiler/translator/TranslatorMetalDirect/SymbolEnv.cpp:
+        (SymbolEnv::removeSpace):
+        (SymbolEnv::removePointer):
+        (SymbolEnv::markAsUBO):
+        (SymbolEnv::isUBO const):
+        * src/compiler/translator/TranslatorMetalDirect/SymbolEnv.h:
+        * src/compiler/translator/tree_ops/NameNamelessUniformBuffers.cpp: Added.
+        (sh::NameNamelessUniformBuffers):
+        * src/compiler/translator/tree_ops/NameNamelessUniformBuffers.h: Added.
+        * src/compiler/translator/util.cpp:
+        (sh::IsBuiltinOutputVariable):
+        * src/libANGLE/renderer/gl/cgl/ContextCGL.cpp:
+        * src/libANGLE/renderer/metal/BufferMtl.h:
+        * src/libANGLE/renderer/metal/BufferMtl.mm:
+        (rx::IndexConversionBufferMtl::IndexConversionBufferMtl):
+        (rx::IndexConversionBufferMtl::getRangeForConvertedBuffer):
+        * src/libANGLE/renderer/metal/ContextMtl.h:
+        * src/libANGLE/renderer/metal/ContextMtl.mm:
+        (rx::ContextMtl::handleDirtyDriverUniforms):
+        (rx::ContextMtl::handleDirtyGraphicsTransformFeedbackBuffersEmulation):
+        (rx::ContextMtl::handleDirtyDepthBias):
+        * src/libANGLE/renderer/metal/DisplayMtl.mm:
+        (rx::DisplayMtl::getMaxSupportedESVersion const):
+        (rx::DisplayMtl::generateConfigs):
+        (rx::DisplayMtl::ensureCapsInitialized const):
+        (rx::DisplayMtl::initializeFeatures):
+        (rx::DisplayMtl::initializeShaderLibrary):
+        * src/libANGLE/renderer/metal/FrameBufferMtl.h:
+        * src/libANGLE/renderer/metal/ProgramMtl.h:
+        (rx::ProgramMtl::createMslShaderLib):
+        (rx::ProgramMtl::getXfbBindings const):
+        (rx::ProgramMtl::getTranslatedShaderSource const):
+        (rx::ProgramMtl::getXfbMslSource const): Deleted.
+        * src/libANGLE/renderer/metal/ProgramMtl.mm:
+        (rx::ProgramMtl::ProgramMtl):
+        (rx::ProgramMtl::destroy):
+        (rx::ProgramMtl::reset):
+        (rx::ProgramMtl::saveTranslatedShaders):
+        (rx::ProgramMtl::loadTranslatedShaders):
+        (rx::ProgramMtl::linkImplSpirv):
+        (rx::ProgramMtl::linkImplDirect):
+        (rx::ProgramMtl::linkImpl):
+        (rx::ProgramMtl::linkTranslatedShaders):
+        (rx::ProgramMtl::getBufferPool):
+        (rx::ProgramMtl::resizeDefaultUniformBlocksMemory):
+        (rx::ProgramMtl::getSpecializedShader):
+        (rx::ProgramMtl::createMslShaderLib):
+        (rx::ProgramMtl::commitUniforms):
+        * src/libANGLE/renderer/metal/QueryMtl.h:
+        * src/libANGLE/renderer/metal/RenderBufferMtl.mm:
+        (rx::RenderbufferMtl::setStorageImpl):
+        * src/libANGLE/renderer/metal/RenderTargetMtl.mm:
+        (rx::RenderTargetMtl::setWithImplicitMSTexture):
+        (rx::RenderTargetMtl::reset):
+        * src/libANGLE/renderer/metal/ShaderMtl.mm:
+        (rx::ShaderMtl::compile):
+        * src/libANGLE/renderer/metal/SurfaceMtl.mm:
+        (rx::WindowSurfaceMtl::initialize):
+        * src/libANGLE/renderer/metal/TextureMtl.mm:
+        (rx::TextureMtl::ensureSamplerStateCreated):
+        (rx::TextureMtl::setPerSliceSubImage):
+        (rx::TextureMtl::initializeContents):
+        * src/libANGLE/renderer/metal/TransformFeedbackMtl.mm:
+        * src/libANGLE/renderer/metal/VertexArrayMtl.mm:
+        (rx::VertexArrayMtl::getIndexBuffer):
+        * src/libANGLE/renderer/metal/mtl_common.h:
+        * src/libANGLE/renderer/metal/mtl_constants.h:
+        * src/libANGLE/renderer/metal/mtl_format_map.json:
+        * src/libANGLE/renderer/metal/mtl_format_table_autogen.mm:
+        (rx::mtl::Format::init):
+        * src/libANGLE/renderer/metal/mtl_format_utils.mm:
+        (rx::mtl::FormatTable::initialize):
+        * src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.h:
+        * src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.mm:
+        (rx::mtl::updateShaderAttributes):
+        (rx::mtl::SubstituteTransformFeedbackMarkers):
+        (rx::mtl::GenerateTransformFeedbackVaryingOutput):
+        (rx::mtl::GenerateTransformFeedbackEmulationOutputs):
+        (rx::mtl::getReflectionFromCompiler):
+        (rx::mtl::GlslangGetMSL):
+        * src/libANGLE/renderer/metal/mtl_render_utils.mm:
+        (rx::mtl::TransformFeedbackUtils::createMslXfbLibrary):
+        (rx::mtl::TransformFeedbackUtils::getTransformFeedbackRenderPipeline):
+        * src/libANGLE/renderer/metal/mtl_resources.h:
+        * src/libANGLE/renderer/metal/mtl_resources.mm:
+        (rx::mtl::Texture::Texture):
+        * src/libANGLE/renderer/metal/mtl_state_cache.mm:
+        (rx::mtl::SamplerDesc::SamplerDesc):
+        (rx::mtl::SamplerDesc::reset):
+        (rx::mtl::RenderPipelineCache::RenderPipelineCache):
+        (rx::mtl::RenderPipelineCache::createRenderPipelineState):
+        * src/libANGLE/renderer/metal/mtl_utils.h:
+        * src/libANGLE/renderer/metal/mtl_utils.mm:
+        (rx::mtl::GetUserSetOrHighestMSLVersion):
+        (rx::mtl::CreateShaderLibrary):
+        (rx::mtl::GetHighestSupportedMSLVersion): Deleted.
+        * src/libANGLE/renderer/metal/shaders/blit.metal:
+        * src/libANGLE/renderer/metal/shaders/format_autogen.h:
+        * src/libANGLE/renderer/metal/shaders/mtl_default_shaders_src_autogen.inc:
+
+2021-03-03  Kyle Piddington  <kpiddington@apple.com>
+
+        Support Depth24_Stencil8 simulation in the MTLSimulator
+        https://bugs.webkit.org/show_bug.cgi?id=222624
+
+        Reviewed by Dean Jackson.
+
+        Fixes the following tests:
+        fast/canvas/webgl/context-creation-attributes.html
+        fast/canvas/webgl/webgl-depth-texture.html
+        webgl/1.0.3/conformance/misc/webgl-specific.html
+        webgl/1.0.3/conformance/renderbuffers/framebuffer-object-attachment.html
+
+        * src/libANGLE/renderer/metal/mtl_format_map.json:
+        * src/libANGLE/renderer/metal/mtl_format_table_autogen.mm:
+        (rx::mtl::Format::init):
+
+2021-02-26  Kyle Piddington  <kpiddington@apple.com>
+
+        Support  fast/canvas/webgl/copyBufferSubData.html, fix bugs in fast/canvas/webgl/getBufferSubData-webgl1.html in Metal ANGLE on Simulator
+        https://bugs.webkit.org/show_bug.cgi?id=222508
+
+        Reviewed by Dean Jackson.
+
+        * src/libANGLE/renderer/metal/BufferMtl.mm:
+        (rx::BufferMtl::unmap):
+        * src/libANGLE/renderer/metal/DisplayMtl.mm:
+        (rx::DisplayMtl::getMaxSupportedESVersion const):
+
+2021-02-26  Kyle Piddington  <kpiddington@apple.com>
+
+        Fix iOS simulator crashes due to unsupported simulator pixel formats: r8Unorm_srgb, a1bgr5Unorm, b5g6r5Unorm, abgr4Unorm, bgr5A1Unorm, and program generation asserts.
+
+        iOS Simulator doesn't support the following packed 16 bit formats natively. While some of these can be emulated, we should fix up the crashing cases first.
+
+        Also fix up program generation issues for void fragment shaders
+
+        Disable support for PVRTC temporarily, as Non-square / NPOT PVRTC textures are not supported nativley on metal.
+
+        https://bugs.webkit.org/show_bug.cgi?id=222458
+
+        Reviewed by Dean Jackson.
+
+        * src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
+        (GenMetalTraverser::emitStructDeclaration):
+        (GenMetalTraverser::emitFunctionReturn):
+        (GenMetalTraverser::emitFunctionParameter):
+        * src/compiler/translator/TranslatorMetalDirect/Pipeline.cpp:
+        (PipelineStructs::matches const):
+        * src/compiler/translator/TranslatorMetalDirect/Pipeline.h:
+        (sh::PipelineScoped::matches const):
+        * src/libANGLE/renderer/metal/TextureMtl.mm:
+        (rx::TextureMtl::setPerSliceSubImage):
+        * src/libANGLE/renderer/metal/gen_mtl_format_table.py:
+        * src/libANGLE/renderer/metal/mtl_format_map.json:
+        * src/libANGLE/renderer/metal/mtl_format_table_autogen.mm:
+        (rx::mtl::Format::init):
+        (rx::mtl::VertexFormat::init):
+        (rx::mtl::FormatTable::initNativeFormatCapsAutogen):
+        * src/libANGLE/renderer/metal/mtl_format_utils.mm:
+        (rx::mtl::FormatTable::initialize):
+        * src/libANGLE/renderer/metal/mtl_resources.mm:
+        (rx::mtl::Texture::Make2DTexture):
+        (rx::mtl::Texture::MakeTexture):
+
+2021-02-26  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        Textures Fail to Render in WebGL from HLS Stream on iPhone 12 [iOS 14.2]
+        https://bugs.webkit.org/show_bug.cgi?id=218637
+        <rdar://problem/71102126>
+
+        Reviewed by Kenneth Russell.
+
+        Remove incorrect validation that IOSurface pixel format matches
+        the pixel format of the texture image being specified.
+
+        The "Element" in IOSurface is a block of pixels, while the validation assumed
+        it means one pixel. The validation failed for a compressed format.
+
+        Currently we map non-public YUV formats, to which there is no elequent way
+        of implementing the validation.
+        Most likely this started to reproduce if IOSurfaceGetBytesPerElementOfPlane
+        was changed to produce correct results for the above YUV format.
+
+        Later commits could add the validation back for formats that we know the
+        pixel format type.
+
+        * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:
+        (rx::IOSurfaceSurfaceEAGL::validateAttributes):
+
+2021-02-25  Kyle Piddington  <kpiddington@apple.com>
+
+        Fix crashes in fast/canvas/webgl/texImage video tests
+        Refactor IOSurfaceSurfaceMtl to match open source implementation.
+        Additional cleanup
+
+        https://bugs.webkit.org/show_bug.cgi?id=222331
+
+        Reviewed by Dean Jackson.
+
+
+        * src/libANGLE/renderer/metal/ContextMtl.h:
+        * src/libANGLE/renderer/metal/ContextMtl.mm:
+        (rx::ContextMtl::onBackbufferResized):
+        * src/libANGLE/renderer/metal/DisplayMtl.mm:
+        (rx::DisplayMtl::createPbufferSurface):
+        (rx::DisplayMtl::createPbufferFromClientBuffer):
+        * src/libANGLE/renderer/metal/FrameBufferMtl.h:
+        (rx::FramebufferMtl::getAttachedBackbuffer const):
+        * src/libANGLE/renderer/metal/FrameBufferMtl.mm:
+        (rx::FramebufferMtl::FramebufferMtl):
+        * src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.h:
+        * src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm:
+        (rx::IOSurfaceSurfaceMtl::IOSurfaceSurfaceMtl):
+        (rx::IOSurfaceSurfaceMtl::~IOSurfaceSurfaceMtl):
+        (rx::IOSurfaceSurfaceMtl::bindTexImage):
+        (rx::IOSurfaceSurfaceMtl::releaseTexImage):
+        (rx::IOSurfaceSurfaceMtl::getAttachmentRenderTarget):
+        (rx::IOSurfaceSurfaceMtl::ensureColorTextureCreated):
+        (rx::IOSurfaceSurfaceMtl::ValidateAttributes):
+        * src/libANGLE/renderer/metal/SurfaceMtl.h:
+        (rx::SurfaceMtl::getColorTexture):
+        (rx::SurfaceMtl::getSamples const):
+        (rx::SurfaceMtl::hasRobustResourceInit const):
+        (rx::WindowSurfaceMtl::preserveBuffer const):
+        * src/libANGLE/renderer/metal/SurfaceMtl.mm:
+        (rx::SurfaceMtl::SurfaceMtl):
+        * src/libANGLE/renderer/metal/TextureMtl.h:
+        * src/libANGLE/renderer/metal/TextureMtl.mm:
+        (rx::TextureMtl::ensureTextureCreated):
+        (rx::TextureMtl::ensureSamplerStateCreated):
+        (rx::TextureMtl::bindTexImage):
+        (rx::TextureMtl::releaseTexImage):
+        (rx::TextureMtl::getAttachmentRenderTarget):
+        * src/libANGLE/renderer/metal/mtl_common.h:
+
+2021-02-19  Kyle Piddington  <kpiddington@apple.com>
+
+        Fix a number of functional regressions caused by enabling the Metal ANGLE backend by default.
+        https://bugs.webkit.org/show_bug.cgi?id=220895
+        <rdar://problem/73539537>
+
+        Reviewed by Kenneth Russell.
+
+        Take two of this commit - this time with the new files FixTypeConstructors and NameEmbeddedUniformStructsMetal.
+        
+        Fixed webgl/1.0.3/conformance/context/context-hidden-alpha.html
+
+        MTL Translator direct fixes for webgl/1.0.3/conformance/glsl/constructors/glsl-construct-*vec2 tests, Plus fix for GL_VertexIndex
+
+        Fix EmitMetal crash for missing function textureRect.
+
+        Additional fixes for 73675990, shaders-with-invariance.html, shaders-with-uniform-structs.html, struct-specifiers-in-uniforms.html, framebuffer-object-attachment.html
+
+        Fixed clamping of array elements.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * src/compiler/translator/TranslatorMetalDirect.cpp:
+        (sh::TranslatorMetalDirect::translateImpl):
+        * src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
+        (GenMetalTraverser::emitPostQualifier):
+        (GenMetalTraverser::visitBinary):
+        (GenMetalTraverser::BuildFuncToName):
+        * src/compiler/translator/TranslatorMetalDirect/FixTypeConstructors.cpp: Added.
+        (sh::FixTypeTraverser::FixTypeTraverser):
+        (sh::FixTypeConstructors):
+        * src/compiler/translator/TranslatorMetalDirect/FixTypeConstructors.h: Added.
+        * src/compiler/translator/TranslatorMetalDirect/NameEmbeddedUniformStructsMetal.cpp: Added.
+        (sh::NameEmbeddedStructUniformsMetal):
+        * src/compiler/translator/TranslatorMetalDirect/NameEmbeddedUniformStructsMetal.h: Added.
+        * src/compiler/translator/TranslatorMetalDirect/Pipeline.cpp:
+        (SaturateVectorOf):
+        * src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:
+        (sh::ProgramPrelude::ProgramPrelude):
+        * src/compiler/translator/TranslatorMetalDirect/ReduceInterfaceBlocks.cpp:
+        (sh::Reducer::Reducer):
+        (sh::ReduceInterfaceBlocks):
+        * src/compiler/translator/TranslatorMetalDirect/ReduceInterfaceBlocks.h:
+        * src/compiler/translator/TranslatorMetalDirect/SeparateCompoundStructDeclarations.cpp:
+        * src/libANGLE/renderer/load_functions_table_autogen.cpp:
+        * src/libANGLE/renderer/metal/ContextMtl.mm:
+        (rx::ContextMtl::drawElementsImpl):
+        * src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.h:
+        * src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm:
+        (rx::IOSurfaceSurfaceMtl::IOSurfaceSurfaceMtl):
+        (rx::IOSurfaceSurfaceMtl::createBackingTexture):
+        * src/libANGLE/renderer/metal/RenderBufferMtl.mm:
+        (rx::RenderbufferMtl::setStorageImpl):
+        * src/libANGLE/renderer/metal/VertexArrayMtl.h:
+        * src/libANGLE/renderer/metal/VertexArrayMtl.mm:
+        (rx::VertexArrayMtl::getIndexBuffer):
+        (rx::VertexArrayMtl::convertIndexBuffer):
+        (rx::VertexArrayMtl::streamIndexBufferFromClient):
+        * src/libANGLE/renderer/metal/mtl_utils.mm:
+        (rx::mtl::InitializeDepthStencilTextureContentsGPU):
+        * src/libANGLE/renderer/metal/shaders/blit.metal:
+        * src/libANGLE/renderer/metal/shaders/mtl_default_shaders_src_autogen.inc:
+
+2021-02-19  Chris Dumez  <cdumez@apple.com>
+
+        Unreviewed, reverting r273188.
+
+        Broke the build: Is missing a cpp file
+
+        Reverted changeset:
+
+        "Fix a number of functional regressions caused by enabling the
+        Metal ANGLE backend by default."
+        https://bugs.webkit.org/show_bug.cgi?id=220895
+        https://commits.webkit.org/r273188
+
+2021-02-19  Kyle Piddington  <kpiddington@apple.com>
+
+        Fix a number of functional regressions caused by enabling the Metal ANGLE backend by default.
+        https://bugs.webkit.org/show_bug.cgi?id=220895
+        <rdar://problem/73539537>
+
+        Reviewed by Kenneth Russell.
+
+        Fixed webgl/1.0.3/conformance/context/context-hidden-alpha.html
+
+        MTL Translator direct fixes for webgl/1.0.3/conformance/glsl/constructors/glsl-construct-*vec2 tests, Plus fix for GL_VertexIndex
+
+        Fix EmitMetal crash for missing function textureRect.
+
+        Additional fixes for 73675990, shaders-with-invariance.html, shaders-with-uniform-structs.html, struct-specifiers-in-uniforms.html, framebuffer-object-attachment.html
+
+        Fixed clamping of array elements.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * src/compiler/translator/TranslatorMetalDirect.cpp:
+        (sh::TranslatorMetalDirect::translateImpl):
+        * src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
+        (GenMetalTraverser::emitPostQualifier):
+        (GenMetalTraverser::visitBinary):
+        (GenMetalTraverser::BuildFuncToName):
+        * src/compiler/translator/TranslatorMetalDirect/FixTypeConstructors.cpp: Added.
+        (sh::FixTypeTraverser::FixTypeTraverser):
+        (sh::FixTypeConstructors):
+        * src/compiler/translator/TranslatorMetalDirect/FixTypeConstructors.h: Added.
+        * src/compiler/translator/TranslatorMetalDirect/NameEmbeddedUniformStructsMetal.cpp: Added.
+        (sh::NameEmbeddedStructUniformsMetal):
+        * src/compiler/translator/TranslatorMetalDirect/NameEmbeddedUniformStructsMetal.h: Added.
+        * src/compiler/translator/TranslatorMetalDirect/Pipeline.cpp:
+        (SaturateVectorOf):
+        * src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp:
+        (sh::ProgramPrelude::ProgramPrelude):
+        * src/compiler/translator/TranslatorMetalDirect/ReduceInterfaceBlocks.cpp:
+        (sh::Reducer::Reducer):
+        (sh::ReduceInterfaceBlocks):
+        * src/compiler/translator/TranslatorMetalDirect/ReduceInterfaceBlocks.h:
+        * src/compiler/translator/TranslatorMetalDirect/SeparateCompoundStructDeclarations.cpp:
+        * src/libANGLE/renderer/load_functions_table_autogen.cpp:
+        * src/libANGLE/renderer/metal/ContextMtl.mm:
+        (rx::ContextMtl::drawElementsImpl):
+        * src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.h:
+        * src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm:
+        (rx::IOSurfaceSurfaceMtl::IOSurfaceSurfaceMtl):
+        (rx::IOSurfaceSurfaceMtl::createBackingTexture):
+        * src/libANGLE/renderer/metal/RenderBufferMtl.mm:
+        (rx::RenderbufferMtl::setStorageImpl):
+        * src/libANGLE/renderer/metal/VertexArrayMtl.h:
+        * src/libANGLE/renderer/metal/VertexArrayMtl.mm:
+        (rx::VertexArrayMtl::getIndexBuffer):
+        (rx::VertexArrayMtl::convertIndexBuffer):
+        (rx::VertexArrayMtl::streamIndexBufferFromClient):
+        * src/libANGLE/renderer/metal/mtl_utils.mm:
+        (rx::mtl::InitializeDepthStencilTextureContentsGPU):
+        * src/libANGLE/renderer/metal/shaders/blit.metal:
+        * src/libANGLE/renderer/metal/shaders/mtl_default_shaders_src_autogen.inc:
+
+2021-02-19  Kyle Piddington  <kpiddington@apple.com>
+
+        Crash in readPixels with ANGLE Metal backend
+        https://bugs.webkit.org/show_bug.cgi?id=220877
+
+        RenderbufferMtl::initializeContents is sometimes bound with a
+        default level index, which doesn't specify type, layer count, or
+        other information. When this path is called with an invalid index,
+        assume a 2d index.
+
+        Reviewed by Dean Jackson.
+
+        * src/libANGLE/renderer/metal/RenderBufferMtl.mm:
+        (rx::RenderbufferMtl::initializeContents):
+
+2021-02-17  Dean Jackson  <dino@apple.com>
+
+        Metal-Angle on IOS fails in ValidateCreatePbufferFromClientBuffer
+        https://bugs.webkit.org/show_bug.cgi?id=222069
+
+        Reviewed by Simon Fraser.
+
+        Due to the differences between OpenGL and OpenGLES, WebCore
+        binds its IOSurfaces to a different texture target on macOS and iOS.
+        This isn't really needed with the Metal-ANGLE backend, but while we're
+        still supporting the OpenGL backend it is easier to have the Metal backend
+        use both targets.
+
+        * src/libANGLE/renderer/metal/DisplayMtl.mm:
+        (rx::DisplayMtl::generateConfigs): Look for EGL_TEXTURE_2D on iOS. Note
+        we don't have to worry about the weird "iOS App on macOS" situation since
+        that only applies to using OpenGLES on macOS. Yay for Metal!
+
+2021-01-13  Kenneth Russell  <kbr@chromium.org>
+
+        [WebGL2] fbostatequery, negativebufferapi, negativevertexarrayapi, shaderstatequery conformance failures
+        https://bugs.webkit.org/show_bug.cgi?id=220372
+
+        Reviewed by Darin Adler.
+
+        Add a needed early-out in drawArraysInstanced validation when the
+        primitive count is zero. This patch will be upstreamed to ANGLE
+        afterward.
+
+        * src/libANGLE/validationES.h:
+        (gl::ValidateDrawArraysAttribs):
+        (gl::ValidateDrawArraysCommon):
+
+2021-01-08  Kyle Piddington  <kpiddington@apple.com>
+
+        Failures of attribute location conformance tests with Metal backend
+        https://bugs.webkit.org/show_bug.cgi?id=220137
+
+        Reviewed by Dean Jackson.
+
+        * src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
+        (GenMetalTraverser::emitAttributeDeclaration):
+        * src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.mm:
+        (rx::mtl::updateShaderAttributes):
+        (rx::mtl::GlslangGetMSL):
+
+2021-01-04  Fujii Hironori  <Hironori.Fujii@sony.com>
+
+        [WinCairo][CMake][MSBuild][ANGLE] entry_points_*.h was generated twice both in LibGLESv2EntryPointsHeaders and GLESv2 projects
+        https://bugs.webkit.org/show_bug.cgi?id=220251
+
+        Reviewed by Kenneth Russell.
+
+        WinCairo port is supporting both CMake Visual Studio generator and
+        Ninja generator. However, CMake Visual Studio builds was failing
+        as the following error.
+
+        > ANGLE\Headers\ANGLE/entry_points_egl.h(13,10): fatal error C1083: Cannot open include file: 'export.h': No such file or directory (compiling source file ...\texmap\ANGLEContext.cpp)
+
+        entry_points_egl.h was generated twice both in
+        LibGLESv2EntryPointsHeaders and GLESv2 projects. However, the
+        post-process script adjust-angle-include-paths.py was invoked only
+        in LibGLESv2EntryPointsHeaders project.
+
+        GLESv2 target needs to have a direct or indirect dependency to
+        LibGLESv2EntryPointsHeaders target for CMake Visual Studio
+        generator to eliminate duplicated custom commands.
+
+        * CMakeLists.txt: Added add_dependencies(GLESv2 LibGLESv2EntryPointsHeaders) only if WIN32.
+
+2021-01-02  James Darpinian  <jdarpinian@chromium.org>
+
+        Enable some ANGLE workarounds on iOS
+        https://bugs.webkit.org/show_bug.cgi?id=220203
+
+        Reviewed by Kenneth Russell.
+
+        Running ANGLE's unit tests on iOS upstream exposed the need to enable a couple of existing
+        workaround flags. https://crrev.com/c/2601106 and https://crrev.com/c/2606657 are the
+        upstream changes corresponding to these fixes.
+
+        * src/libANGLE/renderer/gl/FramebufferGL.cpp:
+        (rx::FramebufferGL::blit):
+        * src/libANGLE/renderer/gl/renderergl_utils.cpp:
+        (rx::nativegl_gl::InitializeFeatures):
+
+2020-12-23  Kyle Piddington  <kpiddington@apple.com>
+
+        [ANGLE] Metal backend renders tdl.js samples as red
+        https://bugs.webkit.org/show_bug.cgi?id=220129
+
+        Reviewed by Kenneth Russell.
+
+        * src/libANGLE/renderer/metal/FrameBufferMtl.mm:
+        (rx::FramebufferMtl::blitWithDraw):
+
+2020-12-22  Michael Catanzaro  <mcatanzaro@gnome.org>
+
+        warning: enumerated and non-enumerated type in conditional expression in Compiler.cpp
+        https://bugs.webkit.org/show_bug.cgi?id=220062
+
+        Reviewed by Dean Jackson.
+
+        Building ANGLE with -Wextra is too aggressive. -Wextra is great for code that we control,
+        where the burden of squashing warnings is relatively low. But with ANGLE, we have to either
+        land fixes upstream, or carry them downstream forever. It doesn't make sense to bother with
+        this for minor build warning fixes when upstream is clearly not using the same warning flags
+        and/or same compiler that we do.
+
+        Since we add -Wextra in our global flags, we have to manually override it here. We can now
+        also stop explicitly disabling other warnings that are implied by -Wextra.
+
+        Finally, note that changes.diff is not modified because this is, confusingly, a downstream
+        WebKit build file.
+
+        * CMakeLists.txt:
+
+2020-12-22  Kenneth Russell  <kbr@chromium.org>
+
+        [WebGL2] deqp/functional/gles3/texturespecification RGB4444 and RGB565 failures on Mac AMD
+        https://bugs.webkit.org/show_bug.cgi?id=220093
+
+        Reviewed by Alex Christensen.
+
+        Promote the RGBA4444 and RGB565 texture formats to RGB[A]8 in
+        order to work around OpenGL driver bugs on macOS with AMD GPUs.
+
+        * include/platform/FeaturesGL.h:
+        * src/libANGLE/renderer/gl/formatutilsgl.cpp:
+        (rx::nativegl::GetNativeInternalFormat):
+        * src/libANGLE/renderer/gl/renderergl_utils.cpp:
+        (rx::nativegl_gl::InitializeFeatures):
+
+2020-12-16  Fujii Hironori  <Hironori.Fujii@sony.com>
+
+        [WinCairo] Enable USE_ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=219421
+
+        Reviewed by Don Olmstead.
+
+        * CMakeLists.txt: Added entry_points_egl_ext.h to libglesv2_entry_points_headers.
+
+2020-12-14  Alex Christensen  <achristensen@webkit.org>
+
+        Fix build.
+
+        * src/gpu_info_util/SystemInfo_apple.mm:
+        (angle::GetSystemInfo):
+        ##if should be #if
+
+2020-12-14  Dean Jackson  <dino@apple.com>
+
+        Build fix for Mac Catalyst. Remove code that was accidentally
+        included in the previous commit.
+
+        * src/gpu_info_util/SystemInfo_apple.mm:
+        (angle::GetSystemInfo):
+
+2020-12-12  Kyle Piddington  <kpiddington@apple.com>
+
+        Improved Metal backend for ANGLE, with direct GLSL to Metal compiler translation
+        https://bugs.webkit.org/show_bug.cgi?id=219759
+        <rdar://problem/72200222>
+
+        Reviewed by Dean Jackson.
+
+        Reviewer's note: While this patch is landing in WebKit now, it will
+        be submitted to the main ANGLE project for official review, then re-merged
+        back into WebKit. The feature provided here is not enabled by default.
+
+        Provide a WebGL1 compliant transpiler for GLSL content. With this
+        change, we can leverage the already present open source work in the
+        ANGLE project to enable webgl to run on top of Metal. In addition,
+        this patch contains a number of fixes to the existing ANGLE Metal backend.
+
+        Test: Tests were validated with the dEQP test suite with ANGLE, in
+        addition to running standard layout tests.
+
+2020-12-04  Adam Roben  <aroben@apple.com>
+
+        More FALLBACK_PLATFORM adoption
+        https://bugs.webkit.org/show_bug.cgi?id=219545
+
+        Reviewed by Tim Horton.
+
+        * Configurations/SDKVariant.xcconfig:
+        WK_EMPTY_$(THIS_IS_NOT_EMPTY) evaluates to the empty string, not to
+        NO.
+
+2020-12-04  Rob Buis  <rbuis@igalia.com>
+
+        WebGL2: Null pointer dereference in std::string implementation in gl::Shader::getTransformFeedbackVaryingMappedName
+        https://bugs.webkit.org/show_bug.cgi?id=218602
+
+        Reviewed by Dean Jackson.
+
+        Skip varying if field is not found since in this
+        case we have no match for the varying parameter name.
+
+        * src/libANGLE/Shader.cpp:
+        (gl::Shader::getTransformFeedbackVaryingMappedName):
+
+2020-12-03  Adam Roben  <aroben@apple.com>
+
+        Adopt FALLBACK_PLATFORM
+        https://bugs.webkit.org/show_bug.cgi?id=219504
+
+        Reviewed by Tim Horton.
+
+        * Configurations/SDKVariant.xcconfig: Use FALLBACK_PLATFORM it if it's
+        defined, otherwise use PLATFORM_NAME as before.
+
+2020-12-02  Dean Jackson  <dino@apple.com>
+
+        Build fix for Mac Catalyst. Include the SystemInfo header.
+
+        * src/libANGLE/renderer/gl/apple/DisplayApple_api.cpp:
+
+2020-12-02  Rob Buis  <rbuis@igalia.com>
+
+        Fix ANGLE CMakeLists.txt warnings
+        https://bugs.webkit.org/show_bug.cgi?id=219260
+
+        Reviewed by Philippe Normand.
+
+        Fix warning when building on GTK:
+        Make Warning (dev) at Source/ThirdParty/ANGLE/CMakeLists.txt:103:
+        Syntax Warning in cmake code at column 37
+
+        Argument not separated from preceding token by whitespace.
+        This warning is for project developers.  Use -Wno-dev to suppress it.
+
+        * CMakeLists.txt:
+
+2020-12-02  James Darpinian  <jdarpinian@chromium.org>
+
+        Update ANGLE 2020-11-12
+        https://bugs.webkit.org/show_bug.cgi?id=218877
+
+        Reviewed by Kenneth Russell.
+
+        * Excessively large list of upstream changes omitted.
+
+2020-11-30  Ryan Haddad  <ryanhaddad@apple.com>
+
+        Unreviewed, reverting r270129, r270194, and r270258.
+
+        r270129 broke macCatalyst build
+
+        Reverted changesets:
+
+        "Update ANGLE 2020-11-12"
+        https://bugs.webkit.org/show_bug.cgi?id=218877
+        https://trac.webkit.org/changeset/270129
+
+        "Fix ANGLE CMakeLists.txt warnings"
+        https://bugs.webkit.org/show_bug.cgi?id=219260
+        https://trac.webkit.org/changeset/270194
+
+        "Attempted build fix for Mac Catalyst. Include the SystemInfo
+        header."
+        https://trac.webkit.org/changeset/270258
+
+2020-11-30  Dean Jackson  <dino@apple.com>
+
+        Attempted build fix for Mac Catalyst. Include the SystemInfo header.
+
+        * src/libANGLE/renderer/gl/apple/DisplayApple_api.cpp:
+
+2020-11-27  Fujii Hironori  <Hironori.Fujii@sony.com>
+
+        [ANGLE] Convert adjust-angle-include-paths.sh to a Python script for Windows without Cygwin
+        https://bugs.webkit.org/show_bug.cgi?id=219299
+
+        Reviewed by Kenneth Russell.
+
+        WinCairo port can't use shell scripts because it isn't using
+        Cygwin.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * CMakeLists.txt:
+        * adjust-angle-include-paths.py: Added.
+        * adjust-angle-include-paths.sh: Removed.
+
+2020-11-27  Rob Buis  <rbuis@igalia.com>
+
+        Fix ANGLE CMakeLists.txt warnings
+        https://bugs.webkit.org/show_bug.cgi?id=219260
+
+        Reviewed by Philippe Normand.
+
+        Fix warning when building on GTK:
+        Make Warning (dev) at Source/ThirdParty/ANGLE/CMakeLists.txt:103:
+        Syntax Warning in cmake code at column 37
+
+        Argument not separated from preceding token by whitespace.
+        This warning is for project developers.  Use -Wno-dev to suppress it.
+
+        * CMakeLists.txt:
+
+2020-11-20  James Darpinian  <jdarpinian@chromium.org>
+
+        Update ANGLE 2020-11-12
+        https://bugs.webkit.org/show_bug.cgi?id=218877
+
+        Reviewed by Kenneth Russell.
+
+        * Excessively large list of upstream changes omitted.
+
+2020-11-19  James Darpinian  <jdarpinian@chromium.org>
+
+        Improve update-angle script and move to Tools/Scripts
+        https://bugs.webkit.org/show_bug.cgi?id=218831
+
+        Reviewed by Kenneth Russell.
+
+        update-angle fetches changes from upstream ANGLE into Source/ThirdParty/ANGLE,
+        updates WebKit's build files and helps merge WebKit's local changes.
+
+          - Moved to Tools/Scripts so that it doesn't overwrite itself during the
+            update process.
+          - Reversed direction of rebase. Before the script rebased ANGLE on WebKit;
+            now it rebases WebKit's ANGLE changes on upstream ANGLE master. This
+            makes a lot more sense and results in fewer changes to rebase. This
+            requires the use of git-filter-repo to make the rebase not prohibitively
+            slow.
+          - Removed bash dependency.
+          - Fixed all issues identified by shellcheck.
+          - Fixed changes.diff to show added files, while filtering files added by
+            WebKit's build process.
+          - Fixed changes.diff to ignore whitespace changes.
+          - Added --regenerate-changes-diff option to update changes.diff in between
+            ANGLE updates.
+          - Updated [angle_]commit.h generation for upstream changes.
+          - Removed need to run the script multiple times during the rebase process.
+
+        * update-angle.sh: Removed.
+
+2020-11-19  Dean Jackson  <dino@apple.com>
+
+        Add schemes for ANGLE to Xcode project
+        https://bugs.webkit.org/show_bug.cgi?id=217546
+        rdar://69062082
+
+        Reviewed by Alex Christensen.
+
+        * Configurations/Base.xcconfig: Update paths for built frameworks.
+        * ANGLE.xcodeproj/xcshareddata/xcschemes/ANGLE (dynamic).xcscheme: Added.
+        * ANGLE.xcodeproj/xcshareddata/xcschemes/ANGLE (static).xcscheme: Added.
+        * ANGLE.xcodeproj/xcshareddata/xcschemes/ANGLE.xcscheme: Added.
+
+2020-11-04  David Kilzer  <ddkilzer@apple.com>
+
+        WebKit should remove unused debug variant support
+        <https://webkit.org/b/218315>
+        <rdar://problem/70785369>
+
+        Reviewed by Darin Adler.
+
+        Remove support for building the debug variant since it is
+        currently unused. We now set default values for the
+        DEAD_CODE_STRIPPING, DEBUG_DEFINES, GCC_OPTIMIZATION_LEVEL and
+        STRIP_INSTALLED_PRODUCT variables.
+
+        Also move these values out of the Xcode project into
+        Base.xcconfig files using the [config=Debug] specifier so that
+        these overrides are next to the definitions.
+
+        Additional changes in behavior are noted below.
+
+        * Configurations/ANGLE-dynamic.xcconfig:
+        - Move DEBUG_DEFINES to Base.xcconfig.
+        - Set up DEAD_CODE_STRIPPING and STRIP_INSTALLED_PRODUCT the
+          same as for other WebKit projects. Previously dead code and
+          symbols were never stipped in Release or Production builds.
+
+        * Configurations/ANGLE-static.xcconfig:
+        - Move DEBUG_DEFINES to Base.xcconfig.
+
+        * Configurations/Base.xcconfig:
+        - Set up DEBUG_DEFINES and GCC_OPTIMIZATION_LEVEL the same as
+          other WebKit projects. Previously Debug builds were built with
+          -Os instead of -O0.
+
+2020-11-03  David Kilzer  <ddkilzer@apple.com>
+
+        Stop building ANGLE source files twice
+        <https://webkit.org/b/218469>
+
+        Reviewed by Dean Jackson.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        (ANGLE (dynamic)):
+        - Replace sources with empty.cpp. Xcode requires a single source
+          file to be compiled to create a dylib, even if the static
+          library contains all necessary symbols.
+        - Add dependency on "ANGLE (static)" target.
+        * Configurations/ANGLE-dynamic.xcconfig:
+        (ANGLE_OTHER_LDFLAGS):
+        - Add $(ANGLE_STATIC_LIB_OTHER_LDFLAGS).
+        (ANGLE_STATIC_LIB_OTHER_LDFLAGS): Add.
+        - Special linker command-line switch to load all symbols from
+          libANGLE.a when linking libANGLE-shared.dylib.
+        * src/empty.cpp: Add.
+        - See above why this is needed by Xcode.
+
+2020-10-12  Dean Jackson  <dino@apple.com>
+
+        Add schemes for ANGLE to Xcode project
+        https://bugs.webkit.org/show_bug.cgi?id=217546
+        rdar://69062082
+
+        Reviewed by Alex Christensen.
+
+        * ANGLE.xcodeproj/xcshareddata/xcschemes/ANGLE (dynamic).xcscheme: Added.
+        * ANGLE.xcodeproj/xcshareddata/xcschemes/ANGLE (static).xcscheme: Added.
+        * ANGLE.xcodeproj/xcshareddata/xcschemes/ANGLE.xcscheme: Added.
+
+2020-10-28  Tim Horton  <timothy_horton@apple.com>
+
+        macCatalyst WebGL on Apple Silicon devices is using a software renderer
+        https://bugs.webkit.org/show_bug.cgi?id=218303
+        <rdar://problem/70587571>
+
+        Reviewed by Geoffrey Garen.
+
+        * src/gpu_info_util/SystemInfo.h:
+        * src/gpu_info_util/SystemInfo_apple.mm:
+        (angle::GetSystemInfo):
+        We can just use the macOS version of GetSystemInfo in macCatalyst.
+
+        * src/gpu_info_util/SystemInfo_macos.mm:
+        (angle::GetSystemInfo_mac):
+        * src/libANGLE/Display.cpp:
+        * src/libANGLE/formatutils.cpp:
+        (gl::BuildInternalFormatInfoMap):
+        * src/libANGLE/renderer/gl/renderergl_utils.cpp:
+        (rx::nativegl_gl::GenerateCaps):
+        It turns out we must use EAGL in macCatalyst on Apple Silicon in all cases,
+        not just in-process in iOS apps (the problem is not just about coexistence
+        of the two GLs, but actually about our ability to load the accelerated
+        renderer /at all/ in macCatalyst processes).
+
+        I left the runtime switching in place, because there is a future in which
+        we /can/ use CGL in non-iOS-app processes, but that future is not now.
+
+2020-10-13  Keith Rollin  <krollin@apple.com>
+
+        Remove leftover MACOSX_DEPLOYMENT_TARGET_macosx support
+        https://bugs.webkit.org/show_bug.cgi?id=217649
+        <rdar://problem/70236877>
+
+        Reviewed by Darin Adler.
+
+        Bug 42796 introduced MACOSX_DEPLOYMENT_TARGET_<PLATFORM> as "support
+        for compiling WebKit against iOS SDKs". Support for the iOS part of
+        this feature was later removed in several changes, including Bug
+        139212, Bug 139463 and Bug 144762. However, vestiges have remained for
+        five or six years in the form of MACOSX_DEPLOYMENT_TARGET_macosx. The
+        inclusion of the platform in MACOSX_DEPLOYMENT_TARGET is no longer
+        needed and can be removed.
+
+        This changes brings most projects in conformance with other projects
+        that don't support including the platform in MACOSX_DEPLOYMENT_TARGET,
+        including WebEditingTester, gtest, WebKitTestRunner, MiniBrowser, and
+        TestWebKitAPI.
+
+        Along the way, remove a couple of left-over references to macOS 10.16,
+        and a couple of places where [sdk=macosx*] was still being used.
+
+        With this change, initialization of MACOSX_DEPLOYMENT_TARGET should be
+        consistent across all projects, with two exceptions: WebKitLauncher
+        (which hardcodes it to 10.12) and libwebrtc's copy of googletest
+        (which hardcodes it to 10.4). The reasons for these hard-coded values
+        is not apparent, so leave them be.
+
+        * Configurations/DebugRelease.xcconfig:
+
+2020-10-12  Luming Yin  <luming_yin@apple.com>
+
+        [macOS] Workaround for MAC_OS_X_VERSION_MAJOR incorrectly including minor version when building 
+        with Xcode 12 on macOS Big Sur SUs
+        https://bugs.webkit.org/show_bug.cgi?id=217602
+        rdar://70194453
+
+        Reviewed by Darin Adler.
+
+        The previous workaround turns out to be ineffective because we can't set the value of 
+        TARGET_MAC_OS_X_VERSION_MAJOR based on a previous value of itself. Introduce a new 
+        variable TARGET_MAC_OS_X_VERSION_MAJOR to determine whether we need to explicitly 
+        adjust MAC_OS_X_VERSION_MAJOR to 110000.
+
+        * Configurations/DebugRelease.xcconfig:
+
+2020-10-12  Luming Yin  <luming_yin@apple.com>
+
+        [macOS] Workaround for MAC_OS_X_VERSION_MAJOR incorrectly including minor version when building 
+        with Xcode 12 on macOS Big Sur SUs
+        https://bugs.webkit.org/show_bug.cgi?id=217602
+        rdar://70194453
+
+        Reviewed by Darin Adler.
+
+        Due to a bug in Xcode (rdar://70185899), Xcode 12.0 and Xcode 12.1 Beta incorrectly includes the 
+        minor release number in MAC_OS_X_VERSION_MAJOR, which causes Debug and Release builds of WebKit 
+        to be misconfigured when building on macOS Big Sur SUs, leading to webpages failing to load.
+
+        To work around the Xcode bug, when the MAC_OS_X_VERSION_MAJOR includes the minor version number, 
+        drop the minor version number by explicitly setting TARGET_MAC_OS_X_VERSION_MAJOR to 110000.
+
+        Note: This change should be reverted after <rdar://70185899> is resolved.
+
+        * Configurations/DebugRelease.xcconfig:
+
+2020-10-11  Luming Yin  <luming_yin@apple.com>
+
+        Strip patch version from TARGET_MAC_OS_X_VERSION_MAJOR when building for macOS Big Sur 
+        or later
+        https://bugs.webkit.org/show_bug.cgi?id=217594
+        rdar://70188497
+
+        Reviewed by Darin Adler.
+
+        To ensure successful Mac Catalyst WebKit builds, strip the patch version from 
+        TARGET_MAC_OS_X_VERSION_MAJOR by using two `base:`s on MACOSX_DEPLOYMENT_TARGET.
+
+        * Configurations/Base.xcconfig:
+
+2020-10-11  Luming Yin  <luming_yin@apple.com>
+
+        Ignore deployment suffix and identifier when computing major OS version for macOS 
+        Big Sur and newer
+        https://bugs.webkit.org/show_bug.cgi?id=217584
+        rdar://70168426
+
+        Reviewed by Darin Adler.
+
+        Stop using MACOSX_DEPLOYMENT_TARGET:suffix:identifier to compute major OS versions. 
+        Only use the deployment target base for macOS Big Sur and newer. Keep the manual 
+        definitions for legacy versions of macOS.
+
+        * Configurations/Base.xcconfig:
+
+2020-10-07  Keith Rollin  <krollin@apple.com>
+
+        Update post-processing rules for headers to not unnecessarily change timestamps
+        https://bugs.webkit.org/show_bug.cgi?id=217371
+        <rdar://problem/69992230>
+
+        Reviewed by Darin Adler.
+
+        Under XCBuild, the scripts employed in custom build rules can be
+        invoked in innocuous situations. A common example is when the user is
+        building from the command-line and they change the `make` output from
+        stdout to a file, or vice-versa. Changing the output changes the
+        setting of the COLOR_DIAGNOSTICS environment variable, which is enough
+        to cause XCBuild to think something is different and that the custom
+        build rule needs to be invoked. For the script's part, nothing
+        significant has changed, yet it post-processes the header files,
+        causing their modification dates to change, causing downstream
+        rebuilds to occur.
+
+        Fix this problem by adopting an approach that doesn't modify the
+        post-processed header files unless their contents actually change.
+
+        * adjust-angle-include-paths-rule:
+
+2020-10-02  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        [iOS WK1] Crashes when using ANGLE WebGL from another thread
+        https://bugs.webkit.org/show_bug.cgi?id=216106
+        <rdar://problem/68602452>
+
+        Reviewed by Kenneth Russell.
+
+        Add two extensions for EAGL and CGL backends to declare the
+        underlying platform context being "volatile". It means that
+        the thread-global current context is being modified behind
+        ANGLE. If ANGLE context is marked volatile for a particular
+        API, it will sync the underlying context for every EGL
+        function that needs the context. Most intuitive use is
+        for the client to call eglMakeCurrent before calling any
+        gl function if the client knowns the platform state might
+        be dirty.
+
+        Implement eglReleaseThread for EAGL and CGL backends.
+        Releasing thread will unset the platform current context.
+
+        Fix a bug of omitting EGL_ANGLE_device_eagl from being
+        advertised.
+
+        * extensions/EGL_ANGLE_platform_angle_device_context_volatile_cgl.txt: Added.
+        * extensions/EGL_ANGLE_platform_angle_device_context_volatile_eagl.txt: Added.
+        * include/EGL/eglext_angle.h:
+        * src/libANGLE/Caps.cpp:
+        (egl::DeviceExtensions::getStrings const):
+        (egl::ClientExtensions::getStrings const):
+        * src/libANGLE/Caps.h:
+        * src/libANGLE/Display.cpp:
+        (egl::Display::prepareForCall):
+        (egl::Display::releaseThread):
+        (egl::GenerateClientExtensions):
+        * src/libANGLE/Display.h:
+        * src/libANGLE/renderer/DisplayImpl.cpp:
+        (rx::DisplayImpl::prepareForCall):
+        (rx::DisplayImpl::releaseThread):
+        * src/libANGLE/renderer/DisplayImpl.h:
+        * src/libANGLE/renderer/gl/cgl/DisplayCGL.h:
+        * src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
+        (rx::DisplayCGL::initialize):
+        (rx::DisplayCGL::terminate):
+        (rx::DisplayCGL::prepareForCall):
+        (rx::DisplayCGL::releaseThread):
+        (rx::DisplayCGL::makeCurrent):
+        * src/libANGLE/renderer/gl/eagl/DisplayEAGL.h:
+        * src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:
+        (rx::DisplayEAGL::initialize):
+        (rx::DisplayEAGL::terminate):
+        (rx::DisplayEAGL::prepareForCall):
+        (rx::DisplayEAGL::releaseThread):
+        * src/libANGLE/validationEGL.cpp:
+        * src/libGLESv2/entry_points_egl.cpp:
+        * src/libGLESv2/entry_points_egl_ext.cpp:
+
+2020-09-29  James Darpinian  <jdarpinian@chromium.org>
+
+        Fix EXT_color_buffer_half_float on iOS
+        https://bugs.webkit.org/show_bug.cgi?id=217107
+
+        Reviewed by Kenneth Russell.
+
+        * src/libANGLE/Context.cpp:
+        (gl::Context::generateSupportedExtensions const):
+        * src/libANGLE/renderer/gl/renderergl_utils.cpp:
+        (rx::nativegl_gl::GenerateTextureFormatCaps):
+
+2020-09-24  Dean Jackson  <dino@apple.com>
+
+        WebGL should use GLES in iOS apps running on Apple Silicon
+        https://bugs.webkit.org/show_bug.cgi?id=216722
+        <rdar://problem/68976337>
+
+        Reviewed by Tim Horton.
+
+        Change ANGLE to dynamically load either EAGL (OpenGLES) or CGL (OpenGL) depending
+        on both compile and runtime configurations.
+            Intel Mac -> CGL
+            Intel Mac Catalyst -> CGL
+            Intel iOS Simulator -> EAGL
+            iOS Device -> EAGL
+            Apple Silicon Mac -> CGL
+            Apple Silicon Mac Catalyst (with Mac app) -> CGL
+            Apple Silicon Mac Catalyst (with iOS app) -> EAGL
+
+        The trickiest bit is Apple Silicon Mac Catalyst, which depends on the
+        type of the application it is attempting to run. In that case ANGLE must compile
+        both the CGL and EAGL interfaces and then pick one to use after launch.
+
+        * ANGLE.xcodeproj/project.pbxproj: Add new files.
+
+        * Configurations/ANGLE-dynamic.xcconfig: Remove all the OpenGL* linking.
+        * Configurations/ANGLE-static.xcconfig:
+
+        * GLESv2.cmake: New files.
+
+        * src/common/platform.h: New definitions for CPU type on Apple Systems.
+
+        * src/gpu_info_util/SystemInfo.h: Split SystemInfo for Apple into two
+        files, for iOS and Mac. Added a field for isiOSAppOnMac that will only
+        be true when running an iOS binary on Apple Silicon.
+        * src/gpu_info_util/SystemInfo_apple.mm: Added. Decides which SystemInfo
+        to call.
+        (angle::GetSystemInfo):
+        * src/gpu_info_util/SystemInfo_ios.cpp:
+        (angle::GetSystemInfo_ios):
+        (angle::GetSystemInfo): Deleted.
+        * src/gpu_info_util/SystemInfo_macos.mm:
+        (angle::GetSystemInfo_mac):
+        (angle::GetSystemInfo): Deleted.
+
+        * src/libANGLE/Caps.cpp: Can no longer just check for PLATFORM_IOS. This
+        might still need a runtime check.
+        (gl::DetermineDepthTextureANGLESupport):
+        (gl::DetermineDepthTextureOESSupport):
+
+        * src/libANGLE/Display.cpp: This is the main initialization point for
+        ANGLE, which decides at compile/runtime which variant of Display to
+        create.
+
+        * src/libANGLE/formatutils.cpp: Add the correct formats.
+        (gl::BuildInternalFormatInfoMap):
+
+        * src/libANGLE/renderer/gl/SoftLinking_apple.h: Added. Macros to help soft-link
+        functions and ObjC classes.
+        * src/libANGLE/renderer/gl/cgl/CGLFunctions.cpp: Added. Where we soft-link all
+        the OpenGL/CGL API.
+        * src/libANGLE/renderer/gl/cgl/CGLFunctions.h: Added.
+
+        * src/libANGLE/renderer/gl/cgl/DisplayCGL.mm: Use the soft-linked methods.
+        * src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp:
+        * src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.h:
+        * src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm: Rename WebSwapLayer to WebSwapLayerCGL
+        otherwise it clashes with the EAGL version.
+        (rx::WindowSurfaceCGL::initialize):
+        (-[WebSwapLayer initWithSharedState:withContext:withFunctions:]): Deleted.
+        (-[WebSwapLayer copyCGLPixelFormatForDisplayMask:]): Deleted.
+        (-[WebSwapLayer copyCGLContextForPixelFormat:]): Deleted.
+        (-[WebSwapLayer canDrawInCGLContext:pixelFormat:forLayerTime:displayTime:]): Deleted.
+        (-[WebSwapLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]): Deleted.
+
+        * src/libANGLE/renderer/gl/eagl/DeviceEAGL.cpp: Similar changes to the CGL implementation.
+        * src/libANGLE/renderer/gl/eagl/DeviceEAGL.h:
+        * src/libANGLE/renderer/gl/eagl/DisplayEAGL.h:
+        * src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:
+        (rx::DisplayEAGL::initialize):
+        (rx::DisplayEAGL::terminate):
+        (rx::WorkerContextEAGL::~WorkerContextEAGL):
+        (rx::WorkerContextEAGL::makeCurrent):
+        (rx::WorkerContextEAGL::unmakeCurrent):
+        (rx::DisplayEAGL::createWorkerContext):
+        * src/libANGLE/renderer/gl/eagl/EAGLFunctions.h: Added.
+        * src/libANGLE/renderer/gl/eagl/EAGLFunctions.mm: Added.
+        * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:
+        * src/libANGLE/renderer/gl/eagl/PbufferSurfaceEAGL.cpp:
+        * src/libANGLE/renderer/gl/eagl/RendererEAGL.cpp:
+        * src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.h:
+        * src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm:
+        (-[WebSwapLayerEAGL display]):
+        (rx::WindowSurfaceEAGL::initialize):
+        (-[WebSwapLayer initWithSharedState:withContext:withFunctions:]): Deleted.
+        (-[WebSwapLayer display]): Deleted.
+
+        * src/libANGLE/renderer/gl/renderergl_utils.cpp: Runtime check.
+        (rx::nativegl_gl::GenerateCaps):
+
+2020-09-25  James Darpinian  <jdarpinian@chromium.org>
+
+        Support EXT_float_blend
+        https://bugs.webkit.org/show_bug.cgi?id=216949
+
+        Reviewed by Kenneth Russell.
+
+        * src/libANGLE/renderer/gl/renderergl_utils.cpp:
+        (rx::nativegl_gl::GenerateCaps):
+
+2020-09-24  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        REGRESSION: Textures Fail to Render in WebGL from HLS Stream [iOS 14]
+        https://bugs.webkit.org/show_bug.cgi?id=215908
+        <rdar://problem/68000962>
+
+        Reviewed by Dean Jackson.
+
+        Disable ANGLE workers until EAGL implementation is more complete.
+        Current implementation fails to compile any shader, since the
+        compilation happens in the worker thread and worker EAGL context
+        which does not use the same sharegroup as the main context.
+        The shader objects are created in the main context but the shader
+        source setting and compilation happens in the worker context.
+        EAGL needs a flush between state changes, and adding that
+        correctly is a bigger change to be done later.
+
+        Use sized formats when calling [EAGLContext -texImageIOSurface]
+        from EGL_ANGLE_iosurface_client_buffer code. The texImageIOSurface
+        accepts parameters with glTexImage2D logic. On ES3, some of the
+        internal formats must be sized formats. The EAGLContext instantiated
+        by ANGLE is ES3, even if the ANGLE context would be ES2.
+
+        No tests added since this should be caught with the many video
+        related tests. It's unclear why this is not the case -- at
+        least on real hw. This is to be investigated later, too.
+
+        * src/libANGLE/renderer/driver_utils.h:
+        (rx::IsIOS):
+        * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:
+        * src/libANGLE/renderer/gl/renderergl_utils.cpp:
+        (rx::nativegl_gl::InitializeFeatures):
+
+2020-09-11  James Darpinian  <jdarpinian@chromium.org>
+
+        [WebGL2] Support EXT_color_buffer_half_float on WebGL 2.0 contexts
+        https://bugs.webkit.org/show_bug.cgi?id=216010
+
+        Reviewed by Kenneth Russell.
+
+        * src/libANGLE/formatutils.cpp:
+        (gl::SizedHalfFloatRGTextureAttachmentSupport):
+        (gl::SizedHalfFloatRGBTextureAttachmentSupport):
+        (gl::SizedHalfFloatRGBRenderbufferSupport):
+        (gl::SizedHalfFloatRGBATextureAttachmentSupport):
+
+2020-09-03  Kimmo Kinnunen  <kkinnunen@apple.com>
+
+        Mark uniform samplers in an array unused per element
+        https://bugs.webkit.org/show_bug.cgi?id=215630
+
+        Reviewed by Dean Jackson.
+
+        Mark uniform samplers in an uniform sampler array unused per
+        element, if driver informs the element being unused.
+        Before, one element would mark the whole array as being
+        unused, and samplers that were in use would not be updated.
+
+        * src/libANGLE/Context.cpp:
+        (gl::StateCache::updateActiveImageUnitIndices):
+        * src/libANGLE/Program.cpp:
+        (gl::SamplerBinding::SamplerBinding):
+        (gl::ImageBinding::ImageBinding):
+        (gl::Program::getSamplerUniformBinding const):
+        (gl::Program::getImageUniformBinding const):
+        (gl::Program::linkSamplerAndImageBindings):
+        (gl::Program::updateSamplerUniform):
+        (gl::Program::serialize const):
+        (gl::Program::deserialize):
+        * src/libANGLE/ProgramExecutable.cpp:
+        (gl::ProgramExecutable::updateActiveSamplers):
+        (gl::ProgramExecutable::updateActiveImages):
+        (gl::ProgramExecutable::setSamplerUniformTextureTypeAndFormat):
+        * src/libANGLE/ProgramExecutable.h:
+        * src/libANGLE/renderer/gl/ProgramGL.cpp:
+        (rx::ProgramGL::markUnusedUniformLocations):
+        * src/libANGLE/renderer/metal/ProgramMtl.mm:
+        (rx::ProgramMtl::updateTextures):
+        * src/libANGLE/renderer/vulkan/ProgramExecutableVk.cpp:
+        (rx::ProgramExecutableVk::updateImagesDescriptorSet):
+        (rx::ProgramExecutableVk::updateTexturesDescriptorSet):
+        * src/tests/gl_tests/ComputeShaderTest.cpp:
+        * src/tests/gl_tests/UniformTest.cpp:
+
+2020-09-01  David Kilzer  <ddkilzer@apple.com>
+
+        [ANGLE] InternalFormat::blendSupport is uninitialized by constructor
+        <https://webkit.org/b/216053>
+        <rdar://problem/68166032>
+
+        Reviewed by Kenneth Russell.
+
+        * changes.diff: Add this patch.
+        * src/libANGLE/formatutils.cpp:
+        (gl::InternalFormat::InternalFormat):
+        - Initialize blendSupport to NeverSupported.
+
+2020-08-31  James Darpinian  <jdarpinian@chromium.org>
+
+        Implement WEBGL_compressed_texture_s3tc_srgb extension
+        https://bugs.webkit.org/show_bug.cgi?id=215973
+
+        Reviewed by Dean Jackson.
+
+        * src/libANGLE/renderer/gl/formatutilsgl.cpp:
+        (rx::nativegl::ExtAndVersionOrExt):
+        (rx::nativegl::BuildInternalFormatInfoMap):
+
+2020-08-12  Keith Rollin  <krollin@apple.com>
+
+        Remove the need for defining USE_NEW_BUILD_SYSTEM
+        https://bugs.webkit.org/show_bug.cgi?id=215439
+
+        Reviewed by Darin Adler.
+
+        When building WebKit for XCBuild, we currently require that the
+        external build system (such as the Makefile, build-webkit, etc.)
+        defines the USE_NEW_BUILD_SYSTEM=YES build setting. This build setting
+        controls parts of our build instructions that are sensitive to when
+        XCBuild or the Legacy build system are being used. Notably, we need to
+        know when to use our custom “copy and modify” scripts with copying
+        certain header files (used with the Legacy build system) vs. using the
+        enhanced Copy Headers build phase that’s enabled with
+        APPLY_RULES_IN_COPY_HEADERS=YES (introduced with and used by XCBuild).
+        The choice of which method to copy headers is used is controlled by
+        USE_NEW_BUILD_SYSTEM.
+
+        There is no built-in build setting that we can probe to help us
+        determine which approach to take when copying and modifying headers,
+        which is why we need to define USE_NEW_BUILD_SYSTEM ourselves. But it
+        turns out that we can *detect* which build system is being used by
+        taking advantage of a subtle difference between the two systems. As
+        noted in:
+
+            https://developer.apple.com/documentation/xcode-release-notes/build-system-release-notes-for-xcode-10
+
+            “When an .xcconfig file contains multiple assignments of the same
+             build setting, later assignments using $(inherited) or
+             $(<setting_name>) will inherit from earlier assignments in the
+             .xcconfig. The legacy build system caused every use of
+             $(inherited) or $(<setting_name>) skip any other values defined
+             within the .xcconfig.”
+
+        This difference can be exploited as follows:
+
+            WK_WHICH_BUILD_SYSTEM = not_
+            WK_WHICH_BUILD_SYSTEM = $(inherited)legacy
+            WK_USE_NEW_BUILD_SYSTEM = $(WK_USE_NEW_BUILD_SYSTEM_$(WK_WHICH_BUILD_SYSTEM))
+            WK_USE_NEW_BUILD_SYSTEM_legacy = NO
+            WK_USE_NEW_BUILD_SYSTEM_not_legacy = YES
+
+        We can then use WK_USE_NEW_BUILD_SYSTEM where we used to use the
+        externally-defined USE_NEW_BUILD_SYSTEM.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * Configurations/ANGLE-dynamic.xcconfig:
+        * Configurations/ANGLE-static.xcconfig:
+        * Configurations/Base.xcconfig:
+
+2020-08-07  Dean Jackson  <dino@apple.com>
+
+        ANGLE: No need to check for Catalyst in the iOS build
+        https://bugs.webkit.org/show_bug.cgi?id=215249
+        <rdar://problem/66655478>
+
+        Reviewed by Tim Horton.
+
+        The DisplayEAGL class is never used for Catalyst, so doesn't
+        need to handle it.
+
+        * src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:
+        (rx::DisplayEAGL::generateConfigs):
+
+2020-08-05  Tim Horton  <timothy_horton@apple.com>
+
+        Remove all references to non-existent 10.16
+        https://bugs.webkit.org/show_bug.cgi?id=215202
+
+        Reviewed by Wenson Hsieh.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+        * Configurations/Version.xcconfig:
+        * Configurations/WebKitTargetConditionals.xcconfig:
+
+2020-07-29  Michael Catanzaro  <mcatanzaro@gnome.org>
+
+        [GTK] 2.29.4 fails to link on armv7hl
+        https://bugs.webkit.org/show_bug.cgi?id=214934
+
+        Reviewed by Carlos Alberto Lopez Perez.
+
+        Link ANGLE to with -ldl
+
+        * CMakeLists.txt:
+
+2020-07-29  Kenneth Russell  <kbr@chromium.org>
+
+        Roll ANGLE to 2020-07-28
+        https://bugs.webkit.org/show_bug.cgi?id=214897
+
+        Reviewed by Alex Christensen.
+
+        Roll to current ANGLE revision. Large ChangeLog below has been
+        truncated except for a few significant files.
+
+        Add dependency on zlib wrapper in third_party/zlib/google for both
+        Xcode and CMake builds. Small change to this wrapper for the
+        WinCairo build's system zlib, which doesn't define z_const.
+
+        * .gitignore:
+        * ANGLE.plist:
+        * ANGLE.xcodeproj/project.pbxproj:
+        * CMakeLists.txt:
+        * Configurations/ANGLE-dynamic.xcconfig:
+        * Configurations/ANGLE-static.xcconfig:
+        * GLESv2.cmake:
+        * PlatformWin.cmake:
+        * third_party/zlib/google/compression_utils_portable.cc: Added.
+        * third_party/zlib/google/compression_utils_portable.h: Added.
+
+2020-07-28  Kenneth Russell  <kbr@chromium.org>
+
+        Pause during ANGLE roll script after rebasing and before deleting temporary Git repo
+        https://bugs.webkit.org/show_bug.cgi?id=212717
+
+        Reviewed by Dean Jackson.
+
+        Give the user the opportunity to manually examine the changes
+        relative to upstream ANGLE, and to undo any accidental or
+        undesired ones, before finishing the roll.
+
+        * update-angle.sh:
+
+2020-07-22  Conrad Shultz  <conrad_shultz@apple.com>
+
+        Update macOS Version macros
+        https://bugs.webkit.org/show_bug.cgi?id=214653
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+        * Configurations/Version.xcconfig:
+        * Configurations/WebKitTargetConditionals.xcconfig:
+
+2020-07-17  Kenneth Russell  <kbr@chromium.org>
+
+        [WebGL2] Fix validation of pixel unpack parameters
+        https://bugs.webkit.org/show_bug.cgi?id=214509
+
+        Reviewed by Dean Jackson.
+
+        Fix small error discovered while upstreaming the previous fix to
+        the ANGLE project.
+
+        * src/libANGLE/validationES3.cpp:
+        (gl::ValidateES3TexImageParametersBase):
+
+2020-07-17  Kenneth Russell  <kbr@chromium.org>
+
+        [WebGL2] ReadPixels updates
+        https://bugs.webkit.org/show_bug.cgi?id=209516
+
+        Reviewed by Dean Jackson.
+
+        Add workaround for OpenGL driver bug on macOS where
+        GL_PACK_SKIP_ROWS and GL_PACK_SKIP_PIXELS are ignored.
+
+        Add WebGL 2.0-specific validation constraints for pixel pack and
+        unpack parameters.
+
+        These changes are being upstreamed to ANGLE in
+        http://crbug.com/angleproject/4849 .
+
+        * include/platform/FeaturesGL.h:
+        * src/libANGLE/ErrorStrings.h:
+        * src/libANGLE/renderer/gl/FramebufferGL.cpp:
+        (rx::FramebufferGL::readPixels):
+        * src/libANGLE/renderer/gl/renderergl_utils.cpp:
+        (rx::nativegl_gl::InitializeFeatures):
+        * src/libANGLE/validationES.cpp:
+        (gl::ValidatePixelPack):
+        * src/libANGLE/validationES3.cpp:
+        (gl::ValidateES3TexImageParametersBase):
+
+2020-07-10  Kenneth Russell  <kbr@chromium.org>
+
+        Remove glBindFramebuffer flush workaround from ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=214104
+
+        Reviewed by Dean Jackson.
+
+        Remove this driver bug workaround, which very likely had no
+        effect, and which was never upstreamed to ANGLE.
+
+        * include/platform/FeaturesGL.h:
+        * src/libANGLE/renderer/gl/StateManagerGL.cpp:
+        (rx::StateManagerGL::bindFramebuffer):
+        * src/libANGLE/renderer/gl/renderergl_utils.cpp:
+        (rx::nativegl_gl::InitializeFeatures):
+
+2020-07-08  Darin Adler  <darin@apple.com>
+
+        Fix adjust-angle-include-paths.sh error seen building ANGLE library
+        https://bugs.webkit.org/show_bug.cgi?id=214059
+
+        Reviewed by Alexey Proskuryakov.
+
+        * ANGLE.xcodeproj/project.pbxproj: Remove the build step that adjusts paths.
+        Dean Jackson told me we don't need it for the static library target.
+
+2020-06-30  Andy Estes  <aestes@apple.com>
+
+        [Xcode] Enable the "My Mac (Mac Catalyst)" destination in WebKit Xcode projects
+        https://bugs.webkit.org/show_bug.cgi?id=213740
+
+        Reviewed by Darin Adler.
+
+        * Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this
+        project supports building for Mac Catalyst.
+
+2020-06-22  Tim Horton  <timothy_horton@apple.com>
+
+        Update macOS version macros
+        https://bugs.webkit.org/show_bug.cgi?id=213484
+
+        Reviewed by Alexey Proskuryakov.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+        * Configurations/Version.xcconfig:
+        * Configurations/WebKitTargetConditionals.xcconfig:
+
+2020-06-22  Tim Horton  <timothy_horton@apple.com>
+
+        WebGL cannot create a context if there is no GPU on the PCIe bus
+        https://bugs.webkit.org/show_bug.cgi?id=213479
+
+        Reviewed by Maciej Stachowiak and Dean Jackson.
+
+        * src/gpu_info_util/SystemInfo_macos.mm:
+        (angle::GetSystemInfo):
+        Do not bail from WebGL initialization if there are no GPUs on the PCIe bus.
+        Instead, continue on to context creation, and allow the system frameworks
+        to return an error if there truly is no GPU.
+
+2020-06-19  Jonathan Bedard  <jbedard@apple.com>
+
+        [ANGLE] Correct Catalyst guards
+        https://bugs.webkit.org/show_bug.cgi?id=211410
+        <rdar://problem/62891185>
+
+        Reviewed by Dean Jackson.
+
+        * src/libANGLE/renderer/gl/eagl/DeviceEAGL.cpp: Do not compile on Mac.
+        * src/libANGLE/renderer/gl/eagl/DeviceEAGL.h:  Definitions should not be available on Mac.
+        * src/libANGLE/renderer/gl/eagl/DisplayEAGL.h: Definitions should not be available on Mac.
+        * src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm: Do not compile on Mac.
+
+2020-06-10  Dean Jackson  <dino@apple.com>
+
+        Add a dynamic library target for ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=207591
+
+        Reviewed by Tim Horton.
+
+        In preparation for moving to a dynamic library, start
+        by compiling and linking it. It isn't used anywhere
+        but getting it into the build will help Apple's
+        build system remain happy as we migrate, as well
+        as have the system know it exists for building
+        the shared system cache.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * Configurations/ANGLE-dynamic.xcconfig: Added.
+        * Configurations/ANGLE-static.xcconfig: Added.
+        * Configurations/ANGLE.xcconfig: Removed.
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+
+2020-06-07  James Darpinian  <jdarpinian@chromium.org>
+
+        [ANGLE - iOS] fast/canvas/webgl/uninitialized-test.html is still failing
+        https://bugs.webkit.org/show_bug.cgi?id=212249
+
+        Reviewed by Dean Jackson.
+
+        copyTexImage2D is broken in some way on iOS. Work around it by reimplementing
+        it with ANGLE's BlitGL class.
+
+        * include/platform/FeaturesGL.h:
+        * src/libANGLE/renderer/gl/BlitGL.cpp:
+        (rx::BlitGL::blitColorBufferWithShader):
+        * src/libANGLE/renderer/gl/BlitGL.h:
+        * src/libANGLE/renderer/gl/TextureGL.cpp:
+        (rx::TextureGL::copyImage):
+        (rx::TextureGL::copySubImage):
+        * src/libANGLE/renderer/gl/renderergl_utils.cpp:
+        (rx::nativegl_gl::InitializeFeatures):
+        * src/tests/gl_tests/CopyTexImageTest.cpp:
+        * src/tests/gl_tests/TextureTest.cpp:
+        * src/tests/test_utils/angle_test_configs.cpp:
+        (angle::operator<<):
+        * src/tests/test_utils/angle_test_configs.h:
+        (angle::WithEmulateCopyTexImage2DFromRenderbuffers):
+        * util/EGLPlatformParameters.h:
+        (EGLPlatformParameters::tie const):
+        * util/EGLWindow.cpp:
+        (EGLWindow::initializeDisplay):
+
+2020-06-04  Tim Horton  <timothy_horton@apple.com>
+
+        Work around broken system version macro
+        https://bugs.webkit.org/show_bug.cgi?id=212726
+
+        Reviewed by Dan Bernstein.
+
+        * Configurations/DebugRelease.xcconfig:
+
+2020-06-02  Keith Rollin  <krollin@apple.com>
+
+        Change ANGLE's header postprocessing script to not rely on timestamps
+        https://bugs.webkit.org/show_bug.cgi?id=212623
+        <rdar://problem/63856997>
+
+        Reviewed by David Kilzer.
+        Reviewed by Kennneth Russell.
+
+        Some WebKit builds involve multiple passes, where each pass is a
+        superset of the previous pass. In the cases where each pass produces
+        the same files, it is required that files be produced in exactly the
+        same way in each of those passes. A build process that relies on a
+        file containing a timestamp trips up that prerequisite.
+
+        adjust-angle-include-paths.sh uses such a mechanism, using a timestamp
+        file to determine if any exported headers need to be post-processed.
+        Since this violates our prerequisite, we need a different approach.
+        Instead of using a timestamp, always perform the post-processing, but
+        write the output to a temporary location. Then see if it differs from
+        what's in the actual final destination. If the two files diff, then
+        copy the one from the temporary location to the final destination.
+
+        This approach does cause more work in the area of post-processing.
+        However, this post-processing is actually very cheap. And avoiding the
+        post-processing is not actually the original goal of the timestamp.
+        The actual goal is to avoid touching the modification dates of the
+        exported headers, which would then cause a lot of downstream
+        rebuilding. The new approach with the temporary files also achieves
+        that goal.
+
+        * CMakeLists.txt:
+        * adjust-angle-include-paths.sh:
+
+2020-06-02  Kenneth Russell  <kbr@chromium.org>
+
+        Revise PVRTC compressed texture validation in ANGLE backend for WebGL
+        https://bugs.webkit.org/show_bug.cgi?id=212612
+
+        Reviewed by Dean Jackson.
+
+        Correct the block sizes of PVRTC textures, and incorporate minimum
+        block sizes for width and height, as required by these formats.
+
+        * src/libANGLE/formatutils.cpp:
+        (gl::BuildInternalFormatInfoMap):
+        (gl::InternalFormat::computeCompressedImageSize const):
+        (gl::InternalFormat::getCompressedImageMinBlocks const):
+        * src/libANGLE/formatutils.h:
+
+2020-05-29  Keith Rollin  <krollin@apple.com>
+
+        Revert switch to XCBuild
+        https://bugs.webkit.org/show_bug.cgi?id=212530
+        <rdar://problem/63764632>
+
+        Unreviewed build fix.
+
+        Bug 209890 enabled the use of XCBuild by default. Since then, some
+        build issues have shown up. While addressing them, temporarily turn
+        off the use of XCBuild by default.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * Configurations/ANGLE.xcconfig:
+
+2020-05-27  Keith Rollin  <krollin@apple.com>
+
+        Enable the use of XCBuild by default in Apple builds
+        https://bugs.webkit.org/show_bug.cgi?id=209890
+        <rdar://problem/44182078>
+
+        Unreviewed build fix. Check the value of XCODE_VERSION_ACTUAL rather
+        than XCODE_VERSION_MAJOR when determining whether to use the XCBuild
+        or non-XCBuild method of running header post-processing scripts.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+
+2020-05-26  Keith Rollin  <krollin@apple.com>
+
+        Enable the use of XCBuild by default in Apple builds
+        https://bugs.webkit.org/show_bug.cgi?id=209890
+        <rdar://problem/44182078>
+
+        Reviewed by Darin Adler.
+
+        Switch from the "legacy" Xcode build system to the "new" build system
+        (also known as "XCBuild"). Switching to the new system speeds up
+        builds by a small percentage, better validates projects for
+        build-related issues (such as dependency cycles), lets WebKit benefit
+        from future improvements in XCBuild such as those coming from the
+        underlying llbuild open source project, and prepares us for any other
+        tools built for this new ecosystem.
+
+        Specific changes:
+
+        - Remove Xcode project and workspace settings that selected the Build
+          system, allowing the default to take hold (which is currently the
+          New build system).
+        - Updated webkitdirs.pm with a terser check for Xcode version.
+        - Update build-webkit and Makefile.shared to be explicit when using
+          the old build system (no longer treat it as a default or fall-back
+          configuration).
+        - Update various xcconfig files similarly to treat the default as
+          using the new build system.
+        - Update various post-processing build steps to check for Xcode 11.4
+          and to no longer treat the default as using the old build system.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * Configurations/ANGLE.xcconfig:
+
+2020-05-22  Kenneth Russell  <kbr@chromium.org>
+
+        [ANGLE - iOS] webgl/1.0.3/conformance/extensions/ext-sRGB.html is failing
+        https://bugs.webkit.org/show_bug.cgi?id=212277
+
+        Reviewed by Dean Jackson.
+
+        Properly translate GL_EXT_sRGB enums to ES 3.0 enums when
+        GL_EXT_sRGB is not supported.
+
+        * src/libANGLE/renderer/gl/formatutilsgl.cpp:
+        (rx::nativegl::GetNativeInternalFormat):
+        (rx::nativegl::GetNativeFormat):
+
+2020-05-22  Kenneth Russell  <kbr@chromium.org>
+
+        [ANGLE - iOS] fast/canvas/webgl/webgl-depth-texture.html is failing
+        https://bugs.webkit.org/show_bug.cgi?id=212271
+
+        Reviewed by Dean Jackson.
+
+        Use ES 3.0 sized internal formats for unsized depth/stencil
+        textures when the OES_depth_texture extension is unavailable - as
+        is the case in iOS's ES 3.0 driver.
+
+        * src/libANGLE/renderer/gl/formatutilsgl.cpp:
+        (rx::nativegl::GetNativeInternalFormat):
+
+2020-05-21  Dean Jackson  <dino@apple.com>
+
+        PVRTC compressed textures are failing with ANGLE backend
+        https://bugs.webkit.org/show_bug.cgi?id=212240
+        <rdar://problem/63517385>
+
+        Reviewed by Ken Russell (representing ANGLE).
+
+        The values used for the PVRTC formats were incorrect.
+
+        * src/libANGLE/formatutils.cpp:
+        (gl::BuildInternalFormatInfoMap):
+
+2020-05-21  Kenneth Russell  <kbr@chromium.org>
+
+        Roll ANGLE to 2020-05-21
+        https://bugs.webkit.org/show_bug.cgi?id=212228
+
+        Reviewed by Dean Jackson.
+
+        Roll ANGLE to 96a80283cc0fe604d03c0bc0b3f9eb100edd22f9 in the
+        upstream repository using jdarpinian's excellent update-angle.sh
+        script.
+
+        Manually undo the fix from Bug 210992, which was fixed differently
+        upstream.
+
+2020-05-21  Kenneth Russell  <kbr@chromium.org>
+
+        EXT_color_buffer_half_float not exposed on iOS
+        https://bugs.webkit.org/show_bug.cgi?id=212181
+
+        Reviewed by Dean Jackson.
+
+        Remove OES_texture_half_float requirement for advertising
+        EXT_color_buffer_half_float in ANGLE. This is implicit in ES 3.0.
+
+        * src/libANGLE/renderer/gl/formatutilsgl.cpp:
+        (rx::nativegl::BuildInternalFormatInfoMap):
+
+2020-05-20  Kenneth Russell  <kbr@chromium.org>
+
+        OES_texture_half_float_linear unavailable on WebGL 1.0 on iOS with ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=212170
+
+        Reviewed by Dean Jackson.
+
+        Now that FP16 luminance/alpha texture formats are correctly
+        emulated on ES 3.0, advertise them as filterable.
+
+        * src/libANGLE/renderer/gl/formatutilsgl.cpp:
+        (rx::nativegl::BuildInternalFormatInfoMap):
+
+2020-05-20  Kenneth Russell  <kbr@chromium.org>
+
+        OES_texture_float / OES_texture_half_float unavailable in WebGL 1.0 on iOS Simulator with ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=210524
+
+        Reviewed by Dean Jackson.
+
+        Emulate LUMINANCE, ALPHA and LUMINANCE_ALPHA floating-point
+        textures on top of RED / RG textures when the underlying
+        OES_texture_float/half_float OpenGL ES extensions are unavailable.
+
+        This makes the conformance/extensions/oes-texture{-half}-float*
+        tests run and pass in the iOS Simulator.
+
+        This change is being reviewed upstream in the ANGLE repository and
+        is only being uploaded here for testing purposes. It will be
+        rolled in with the next ANGLE update.
+
+        * src/libANGLE/renderer/gl/TextureGL.cpp:
+        (rx::TextureGL::setSwizzle):
+        * src/libANGLE/renderer/gl/formatutilsgl.cpp:
+        (rx::nativegl::BuildInternalFormatInfoMap):
+        (rx::nativegl::IsLUMAFormat):
+        (rx::nativegl::EmulateLUMAFormat):
+        (rx::nativegl::EmulateLUMA):
+        (rx::nativegl::GetNativeInternalFormat):
+        (rx::nativegl::GetNativeFormat):
+        (rx::nativegl::GetNativeType):
+        (rx::nativegl::GetTexImageFormat):
+        (rx::nativegl::GetTexSubImageFormat):
+
+2020-05-18  James Darpinian  <jdarpinian@chromium.org>
+
+        Enable regenerateStructNames workaround on iOS
+        https://bugs.webkit.org/show_bug.cgi?id=212056
+
+        Reviewed by Dean Jackson.
+
+        The WebGL conformance test conformance/glsl/misc/shader-struct-scope.html
+        was failing on iOS. The workaround that fixes this test was enabled only on
+        desktop GL, but it's necessary for iOS as well.
+
+        * src/libANGLE/renderer/gl/renderergl_utils.cpp:
+        (rx::nativegl_gl::InitializeFeatures):
+
+2020-05-14  James Darpinian  <jdarpinian@chromium.org>
+
+        REGRESSION (r259589): Google Maps background layer fades out and back in
+        https://bugs.webkit.org/show_bug.cgi?id=210992
+
+        Reviewed by Dean Jackson.
+
+        ANGLE rendering feedback loop detection was incorrect if a texture attached
+        to a framebuffer was also bound to an active texture unit, and then that texture
+        unit became inactive because a sampler uniform was set.
+
+        * src/libANGLE/Context.cpp:
+        (gl::Context::onSamplerUniformChange):
+        * src/libANGLE/State.cpp:
+        (gl::State::setTextureIndexInactive):
+        * src/libANGLE/State.h:
+
+2020-05-14  Kenneth Russell  <kbr@chromium.org>
+
+        Update ANGLE to 2020-03-27
+        https://bugs.webkit.org/show_bug.cgi?id=209689
+
+        Reviewed by Darin Adler.
+
+        Re-applying this patch now that we have a fix for 210992.
+
+        Use update-angle.sh script by James Darpinian to roll ANGLE to
+        commit b387ce9389ede6a4ed3b831ab1b8187927fa295f in
+        https://chromium.googlesource.com/angle/angle .
+
+        changes.diff has been auto-updated with Apple's diffs relative to
+        upstream. No additional manual changes are made in this roll.
+        Long autogenerated file list omitted.
+
+2020-05-08  David Kilzer  <ddkilzer@apple.com>
+
+        Remove empty directories from from svn.webkit.org repository
+        <https://webkit.org/b/211644>
+
+        Reviewed by Darin Adler.
+
+        * include/vulkan: Removed.
+        * src/android_system_settings: Removed.
+        * third_party/glmark2: Removed.
+        * tools/flex-bison: Removed.
+
+2020-05-07  James Darpinian  <jdarpinian@chromium.org>
+
+        Fix Google Maps rendering corruption in simulator with ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=211398
+
+        glReadPixels call needs to respect the row stride of the IOSurface.
+
+        Reviewed by Alex Christensen.
+
+        * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.h:
+        * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:
+        (rx::IOSurfaceSurfaceEAGL::IOSurfaceSurfaceEAGL):
+        (rx::IOSurfaceSurfaceEAGL::releaseTexImage):
+
+2020-05-07  Dean Jackson  <dino@apple.com>
+
+        Update ANGLE to 2020-03-27
+        https://bugs.webkit.org/show_bug.cgi?id=209689
+
+        Reverting r259589. It caused
+        https://bugs.webkit.org/show_bug.cgi?id=210992
+
+2020-05-05  Saam Barati  <sbarati@apple.com>
+
+        Unreviewed, reverting r261176.
+
+        It broke the build
+
+        Reverted changeset:
+
+        "[ANGLE] Declarations should match definitions"
+        https://bugs.webkit.org/show_bug.cgi?id=211410
+        https://trac.webkit.org/changeset/261176
+
+2020-05-05  Jonathan Bedard  <jbedard@apple.com>
+
+        [ANGLE] Declarations should match definitions
+        https://bugs.webkit.org/show_bug.cgi?id=211410
+
+        Reviewed by Alex Christensen.
+
+        * src/libANGLE/renderer/gl/eagl/DisplayEAGL.h: Skip definitions for platforms
+        where class is undefined.
+        * src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:
+        (rx::DisplayEAGL::generateConfigs): Function is not defined for for MacCatalyst.
+        * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.h: Skip definitions for platforms
+        where class is undefined.
+        * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:
+        * src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.h: Skip definitions for platforms
+        where class is undefined.
+        * src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm:
+
+2020-04-28  ChangSeok Oh  <changseok@webkit.org>
+
+        [GTK] Fix build failures for ANGLE_WEBGL after r259589
+        https://bugs.webkit.org/show_bug.cgi?id=211116
+
+        Reviewed by Alex Christensen.
+
+        The ANGLE_WEBGL is broken after ANGLE is updated in r259589. Missing sources
+        should be added to the build target.
+
+        * PlatformGTK.cmake: Add libangle_gl_egl_sources and libangle_gl_egl_dl_sources.
+
+2020-04-27  Dean Jackson  <dino@apple.com>
+
+        Temporarily skip GL_DEPTH_COMPONENT32_OES requirement for depth textures on iOS
+        https://bugs.webkit.org/show_bug.cgi?id=211055
+        <rdar://problem/62410499>
+
+        Reviewed by Darin Adler.
+
+        ANGLE requires GL_DEPTH_COMPONENT32_OES be available in order to expose the
+        depth texture extension. However, this format is not supported on iOS.
+        Temporarily remove this restriction while investigating other bugs.
+
+        This also allows us to see the failing results in
+        fast/canvas/webgl/webgl-depth-texture.html
+        webgl/1.0.3/conformance/extensions/webgl-depth-texture.html
+
+        * src/libANGLE/Caps.cpp:
+        (gl::DetermineDepthTextureANGLESupport):
+        (gl::DetermineDepthTextureOESSupport):
+
+2020-04-25  Darin Adler  <darin@apple.com>
+
+        [Cocoa] Deal with another round of Xcode upgrade checks
+        https://bugs.webkit.org/show_bug.cgi?id=211027
+
+        Reviewed by Alexey Proskuryakov.
+
+        * ANGLE.xcodeproj/project.pbxproj: Bump the upgrade check version.
+        Add a harmless base localization, rename English localization to en,
+        remove Japanese, French, German; this project contains nothing localized.
+
+2020-04-08  Truitt Savell  <tsavell@apple.com>
+
+        Unreviewed, reverting r259708.
+
+        Broke the iOS device Build
+
+        Reverted changeset:
+
+        "Enable the use of XCBuild by default in Apple builds"
+        https://bugs.webkit.org/show_bug.cgi?id=209890
+        https://trac.webkit.org/changeset/259708
+
+2020-04-08  Keith Rollin  <krollin@apple.com>
+
+        Enable the use of XCBuild by default in Apple builds
+        https://bugs.webkit.org/show_bug.cgi?id=209890
+        <rdar://problem/44182078>
+
+        Reviewed by Darin Adler.
+
+        Switch from the "legacy" Xcode build system to the "new" build system
+        (also known as "XCBuild"). Switching to the new system speeds up
+        builds by a small percentage, better validates projects for
+        build-related issues (such as dependency cycles), lets WebKit benefit
+        from future improvements in XCBuild such as those coming from the
+        underlying llbuild open source project, and prepares us for any other
+        tools built for this new ecosystem.
+
+        Specific changes:
+
+        - Remove Xcode project and workspace settings that selected the Build
+          system, allowing the default to take hold (which is currently the
+          New build system).
+        - Updated webkitdirs.pm with a terser check for Xcode version.
+        - Update build-webkit and Makefile.shared to be explicit when using
+          the old build system (no longer treat it as a default or fall-back
+          configuration).
+        - Update various xcconfig files similarly to treat the default as
+          using the new build system.
+        - Update various post-processing build steps to check for Xcode 11.4
+          and to no longer treat the default as using the old build system.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * Configurations/ANGLE.xcconfig:
+
+2020-04-06  Kenneth Russell  <kbr@chromium.org>
+
+        Update ANGLE to 2020-03-27
+        https://bugs.webkit.org/show_bug.cgi?id=209689
+
+        Reviewed by Darin Adler.
+
+        Use update-angle.sh script by James Darpinian to roll ANGLE to
+        commit b387ce9389ede6a4ed3b831ab1b8187927fa295f in
+        https://chromium.googlesource.com/angle/angle .
+
+        changes.diff has been auto-updated with Apple's diffs relative to
+        upstream. No additional manual changes are made in this roll.
+        Long autogenerated file list omitted.
+
+2020-04-03  Kenneth Russell  <kbr@chromium.org>
+
+        Fix bugs related to VideoTextureCopierCV and ANGLE roll script
+        https://bugs.webkit.org/show_bug.cgi?id=209943
+
+        Reviewed by Dean Jackson.
+
+        Update the update-angle.sh script to take into account the new
+        procedure for generating ANGLE's commit ID header file. This
+        enables ANGLE rolls into WebKit again.
+
+        * update-angle.sh:
+
+2020-04-03  Keith Rollin  <krollin@apple.com>
+
+        Do not link with OpenGL on Apple platforms
+        https://bugs.webkit.org/show_bug.cgi?id=209946
+        <rdar://problem/61237956>
+
+        Reviewed by Sam Weinig.
+
+        OpenGL is not used in our build of ANGLE. Attempting to link with it
+        causes warnings, which can turn into errors in some cases (in
+        particular, when building with Xcode's "new" build system).
+
+        * ANGLE.xcodeproj/project.pbxproj:
+
+2020-04-03  David Kilzer  <ddkilzer@apple.com>
+
+        [Xcode] Replace ASAN_OTHER_CFLAGS and ASAN_OTHER_CPLUSPLUSFLAGS with $(inherited)
+        <https://webkit.org/b/209963>
+        <rdar://problem/61257504>
+
+        Reviewed by Alexey Proskuryakov.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * Configurations/Base.xcconfig:
+        - Remove ASAN_OTHER_CFLAGS, ASAN_OTHER_CPLUSPLUSFLAGS and
+          ASAN_OTHER_LDFLAGS.
+
+2020-03-27  Kenneth Russell  <kbr@chromium.org>
+
+        Use ANGLE_robust_client_memory to replace framebuffer/texture validation
+        https://bugs.webkit.org/show_bug.cgi?id=209098
+
+        Reviewed by Dean Jackson.
+
+        Incorporated fix from anglebug.com/4504 to make
+        fast/canvas/webgl/uninitialized-test.html pass.
+
+        Incorporated fix from anglebug.com/4518 to make:
+         webgl/2.0.0/conformance2/renderbuffers/invalidate-framebuffer.html
+         webgl/2.0.0/conformance2/rendering/blitframebuffer-test.html
+         webgl/2.0.0/conformance2/rendering/rgb-format-support.html
+         webgl/2.0.0/conformance2/state/gl-object-get-calls.html
+         webgl/2.0.0/conformance2/textures/misc/tex-new-formats.html
+        pass.
+
+        * src/libANGLE/Texture.cpp:
+        (gl::Texture::copySubImage):
+        (gl::Texture::ensureSubImageInitialized):
+        * src/libANGLE/renderer/gl/renderergl_utils.cpp:
+        (rx::nativegl_gl::InitializeFeatures):
+
+2020-03-21  Keith Rollin  <krollin@apple.com>
+
+        Set INSTALLHDRS_SCRIPT_PHASE in ANGLE builds
+        https://bugs.webkit.org/show_bug.cgi?id=209384
+        <rdar://problem/59513380>
+
+        Reviewed by Dan Bernstein.
+
+        Production ANGLE builds are technically non-compliant. During the
+        installhdrs build action, ANGLE headers are exported but are not
+        post-processed. This differs from the install build action, where the
+        exported headers *are* post-processed. The headers need to be treated
+        identically under both actions. The post-processing is enabled by
+        setting the INSTALLHDRS_SCRIPT_PHASE build setting to YES. Most other
+        WebKit projects already set this setting (see, for example,
+        https://trac.webkit.org/changeset/155787,
+        https://trac.webkit.org/changeset/110327, and
+        https://trac.webkit.org/changeset/41417).
+
+        * Configurations/ANGLE.xcconfig:
+
+2020-03-15  Michael Catanzaro  <mcatanzaro@gnome.org>
+
+        [ANGLE] Source/ThirdParty/ANGLE/src/common/utilities.cpp:10: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
+        https://bugs.webkit.org/show_bug.cgi?id=209014
+
+        Reviewed by Darin Adler.
+
+        Silence compiler warning.
+
+        * changes.diff:
+        * src/common/utilities.cpp:
+
+2020-03-15  Michael Catanzaro  <mcatanzaro@gnome.org>
+
+        [ANGLE] Source/ThirdParty/ANGLE/src/libANGLE/Display.h:221:73: warning: implicitly-declared ‘egl::AttributeMap& egl::AttributeMap::operator=(const egl::AttributeMap&)’ is deprecated [-Wdeprecated-copy]
+        https://bugs.webkit.org/show_bug.cgi?id=209015
+
+        Reviewed by Darin Adler.
+
+        Suppress compiler warning. If this were WebKit code, I might take the time to fix it, but
+        with third-party code it's probably best to just turn off warnings that upstream is not
+        using.
+
+        * CMakeLists.txt:
+
+2020-03-02  Alan Coon  <alancoon@apple.com>
+
+        Add new Mac target numbers
+        https://bugs.webkit.org/show_bug.cgi?id=208398
+
+        Reviewed by Alexey Proskuryakov.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+        * Configurations/Version.xcconfig:
+        * Configurations/WebKitTargetConditionals.xcconfig:
+
+2020-02-12  Michael Catanzaro  <mcatanzaro@gnome.org>
+
+        Multiple GCC 10 build failures in ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=207365
+
+        Reviewed by Carlos Alberto Lopez Perez.
+
+        * changes.diff: Updated.
+        * include/platform/Platform.h: Add missing #include to get size_t.
+        * src/common/PackedEnums.h: Remove problematic const_casts.
+
+2020-02-12  Dean Jackson  <dino@apple.com>
+
+        ANGLE has unused bison and glmark2 code
+        https://bugs.webkit.org/show_bug.cgi?id=207597
+        rdar://59361460
+
+        Reviewed by Maciej Stachowiak.
+
+        Remove some unused files.
+
+        * changes.diff:
+        * src/tests/perf_tests/glmark2Benchmark.cpp: Removed.
+        * third_party/glmark2/BUILD.gn: Removed.
+        * third_party/glmark2/README.angle: Removed.
+        * tools/flex-bison/README.md: Removed.
+        * tools/flex-bison/linux/bison.sha1: Removed.
+        * tools/flex-bison/linux/flex.sha1: Removed.
+        * tools/flex-bison/third_party/.gitattributes: Removed.
+        * tools/flex-bison/third_party/m4sugar/LICENSE: Removed.
+        * tools/flex-bison/third_party/m4sugar/README.chromium: Removed.
+        * tools/flex-bison/third_party/m4sugar/foreach.m4: Removed.
+        * tools/flex-bison/third_party/m4sugar/m4sugar.m4: Removed.
+        * tools/flex-bison/third_party/skeletons/LICENSE: Removed.
+        * tools/flex-bison/third_party/skeletons/README.chromium: Removed.
+        * tools/flex-bison/third_party/skeletons/bison.m4: Removed.
+        * tools/flex-bison/third_party/skeletons/c-like.m4: Removed.
+        * tools/flex-bison/third_party/skeletons/c.m4: Removed.
+        * tools/flex-bison/third_party/skeletons/yacc.c: Removed.
+        * tools/flex-bison/update_flex_bison_binaries.py: Removed.
+        * tools/flex-bison/windows/bison.exe.sha1: Removed.
+        * tools/flex-bison/windows/flex.exe.sha1: Removed.
+        * tools/flex-bison/windows/m4.exe.sha1: Removed.
+        * tools/flex-bison/windows/msys-2.0.dll.sha1: Removed.
+        * tools/flex-bison/windows/msys-iconv-2.dll.sha1: Removed.
+        * tools/flex-bison/windows/msys-intl-8.dll.sha1: Removed.
+
+2020-02-09  Keith Rollin  <krollin@apple.com>
+
+        Re-enable LTO for ARM builds
+        https://bugs.webkit.org/show_bug.cgi?id=207402
+        <rdar://problem/49190767>
+
+        Reviewed by Sam Weinig.
+
+        Bug 190758 re-enabled LTO for Production builds for x86-family CPUs.
+        Enabling it for ARM was left out due to a compiler issue. That issue
+        has been fixed, and so now we can re-enable LTO for ARM.
+
+        * Configurations/Base.xcconfig:
+
+2020-02-07  Kenneth Russell  <kbr@chromium.org>
+
+        Try adding glBindFramebuffer flush workaround to ANGLE as remedy for flaky WebGL tests
+        https://bugs.webkit.org/show_bug.cgi?id=206625
+
+        Reviewed by Dean Jackson.
+
+        * include/platform/FeaturesGL.h:
+        * src/libANGLE/renderer/gl/StateManagerGL.cpp:
+        (rx::StateManagerGL::bindFramebuffer):
+        * src/libANGLE/renderer/gl/renderergl_utils.cpp:
+        (rx::nativegl_gl::InitializeFeatures):
+
+2020-02-05  Dean Jackson  <dino@apple.com>
+
+        Fix MacCatalyst build.
+
+        * src/libANGLE/validationEGL.cpp:
+        (egl::ValidateCreatePbufferFromClientBuffer):
+
+2020-02-04  James Darpinian  <jdarpinian@chromium.org>
+
+        Update ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=206318
+
+        Several important changes to fix layout test failures and timeouts in this update.
+        - Made expensive validation non-default in debug mode to reduce timeouts.
+        - Optimize disabling ARB_texture_rectangle to make shader compilation much faster.
+        - Flush before texture deletion to work around Mac Intel driver bug.
+
+        Reviewed by Dean Jackson.
+
+        * ANGLE.plist: update commit hash
+        * ANGLE.xcodeproj/project.pbxproj: Add/remove files
+        * Compiler.cmake: Translated from compiler.gni
+        * GLESv2.cmake: Translated from libGLESv2.gni
+        * changes.diff: Now lists all changes from upstream.
+        * update-angle.sh: Diff command was wrong.
+        * Plus a whole lot of changes from upstream.
+
+2020-01-30  James Darpinian  <jdarpinian@chromium.org>
+
+        Update ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=206318
+
+        Take two!
+
+        Several important changes to fix layout test failures and timeouts in this update.
+        - Made expensive validation non-default in debug mode to reduce timeouts.
+        - Optimize disabling ARB_texture_rectangle to make shader compilation much faster.
+        - Flush before texture deletion to work around Mac Intel driver bug.
+
+        Reviewed by Dean Jackson.
+
+        * ANGLE.plist: update commit hash
+        * ANGLE.xcodeproj/project.pbxproj: Add/remove files
+        * Compiler.cmake: Translated from compiler.gni
+        * GLESv2.cmake: Translated from libGLESv2.gni
+        * changes.diff: Now lists all changes from upstream.
+        * update-angle.sh: Diff command was wrong.
+        * Plus a whole lot of changes from upstream.
+
+2020-01-22  James Darpinian  <jdarpinian@chromium.org>
+
+        Update ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=206318
+
+        Several important changes to fix layout test failures and timeouts in this update.
+        - Made expensive validation non-default in debug mode to reduce timeouts.
+        - Optimize disabling ARB_texture_rectangle to make shader compilation much faster.
+        - Flush before texture deletion to work around Mac Intel driver bug.
+
+        Reviewed by Dean Jackson.
+
+        * ANGLE.plist: update commit hash
+        * ANGLE.xcodeproj/project.pbxproj: Add/remove files
+        * Compiler.cmake: Translated from compiler.gni
+        * GLESv2.cmake: Translated from libGLESv2.gni
+        * changes.diff: Now lists all changes from upstream.
+        * update-angle.sh: Diff command was wrong.
+        * Plus a whole lot of changes from upstream.
+
+2020-01-22  James Darpinian  <jdarpinian@chromium.org>
+
+        REGRESSION (r253926): webgl/1.0.3/conformance/rendering/many-draw-calls.html is much slower, times out in debug
+        https://bugs.webkit.org/show_bug.cgi?id=205668
+
+        Disable asserts when compiling ANGLE in release mode by defining
+        NDEBUG.
+
+        Reviewed by Dean Jackson.
+
+        * Configurations/ANGLE.xcconfig:
+
+2020-01-14  Dean Jackson  <dino@apple.com>
+
+        Build ANGLE as a dynamic library
+        https://bugs.webkit.org/show_bug.cgi?id=204708
+        rdar://57349384
+
+        Rolling this out for the 2nd time.
+
+        - it caused issues with the shared dyld cache, because the
+        cache doesn't know to include the libary until it already
+        exists in the build
+        - probably related to the above, we saw some performance
+        regressions directly related to this change
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * Configurations/ANGLE.xcconfig:
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+        * include/CMakeLists.txt:
+        * include/GLSLANG/ShaderLang.h:
+        * include/GLSLANG/ShaderVars.h:
+        * src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
+        (rx::DisplayCGL::isValidNativeWindow const):
+        * src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm:
+        (rx::WindowSurfaceCGL::WindowSurfaceCGL):
+        (rx::WindowSurfaceCGL::~WindowSurfaceCGL):
+        * src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:
+        (rx::DisplayEAGL::terminate):
+        (rx::DisplayEAGL::isValidNativeWindow const):
+        (rx::WorkerContextEAGL::~WorkerContextEAGL):
+        * src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm:
+        (rx::WindowSurfaceEAGL::WindowSurfaceEAGL):
+        (rx::WindowSurfaceEAGL::~WindowSurfaceEAGL):
+
+2020-01-14  Kenneth Russell  <kbr@chromium.org>
+
+        Need workaround for crash in Intel OpenGL driver related to texture copying feedback loops
+        https://bugs.webkit.org/show_bug.cgi?id=205843
+
+        Remove ANGLE workaround introduced in bug 205707, as it was
+        discovered to be incomplete, and was never upstreamed. The correct
+        workaround will be integrated in the next ANGLE roll.
+
+        Reviewed by Dean Jackson.
+
+        * include/platform/FeaturesGL.h:
+        * src/libANGLE/renderer/gl/StateManagerGL.cpp:
+        (rx::StateManagerGL::bindFramebuffer):
+        * src/libANGLE/renderer/gl/renderergl_utils.cpp:
+        (rx::nativegl_gl::InitializeFeatures):
+
+2020-01-08  Kenneth Russell  <kbr@chromium.org>
+
+        Remove some #ifdefs related to iOS port of ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=205781
+
+        Since the port to the iOS Simulator in
+        https://bugs.webkit.org/show_bug.cgi?id=205618 , these #ifdefs
+        should no longer be needed.
+
+        Reviewed by Dean Jackson.
+
+        * src/common/PackedEnums.cpp:
+        (egl_gl::EGLTextureTargetToTextureType):
+        * src/libANGLE/validationES2.cpp:
+        (gl::ValidateFramebufferTexture2D):
+
+2020-01-05  Kenneth Russell  <kbr@chromium.org>
+
+        REGRESSION (r253926): Flaky crashes on webgl/1.0.3/conformance/textures/texture-copying-feedback-loops.html and webgl/2.0.0/conformance/textures/misc/texture-copying-feedback-loops.html
+        https://bugs.webkit.org/show_bug.cgi?id=205707
+
+        Work around bugs in Intel's graphics driver where operations can
+        be incorrectly reordered across glBindFramebuffer calls by
+        flushing before/after these calls. Conclusively addresses this
+        crash; may also address other layout test flakiness seen when
+        switching to ANGLE backend for WebGL.
+
+        Reviewed by Dean Jackson.
+
+        * include/platform/FeaturesGL.h:
+        * src/libANGLE/renderer/gl/StateManagerGL.cpp:
+        (rx::StateManagerGL::bindFramebuffer):
+        * src/libANGLE/renderer/gl/renderergl_utils.cpp:
+        (rx::nativegl_gl::InitializeFeatures):
+
+2020-01-04  Kenneth Russell  <kbr@chromium.org>
+
+        Add support for iOS Simulator to ANGLE backend for WebGL
+        https://bugs.webkit.org/show_bug.cgi?id=205618
+
+        Extend EGL_ANGLE_iosurface_client_buffer extension to require use
+        of TEXTURE_2D target on iOS, and to provide read/write usage hints
+        for the pbuffer created from the IOSurface.
+
+        Emulate missing [EAGLContext texImageIOSurface:...] via texture
+        upload in eglBindTexImage and readback in eglReleaseTexImage.
+
+        These changes will be upstreamed in
+        https://bugs.chromium.org/p/angleproject/issues/detail?id=4256 .
+
+        Reviewed by Dean Jackson.
+
+        * extensions/EGL_ANGLE_iosurface_client_buffer.txt:
+        * include/EGL/eglext_angle.h:
+        * src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:
+        (rx::DisplayEAGL::initialize):
+        * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.h:
+        * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:
+        (rx::IOSurfaceSurfaceEAGL::IOSurfaceSurfaceEAGL):
+        (rx::IOSurfaceSurfaceEAGL::bindTexImage):
+        (rx::IOSurfaceSurfaceEAGL::releaseTexImage):
+        (rx::IOSurfaceSurfaceEAGL::validateAttributes):
+        (rx::IOSurfaceSurfaceEAGL::createDefaultFramebuffer):
+        (rx::IOSurfaceSurfaceEAGL::getIOSurfaceLockOptions const):
+        * src/libANGLE/validationEGL.cpp:
+        (egl::ValidateCreatePbufferFromClientBuffer):
+
+2019-12-25  Dean Jackson  <dino@apple.com>
+
+        [WebGL] Enable ANGLE by default for Cocoa platforms (except simulator)
+        https://bugs.webkit.org/show_bug.cgi?id=205483
+        rdar://56925821
+
+        Reviewed by Simon Fraser.
+
+        Export entry_points_gles_ext_autogen.h.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+
+2019-12-19  Dean Jackson  <dino@apple.com>
+
+        Build ANGLE as a dynamic library
+        https://bugs.webkit.org/show_bug.cgi?id=204708
+        rdar://57349384
+
+        Reviewed by Tim Horton.
+
+        Take 2 at attempting this. The first time was rolled out
+        due to failures in Apple's upstream build system.
+
+        Modify ANGLE to build as a dynamic library. My (not thorough) testing suggests
+        this will reduce the in-flight binary size on Apple's build systems by at least
+        a factor of 10 (it was over 1G). Building release for x86_64-only:
+            - Previously: libANGLE.a -- 306 MB
+            - Now: libANGLE-shared.dylib -- 6.7 MB
+
+        In order to do this, some symbols needed to be exported from the
+        "sh" namespace (which are used in ANGLEWebKitBridge, but not when
+        ANGLE's rendering backend is active).
+
+        While here, I turned on some more build options, like ARC.
+
+        Lastly, I added a build phase that creates a fake libANGLE.a
+        because Apple's build system thinks that WebCore still needs it.
+
+        * ANGLE.xcodeproj/project.pbxproj: Link with IOKit and IOSurface frameworks, and
+        product a dylib product.
+        * Configurations/ANGLE.xcconfig: Update the configuration for a dynamic library.
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+        * include/GLSLANG/ShaderLang.h: Add ANGLE_EXPORT to some functions to make
+        sure they will be visible in the exported library.
+        * include/GLSLANG/ShaderVars.h:
+        * src/libANGLE/renderer/gl/cgl/DisplayCGL.mm: Change reinterpret_cast to a normal
+        C cast so it can be annotated with __bridge.
+        (rx::DisplayCGL::isValidNativeWindow const):
+        * src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm: Ditto.
+        (rx::WindowSurfaceCGL::WindowSurfaceCGL):
+        (rx::WindowSurfaceCGL::~WindowSurfaceCGL):
+        * src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm: Ditto.
+        * src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm: Ditto.
+
+2019-12-19  ChangSeok Oh  <changseok@webkit.org>
+
+        [GTK] Build fix for ANGLE_WEBGL after r253650
+        https://bugs.webkit.org/show_bug.cgi?id=205426
+
+        Reviewed by Carlos Alberto Lopez Perez.
+
+        libglesv2_entry_points_headers was removed in r253650 that updated CMake for ANGLE.
+        GLESv2.cmake seems to be susceptible to ANGLE changes, so it might not be
+        a good place where any platform specific configuration is located.
+        Let's move the entry points header set to CMakeLists.txt.
+
+        * CMakeLists.txt:
+
+2019-12-18  Dean Jackson  <dino@apple.com>
+
+        Reverting libANGLE.a -> libANGLE-shared.dylib.
+
+        Follow-up to remove the build phase that was trying
+        to fool Apple's build system.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+
+2019-12-18  Dean Jackson  <dino@apple.com>
+
+        Reverting libANGLE.a -> libANGLE-shared.dylib.
+
+        The internal Apple build systems are still unhappy with
+        this change, so I'm reverting it until I can be sure
+        they'll accept it.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * Configurations/ANGLE.xcconfig:
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+        * include/CMakeLists.txt:
+        * include/GLSLANG/ShaderLang.h:
+        * include/GLSLANG/ShaderVars.h:
+        * src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
+        (rx::DisplayCGL::isValidNativeWindow const):
+        * src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm:
+        (rx::WindowSurfaceCGL::WindowSurfaceCGL):
+        (rx::WindowSurfaceCGL::~WindowSurfaceCGL):
+        * src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:
+        (rx::DisplayEAGL::terminate):
+        (rx::DisplayEAGL::isValidNativeWindow const):
+        (rx::WorkerContextEAGL::~WorkerContextEAGL):
+        * src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm:
+        (rx::WindowSurfaceEAGL::WindowSurfaceEAGL):
+        (rx::WindowSurfaceEAGL::~WindowSurfaceEAGL):
+
+2019-12-17  Fujii Hironori  <Hironori.Fujii@sony.com>
+
+        Unreviewed build fix for WinCairo port
+        https://bugs.webkit.org/show_bug.cgi?id=204914
+        <rdar://problem/58023118>
+
+        * include/CMakeLists.txt: Replaced '$libangle_includes' with '${libangle_includes}".
+
+2019-12-17  James Darpinian  <jdarpinian@chromium.org>
+
+        Improve update-angle.sh and add gni-to-cmake.py
+        https://bugs.webkit.org/show_bug.cgi?id=204914
+
+        update-angle.sh now performs a git rebase. This automatically merges
+        upstream changes with WebKit's local changes where possible and
+        highlights any conflicts for manual resolution.
+
+        Also, it runs a new script gni-to-cmake.py to automatically update the
+        CMake files with upstream changes to the gni files. Along with the
+        changes to include/CMakeLists.txt, this should prevent build breaks
+        like the recently fixed WinCairo one. Additionally, diffing the CMake
+        files provides a concise list of build changes that can be referenced
+        when manually updating the XCode project file.
+
+        Reviewed by Dean Jackson.
+
+        * CMakeLists.txt:
+        * Compiler.cmake:
+        * GLESv2.cmake:
+        * gni-to-cmake.py: Added.
+        * include/CMakeLists.txt:
+        * update-angle.sh:
+
+2019-12-17  ChangSeok Oh  <changseok@webkit.org>
+
+        Unreviewed build fix for USE_ANGLE_WEBGL after r252994
+
+        * CMakeLists.txt: Add a missing directory separator.
+
+2019-12-13  Dean Jackson  <dino@apple.com>
+
+        MacCatalyst build of libANGLE is installed in the incorrect location
+        https://bugs.webkit.org/show_bug.cgi?id=205219
+        <rdar://problem/57713353>
+
+        Reviewed by Simon Fraser.
+
+        Rename libANGLE.dylib into libANGLE-shared.dylib, so we can
+        avoid accidentally trying to link to the libANGLE.a that was
+        removed recently (but still exists in the SDK for now).
+
+        Also, make sure that we install into the correct location for
+        a Catalyst build.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * Configurations/ANGLE.xcconfig:
+        * Configurations/Base.xcconfig:
+
+2019-12-11  Dean Jackson  <dino@apple.com>
+
+        Produce a dummy libANGLE.a file to fool Apple's build test infrastructure
+        https://bugs.webkit.org/show_bug.cgi?id=205068
+        <rdar://problem/57713353>
+
+        Unreviewed followup to apply the script to Mac Catalyst builds.
+
+        Note that this phase can be removed in a few days when Apple's Test
+        Platform realises it doesn't need libANGLE.a any more.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+
+2019-12-10  Dean Jackson  <dino@apple.com>
+
+        Produce a dummy libANGLE.a file to fool Apple's build test infrastructure
+        https://bugs.webkit.org/show_bug.cgi?id=205068
+        <rdar://problem/57713353>
+
+        Reviewed by Alex Christensen.
+
+        Create a dummy libANGLE.a file until our infrastructure realises it
+        doesn't need that file any more. Hopefully the fact that it isn't
+        really a static library, but just a text file, is ok.
+
+        * ANGLE.xcodeproj/project.pbxproj: Add a new shell script phase that
+        creates a dummy file.
+
+2019-12-06  Dean Jackson  <dino@apple.com>
+
+        Restrict libANGLE to link only with WebCore
+        https://bugs.webkit.org/show_bug.cgi?id=204957
+        <rdar://problem/57708644>
+
+        Reviewed by Brian Burg.
+
+        Restrict to WebCore and WebCoreTestSupport.
+
+        * Configurations/ANGLE.xcconfig:
+
+2019-12-05  James Darpinian  <jdarpinian@chromium.org>
+
+        Finish ANGLE update
+        https://bugs.webkit.org/show_bug.cgi?id=204911
+
+        The last ANGLE update patch didn't include all the changed files.
+        This patch updates the rest of the files.
+
+        Reviewed by Alex Christensen.
+
+        * src/tests: Lots of changed files from upstream ANGLE.
+        * src/third_party/compiler/README.chromium:
+        * third_party/VK-GL-CTS/README.angle: Added.
+        * third_party/deqp/README.angle: Removed.
+        * third_party/googletest/README.angle: Removed.
+        * third_party/libpng/BUILD.gn:
+        * third_party/spirv-cross/README.angle: Added.
+        * util/OSWindow.h:
+        * util/egl_loader_autogen.cpp:
+        (angle::LoadEGL):
+        * util/egl_loader_autogen.h:
+        * util/fuchsia/ScenicWindow.cpp:
+        (ScenicWindow::resetNativeWindow):
+        * util/fuchsia/ScenicWindow.h:
+        * util/gles_loader_autogen.cpp:
+        (angle::LoadGLES):
+        * util/gles_loader_autogen.h:
+        * util/osx/OSXWindow.h:
+        * util/osx/OSXWindow.mm:
+        (OSXWindow::initialize):
+        * util/ozone/OzoneWindow.h:
+        * util/posix/crash_handler_posix.cpp:
+        (angle::InitCrashHandler):
+        * util/posix/test_utils_posix.cpp:
+        (angle::GetTempDir):
+        (angle::CreateTemporaryFileInDir):
+        (angle::DeleteFile):
+        (angle::LaunchProcess):
+        (angle::NumberOfProcessors):
+        * util/shader_utils.cpp:
+        (CompileShaderFromFile):
+        (CompileProgramFromFiles):
+        * util/test_utils.cpp: Added.
+        (angle::CreateTemporaryFile):
+        (angle::GetFileSize):
+        (angle::ReadEntireFileToString):
+        (angle::ProcessHandle::ProcessHandle):
+        (angle::ProcessHandle::~ProcessHandle):
+        (angle::ProcessHandle::operator=):
+        (angle::ProcessHandle::reset):
+        * util/test_utils.h:
+        * util/test_utils_unittest.cpp: Added.
+        (angle::NormalizeNewLines):
+        (angle::TEST):
+        * util/test_utils_unittest_helper.cpp: Added.
+        (main):
+        * util/test_utils_unittest_helper.h: Added.
+        * util/util.gni:
+        * util/windows/WGLWindow.cpp:
+        * util/windows/test_utils_win.cpp:
+        (angle::InitCrashHandler):
+        (angle::TerminateCrashHandler):
+        (angle::LaunchProcess):
+        (angle::GetTempDir):
+        (angle::CreateTemporaryFileInDir):
+        (angle::DeleteFile):
+        (angle::NumberOfProcessors):
+        * util/windows/win32/Win32Window.cpp:
+        (Win32Window::initialize):
+        * util/windows/win32/test_utils_win32.cpp:
+        (angle::StabilizeCPUForBenchmarking):
+        * util/x11/X11Window.h:
+
+2019-12-02  Ross Kirsling  <ross.kirsling@sony.com>
+
+        Unreviewed WinCairo build fix following r252989.
+
+        * include/CMakeLists.txt:
+
+2019-12-02  Dean Jackson  <dino@apple.com>
+
+        Clean up ANGLE header post-process script
+        https://bugs.webkit.org/show_bug.cgi?id=204711
+
+        Reviewed by Tim Horton.
+
+        Since `sed` on macOS requires the in-place argument to have a zero-length string
+        to avoid making backups, this script was attempting to pass ''. However, this was
+        being evaluated, creating a bunch of files with \'\' suffixes. Fix this by using
+        an array when expanding the arguments.
+
+        Also fix a typo where the character "3" was being printed.
+
+        Lastly, only print out the basename of the header file being converted.
+
+        * adjust-angle-include-paths.sh:
+
+2019-11-30  Dean Jackson  <dino@apple.com>
+
+        Build ANGLE as a dynamic library
+        https://bugs.webkit.org/show_bug.cgi?id=204708
+        rdar://57349384
+
+        Reviewed by Tim Horton.
+
+        Modify ANGLE to build as a dynamic library. My (not thorough) testing suggests
+        this will reduce the in-flight binary size on Apple's build systems by at least
+        a factor of 10 (it was over 1G). Building release for x86_64-only:
+            - Previously: libANGLE.a -- 306 MB
+            - Now: libANGLE.dylib -- 6.7 MB
+
+        In order to do this, some symbols needed to be exported from the
+        "sh" namespace (which are used in ANGLEWebKitBridge, but not when
+        ANGLE's rendering backend is active).
+
+        While here, I turned on some more build options, like ARC.
+
+        * ANGLE.xcodeproj/project.pbxproj: Link with IOKit and IOSurface frameworks, and
+        product a dylib product.
+        * Configurations/ANGLE.xcconfig: Update the configuration for a dynamic library.
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+        * Configurations/Version.xcconfig: Added.
+        * Configurations/WebKitTargetConditionals.xcconfig: Added.
+
+        * include/GLSLANG/ShaderLang.h: Add ANGLE_EXPORT to some functions to make
+        sure they will be visible in the exported library.
+        * include/GLSLANG/ShaderVars.h:
+        * src/libANGLE/renderer/gl/cgl/DisplayCGL.mm: Change reinterpret_cast to a normal
+        C cast so it can be annotated with __bridge.
+        (rx::DisplayCGL::isValidNativeWindow const):
+        * src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm: Ditto.
+        (rx::WindowSurfaceCGL::WindowSurfaceCGL):
+        (rx::WindowSurfaceCGL::~WindowSurfaceCGL):
+        * src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm: Ditto.
+        * src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm: Ditto.
+
+2019-12-02  James Darpinian  <jdarpinian@chromium.org>
+
+        Update ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=204595
+
+        Reviewed by Alex Christensen.
+
+        * ANGLE.plist: Updated commit hash.
+        * ANGLE.xcodeproj/project.pbxproj: Changes mirroring gn changes upstream.
+        * Compiler.cmake: Changes mirroring gn changes upstream.
+        * GLESv2.cmake: Changes mirroring gn changes upstream.
+        * CMakeLists.txt: Changes mirroring gn changes upstream.
+
+        * Many other files added/removed/changed from upstream.
+
+
+2019-11-20  ChangSeok Oh  <changseok@webkit.org>
+
+        [GTK] Add ANGLE backend to GTK port
+        https://bugs.webkit.org/show_bug.cgi?id=199060
+
+        Reviewed by Žan Doberšek.
+
+        * CMakeLists.txt: When USE_ANGLE_WEBGL is enabled, necessary glesv2 entry points headers
+          are installed in the derived source directory. And then adjust-angle-include-path.sh is applied
+          to change include paths in the entry points header files.
+        * GLESv2.cmake: libglesv2_entry_points_headers is newly defined, which is a gathering of
+          entry point headers of libGLESv2.
+        * PlatformGTK.cmake: In this file, we append gl and glx related angle code as a build target.
+          Since we want gl context and gles context simultaneously, we remove gl prototype calls
+          from the generated libGLESv2 library. Instead, we invoke egl and gl calls of ANGLE
+          via their non-prototype function names.
+        * adjust-angle-include-paths.sh: sed is slightly different in unix and linux systems.
+          In particular, its inplace option needs to be changed for better compatibility on linux.
+        * include/CMakeLists.txt: ANGLE_WEBGL_HEADERS is newly defined. It gathers header files of ANGLE
+          for WebGL support.
+
+2019-11-08  Dean Jackson  <dino@apple.com>
+
+        Add ANGLE backend for iOS device
+        https://bugs.webkit.org/show_bug.cgi?id=202159
+        <rdar://57000166>
+
+        Build fix. Don't include IOSurface.h on iOS (public SDK doesn't have it).
+
+        * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:
+
+2019-11-07  Dean Jackson  <dino@apple.com>
+
+        Add ANGLE backend for iOS device
+        https://bugs.webkit.org/show_bug.cgi?id=202159
+        <rdar://57000166>
+
+        Reviewed by Myles Maxfield.
+
+        Add an OpenGLES backend over EAGL for iOS to ANGLE.
+
+        This is basically a copy of all the files in
+        libANGLE/renderer/gl/cgl into libANGLE/renderer/gl/eagl, then with
+        modifications to make it work on iOS's OpenGL ES. Most notably,
+        some format enums and the manner in which you bind an IOSurface to
+        a GL texture are different.
+
+        This introduces a few places where we have to do a compile time
+        switch for iOS, some of which might actually be applicable to
+        other OpenGL ES backends.
+
+        The biggest missing piece is support for the iOS simulator. At the moment
+        this backend relies on an IOSurface binding as a rendering target.
+        But the iOS Simulator does not have the required ability to have a
+        GL ES texture backed by an IOSurface.
+
+        The WindowSurfaceEAGL code is incomplete, but was not necessary
+        in order to get WebGL operational. And even if you are using ANGLE
+        directly, you can have the client code render into a CALayer without
+        going through the WindowSurface.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * include/EGL/eglext_angle.h:
+        * src/common/PackedEnums.cpp:
+        (egl_gl::EGLTextureTargetToTextureType):
+        * src/common/platform.h:
+        * src/gpu_info_util/SystemInfo_ios.cpp: Added.
+        (angle::GetSystemInfo):
+        * src/gpu_info_util/SystemInfo_macos.cpp: Renamed from Source/ThirdParty/ANGLE/src/gpu_info_util/SystemInfo_mac.cpp.
+        (angle::GetSystemInfo):
+        * src/libANGLE/Caps.h:
+        * src/libANGLE/Display.cpp:
+        * src/libANGLE/formatutils.cpp:
+        (gl::BuildInternalFormatInfoMap):
+        * src/libANGLE/renderer/gl/cgl/DeviceCGL.cpp:
+        * src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
+        * src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp:
+        (rx::IOSurfaceSurfaceCGL::bindTexImage):
+        * src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.cpp:
+        * src/libANGLE/renderer/gl/cgl/RendererCGL.cpp:
+        * src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm:
+        * src/libANGLE/renderer/gl/eagl/ContextEAGL.cpp: Added.
+        (rx::ContextEAGL::ContextEAGL):
+        * src/libANGLE/renderer/gl/eagl/ContextEAGL.h: Added.
+        * src/libANGLE/renderer/gl/eagl/DeviceEAGL.cpp: Added.
+        (rx::DeviceEAGL::DeviceEAGL):
+        (rx::DeviceEAGL::~DeviceEAGL):
+        (rx::DeviceEAGL::initialize):
+        (rx::DeviceEAGL::getAttribute):
+        (rx::DeviceEAGL::getType):
+        (rx::DeviceEAGL::generateExtensions const):
+        * src/libANGLE/renderer/gl/eagl/DeviceEAGL.h: Added.
+        * src/libANGLE/renderer/gl/eagl/DisplayEAGL.h: Added.
+        * src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm: Added.
+        (rx::FunctionsGLEAGL::FunctionsGLEAGL):
+        (rx::DisplayEAGL::DisplayEAGL):
+        (rx::DisplayEAGL::~DisplayEAGL):
+        (rx::DisplayEAGL::initialize):
+        (rx::DisplayEAGL::terminate):
+        (rx::DisplayEAGL::createWindowSurface):
+        (rx::DisplayEAGL::createPbufferSurface):
+        (rx::DisplayEAGL::createPbufferFromClientBuffer):
+        (rx::DisplayEAGL::createPixmapSurface):
+        (rx::DisplayEAGL::createContext):
+        (rx::DisplayEAGL::createDevice):
+        (rx::DisplayEAGL::generateConfigs):
+        (rx::DisplayEAGL::testDeviceLost):
+        (rx::DisplayEAGL::restoreLostDevice):
+        (rx::DisplayEAGL::isValidNativeWindow const):
+        (rx::DisplayEAGL::validateClientBuffer const):
+        (rx::DisplayEAGL::getVendorString const):
+        (rx::DisplayEAGL::getEAGLContext const):
+        (rx::DisplayEAGL::getEAGLPixelFormat const):
+        (rx::DisplayEAGL::generateExtensions const):
+        (rx::DisplayEAGL::generateCaps const):
+        (rx::DisplayEAGL::waitClient):
+        (rx::DisplayEAGL::waitNative):
+        (rx::DisplayEAGL::getMaxSupportedESVersion const):
+        (rx::DisplayEAGL::makeCurrentSurfaceless):
+        (rx::WorkerContextEAGL::WorkerContextEAGL):
+        (rx::WorkerContextEAGL::~WorkerContextEAGL):
+        (rx::WorkerContextEAGL::makeCurrent):
+        (rx::WorkerContextEAGL::unmakeCurrent):
+        (rx::DisplayEAGL::createWorkerContext):
+        (rx::DisplayEAGL::initializeFrontendFeatures const):
+        (rx::DisplayEAGL::populateFeatureList):
+        * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.h: Added.
+        * src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm: Copied from Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp.
+        (rx::IOSurfaceSurfaceEAGL::IOSurfaceSurfaceEAGL):
+        (rx::IOSurfaceSurfaceEAGL::~IOSurfaceSurfaceEAGL):
+        (rx::IOSurfaceSurfaceEAGL::initialize):
+        (rx::IOSurfaceSurfaceEAGL::makeCurrent):
+        (rx::IOSurfaceSurfaceEAGL::unMakeCurrent):
+        (rx::IOSurfaceSurfaceEAGL::swap):
+        (rx::IOSurfaceSurfaceEAGL::postSubBuffer):
+        (rx::IOSurfaceSurfaceEAGL::querySurfacePointerANGLE):
+        (rx::IOSurfaceSurfaceEAGL::bindTexImage):
+        (rx::IOSurfaceSurfaceEAGL::releaseTexImage):
+        (rx::IOSurfaceSurfaceEAGL::setSwapInterval):
+        (rx::IOSurfaceSurfaceEAGL::getWidth const):
+        (rx::IOSurfaceSurfaceEAGL::getHeight const):
+        (rx::IOSurfaceSurfaceEAGL::isPostSubBufferSupported const):
+        (rx::IOSurfaceSurfaceEAGL::getSwapBehavior const):
+        (rx::IOSurfaceSurfaceEAGL::validateAttributes):
+        (rx::IOSurfaceFramebuffer::IOSurfaceFramebuffer):
+        (rx::IOSurfaceSurfaceEAGL::createDefaultFramebuffer):
+        (rx::IOSurfaceSurfaceEAGL::initializeAlphaChannel):
+        (rx::IOSurfaceSurfaceEAGL::hasEmulatedAlphaChannel const):
+        * src/libANGLE/renderer/gl/eagl/PbufferSurfaceEAGL.cpp: Copied from Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.cpp.
+        (rx::PbufferSurfaceEAGL::PbufferSurfaceEAGL):
+        (rx::PbufferSurfaceEAGL::~PbufferSurfaceEAGL):
+        (rx::PbufferSurfaceEAGL::initialize):
+        (rx::PbufferSurfaceEAGL::makeCurrent):
+        (rx::PbufferSurfaceEAGL::swap):
+        (rx::PbufferSurfaceEAGL::postSubBuffer):
+        (rx::PbufferSurfaceEAGL::querySurfacePointerANGLE):
+        (rx::PbufferSurfaceEAGL::bindTexImage):
+        (rx::PbufferSurfaceEAGL::releaseTexImage):
+        (rx::PbufferSurfaceEAGL::setSwapInterval):
+        (rx::PbufferSurfaceEAGL::getWidth const):
+        (rx::PbufferSurfaceEAGL::getHeight const):
+        (rx::PbufferSurfaceEAGL::isPostSubBufferSupported const):
+        (rx::PbufferSurfaceEAGL::getSwapBehavior const):
+        (rx::PbufferSurfaceEAGL::createDefaultFramebuffer):
+        * src/libANGLE/renderer/gl/eagl/PbufferSurfaceEAGL.h: Added.
+        * src/libANGLE/renderer/gl/eagl/RendererEAGL.cpp: Added.
+        (rx::RendererEAGL::RendererEAGL):
+        (rx::RendererEAGL::~RendererEAGL):
+        (rx::RendererEAGL::createWorkerContext):
+        * src/libANGLE/renderer/gl/eagl/RendererEAGL.h: Added.
+        * src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.h: Added.
+        * src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm: Copied from Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm.
+        (-[WebSwapLayer initWithSharedState:withContext:withFunctions:]):
+        (-[WebSwapLayer display]):
+        (rx::WindowSurfaceEAGL::WindowSurfaceEAGL):
+        (rx::WindowSurfaceEAGL::~WindowSurfaceEAGL):
+        (rx::WindowSurfaceEAGL::initialize):
+        (rx::WindowSurfaceEAGL::makeCurrent):
+        (rx::WindowSurfaceEAGL::swap):
+        (rx::WindowSurfaceEAGL::postSubBuffer):
+        (rx::WindowSurfaceEAGL::querySurfacePointerANGLE):
+        (rx::WindowSurfaceEAGL::bindTexImage):
+        (rx::WindowSurfaceEAGL::releaseTexImage):
+        (rx::WindowSurfaceEAGL::setSwapInterval):
+        (rx::WindowSurfaceEAGL::getWidth const):
+        (rx::WindowSurfaceEAGL::getHeight const):
+        (rx::WindowSurfaceEAGL::isPostSubBufferSupported const):
+        (rx::WindowSurfaceEAGL::getSwapBehavior const):
+        (rx::WindowSurfaceEAGL::createDefaultFramebuffer):
+        * src/libANGLE/renderer/gl/renderergl_utils.cpp:
+        (rx::nativegl_gl::GenerateCaps):
+        * src/libANGLE/validationES2.cpp:
+        (gl::ValidateFramebufferTexture2D):
+        * src/libGLESv2/entry_points_egl_ext.cpp:
+
+2019-11-06  Dean Jackson  <dino@apple.com>
+
+        [ANGLE] IOSurfaceSurfaceCGL has format and internalFormat flipped
+        https://bugs.webkit.org/show_bug.cgi?id=203911
+        <rdar://problem/56954291>
+
+        Reviewed by Simon Fraser.
+
+        Fix a typo where internalFormat and format are used in the
+        wrong order. The table of formats also had them backwards.
+
+        * src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp:
+        (rx::IOSurfaceSurfaceCGL::bindTexImage):
+
+2019-10-29  Dean Jackson  <dino@apple.com>
+
+        [ANGLE] Put Apple platform compilation guards in a better place
+        https://bugs.webkit.org/show_bug.cgi?id=203590
+        <rdar://problem/56722345>
+
+        Reviewed by Simon Fraser.
+
+        Move the #define to platform.h.
+
+        * src/common/platform.h:
+        * 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/RendererCGL.cpp:
+        * src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm:
+
+2019-10-29  Dean Jackson  <dino@apple.com>
+
+        [ANGLE] Window Server blocking stops single GPU systems from creating a CGLPixelFormat
+        https://bugs.webkit.org/show_bug.cgi?id=203522
+        <rdar://problem/56685302>
+
+        Reviewed by Alex Christensen.
+
+        The Web Content Process blocks access to the Window Server. For that reason, we
+        must create all CGLPixelFormats with the "offline renderer" flag, even if we're
+        not on a dual-GPU system.
+
+        * src/libANGLE/renderer/gl/cgl/DisplayCGL.mm: Always enable kCGLPFAAllowOfflineRenderers.
+        (rx::DisplayCGL::initialize):
+
+2019-10-23  Dean Jackson  <dino@apple.com>
+
+        [ANGLE] Improve compile-time macOS guards and avoid ObjC if possible
+        https://bugs.webkit.org/show_bug.cgi?id=203343
+
+        Reviewed by Simon Fraser.
+
+        Use the more official compile-time detection of Apple platforms, so that
+        it will be easier to differentiate between macOS and iOS. Also move some
+        .mm files to .cpp where possible.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * src/gpu_info_util/SystemInfo_mac.cpp: Renamed from Source/ThirdParty/ANGLE/src/gpu_info_util/SystemInfo_mac.mm.
+        (angle::GetSystemInfo):
+        * src/libANGLE/renderer/gl/cgl/DeviceCGL.cpp:
+        * src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
+        * src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp: Renamed from Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.mm.
+        * src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.cpp: Renamed from Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.mm.
+        * src/libANGLE/renderer/gl/cgl/RendererCGL.cpp: Renamed from Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/RendererCGL.mm.
+        * src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm:
+
+2019-10-23  Dean Jackson  <dino@apple.com>
+
+        Don't try to compile .inc files in ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=203315
+
+        Reviewed by Simon Fraser.
+
+        These are headers, not files we need to compile directly.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+
+2019-10-15  Brent Fulgham  <bfulgham@apple.com>
+
+        Unreviewed build fix after r251018
+
+
+        * PlatformFTW.cmake: Add missing dxgi library.
+
+2019-10-12  Stephan Szabo  <stephan.szabo@sony.com>
+
+        Regression (251018): Wincairo build broken: unresolved external symbol
+        https://bugs.webkit.org/show_bug.cgi?id=202879
+
+        Reviewed by Alex Christensen.
+
+        * PlatformWin.cmake: Add dxgi library for CreateDXGIFactory1
+
+2019-10-11  Kenneth Russell  <kbr@chromium.org>
+
+        USE_ANGLE=1 build broken with last ANGLE roll
+        https://bugs.webkit.org/show_bug.cgi?id=202872
+
+        Add FrameCapture_mock.cpp to Xcode and CMake builds.
+
+        Reviewed by Alex Christensen.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * CMakeLists.txt:
+        * GLESv2.cmake:
+
+2019-10-11  Kenneth Russell  <kbr@chromium.org>
+
+        Roll ANGLE for ETC extensions and EGL_ANGLE_device_cgl
+        https://bugs.webkit.org/show_bug.cgi?id=202780
+
+        Roll ANGLE to c5e0ac757a112a24a0118d434e652fd7b558e6a8 via new
+        update-angle.sh script.
+
+        Reviewed by Alex Christensen.
+
+        * .gitignore:
+        * ANGLE.plist:
+        * ANGLE.xcodeproj/project.pbxproj:
+        * BUILD.gn:
+        * CMakeLists.txt:
+        * CONTRIBUTORS:
+        * DEPS:
+        * GLESv2.cmake:
+        * OWNERS:
+        * PRESUBMIT.py:
+        (_CheckExportValidity):
+        (CheckChangeOnUpload):
+        (CheckChangeOnCommit):
+        * README.md:
+        * android/angle_apk.gni:
+        * build_overrides/angle.gni:
+        * changes.diff:
+        * doc/DevSetup.md:
+        * dotfile_settings.gni:
+        * extensions/ANGLE_compressed_texture_etc.txt: Added.
+        * extensions/EGL_ANGLE_device_cgl.txt: Added.
+        * extensions/EGL_ANGLE_feature_control.txt:
+        * extensions/EGL_ANGLE_platform_angle_d3d11on12.txt: Added.
+        * extensions/EGL_ANGLE_platform_angle_device_type_swiftshader.txt: Added.
+        * extensions/EGL_ANGLE_platform_angle_metal.txt: Added.
+        * gni/angle.gni:
+        * include/EGL/eglext_angle.h:
+        * include/platform/Feature.h:
+        (angle::Feature::Feature):
+        * include/platform/FeaturesD3D.h:
+        * include/platform/FeaturesGL.h:
+        * include/platform/FeaturesVk.h:
+        * include/platform/FrontendFeatures.h:
+        * samples/WindowTest/WindowTest.cpp:
+        * samples/gles1/DrawTexture.cpp:
+        * samples/multi_texture/MultiTexture.cpp:
+        * samples/multiple_draw_buffers/MultipleDrawBuffers.cpp:
+        * samples/particle_system/ParticleSystem.cpp:
+        * samples/sample_util/SampleApplication.cpp:
+        (SampleApplication::SampleApplication):
+        * samples/sample_util/SampleApplication.h:
+        * scripts/code_generation_hashes/ANGLE_format.json:
+        * scripts/code_generation_hashes/ANGLE_load_functions_table.json:
+        * scripts/code_generation_hashes/D3D11_format.json:
+        * scripts/code_generation_hashes/DXGI_format.json:
+        * scripts/code_generation_hashes/GL_EGL_WGL_loader.json:
+        * scripts/code_generation_hashes/GL_EGL_entry_points.json:
+        * scripts/code_generation_hashes/OpenGL_dispatch_table.json:
+        * scripts/code_generation_hashes/Static_builtins.json:
+        * scripts/code_generation_hashes/Vulkan_format.json:
+        * scripts/code_generation_hashes/Vulkan_internal_shader_programs.json:
+        * scripts/code_generation_hashes/Vulkan_mandatory_format_support_table.json:
+        * scripts/code_generation_hashes/proc_table.json:
+        * scripts/export_targets.py:
+        (has_all_includes):
+        * scripts/generate_entry_points.py:
+        (get_resource_id_types):
+        (format_resource_id_types):
+        (write_capture_helper_header):
+        (get_resource_id_type_from_param_type):
+        (format_param_type_to_resource_id_type_case):
+        (format_param_type_resource_id_cases):
+        (format_resource_id_type_name_case):
+        (write_capture_helper_source):
+        * scripts/generate_vulkan_layers_json.py:
+        (main):
+        * scripts/registry_xml.py:
+        * src/common/PackedEnums.cpp:
+        (gl::operator<<):
+        * src/common/PackedEnums.h:
+        (angle::EnumSize<E>):
+        (gl::FromGLenum<VertexAttribType>):
+        (gl::ToGLenum):
+        (gl::ValueEquals):
+        (gl::operator==):
+        (gl::operator!=):
+        * src/common/android_util.cpp:
+        (angle::android::NativePixelFormatToGLInternalFormat):
+        * src/common/angleutils.h:
+        * src/common/debug.h:
+        * src/common/platform.h:
+        * src/common/system_utils_winuwp.cpp: Added.
+        (angle::SetEnvironmentVar):
+        (angle::GetEnvironmentVar):
+        (angle::GetSharedLibraryExtension):
+        (angle::GetPathSeparator):
+        (angle::GetCurrentTime):
+        (angle::UwpLibrary::UwpLibrary):
+        (angle::OpenSharedLibrary):
+        (angle::IsDebuggerAttached):
+        (angle::BreakDebugger):
+        * src/common/tls.cpp:
+        (CreateTLSIndex):
+        (DestroyTLSIndex):
+        (SetTLSValue):
+        (GetTLSValue):
+        * src/common/tls.h:
+        * src/common/utilities.cpp:
+        (gl::StripLastArrayIndex):
+        * src/common/utilities.h:
+        * src/compiler.gni:
+        * src/compiler/translator/Compiler.cpp:
+        (sh::TCompiler::compileTreeImpl):
+        * src/compiler/translator/ImmutableString_ESSL_autogen.cpp:
+        * src/compiler/translator/ImmutableString_autogen.cpp:
+        * src/compiler/translator/IntermNode.h:
+        (sh::TIntermPreprocessorDirective::getDirective const): Deleted.
+        (sh::TIntermPreprocessorDirective::getCommand const): Deleted.
+        * src/compiler/translator/ParseContext.cpp:
+        (sh::TParseContext::TParseContext):
+        (sh::TParseContext::checkIsValidArraySize):
+        (sh::TParseContext::parseFunctionDeclarator):
+        * src/compiler/translator/ParseContext.h:
+        (sh::TParseContext::getOutputType const):
+        * src/compiler/translator/ShaderVars.cpp:
+        (sh::ShaderVariable::operator=):
+        * src/compiler/translator/SymbolTable.cpp:
+        (sh::TSymbolTable::setGlInArraySize):
+        (sh::TSymbolTable::gl_FragData const):
+        (sh::TSymbolTable::gl_SecondaryFragDataEXT const):
+        (sh::SymbolRule::get const):
+        (sh::FindMangledBuiltIn):
+        (sh::UnmangledEntry::matches const):
+        * src/compiler/translator/SymbolTable.h:
+        (sh::SymbolRule::SymbolRule):
+        (sh::SymbolRule::Get):
+        (sh::UnmangledEntry::UnmangledEntry):
+        (sh::SymbolEntry::SymbolEntry): Deleted.
+        * src/compiler/translator/SymbolTable_ESSL_autogen.cpp:
+        (sh::BuiltInVariable::angle_BaseInstance):
+        (sh::BuiltInVariable::angle_BaseVertex):
+        (sh::BuiltInVariable::gl_BaseInstance):
+        (sh::BuiltInVariable::gl_BaseVertex):
+        (sh::BuiltInVariable::gl_DrawID):
+        (sh::BuiltInVariable::gl_FragColor):
+        (sh::BuiltInVariable::gl_FragCoord):
+        (sh::BuiltInVariable::gl_FragDepth):
+        (sh::BuiltInVariable::gl_FrontFacing):
+        (sh::BuiltInVariable::gl_GlobalInvocationID):
+        (sh::BuiltInVariable::gl_InstanceID):
+        (sh::BuiltInVariable::gl_InstanceIndex):
+        (sh::BuiltInVariable::gl_InvocationID):
+        (sh::BuiltInVariable::gl_LastFragColor):
+        (sh::BuiltInVariable::gl_LastFragColorARM):
+        (sh::BuiltInVariable::gl_Layer):
+        (sh::BuiltInVariable::gl_LayerGS):
+        (sh::BuiltInVariable::gl_LayerVS):
+        (sh::BuiltInVariable::gl_LocalInvocationID):
+        (sh::BuiltInVariable::gl_LocalInvocationIndex):
+        (sh::BuiltInVariable::gl_NumWorkGroups):
+        (sh::BuiltInVariable::gl_PointCoord):
+        (sh::BuiltInVariable::gl_PointSize):
+        (sh::BuiltInVariable::gl_Position):
+        (sh::BuiltInVariable::gl_PrimitiveID):
+        (sh::BuiltInVariable::gl_PrimitiveIDGS):
+        (sh::BuiltInVariable::gl_PrimitiveIDIn):
+        (sh::BuiltInVariable::gl_SecondaryFragColorEXT):
+        (sh::BuiltInVariable::gl_VertexID):
+        (sh::BuiltInVariable::gl_VertexIndex):
+        (sh::BuiltInVariable::gl_ViewID_OVR):
+        (sh::BuiltInVariable::gl_ViewportIndex):
+        (sh::BuiltInVariable::gl_WorkGroupID):
+        (sh::BuiltInVariable::gl_WorkGroupSize):
+        (sh::TSymbolTable::initializeBuiltInVariables):
+        (sh::TSymbolTable::findBuiltIn const):
+        (sh::TSymbolTable::isUnmangledBuiltInName const):
+        (sh::TSymbolTable::getSymbol const): Deleted.
+        (sh::TSymbolTable::getUnmangled const): Deleted.
+        (sh::TSymbolTable::getUnmangledBuiltInForShaderVersion): Deleted.
+        * src/compiler/translator/SymbolTable_autogen.cpp:
+        (sh::BuiltInVariable::angle_BaseInstance):
+        (sh::BuiltInVariable::angle_BaseVertex):
+        (sh::BuiltInVariable::gl_BaseInstance):
+        (sh::BuiltInVariable::gl_BaseVertex):
+        (sh::BuiltInVariable::gl_DrawID):
+        (sh::BuiltInVariable::gl_FragColor):
+        (sh::BuiltInVariable::gl_FragCoord):
+        (sh::BuiltInVariable::gl_FragDepth):
+        (sh::BuiltInVariable::gl_FrontFacing):
+        (sh::BuiltInVariable::gl_GlobalInvocationID):
+        (sh::BuiltInVariable::gl_InstanceID):
+        (sh::BuiltInVariable::gl_InstanceIndex):
+        (sh::BuiltInVariable::gl_InvocationID):
+        (sh::BuiltInVariable::gl_LastFragColor):
+        (sh::BuiltInVariable::gl_LastFragColorARM):
+        (sh::BuiltInVariable::gl_Layer):
+        (sh::BuiltInVariable::gl_LayerGS):
+        (sh::BuiltInVariable::gl_LayerVS):
+        (sh::BuiltInVariable::gl_LocalInvocationID):
+        (sh::BuiltInVariable::gl_LocalInvocationIndex):
+        (sh::BuiltInVariable::gl_NumWorkGroups):
+        (sh::BuiltInVariable::gl_PointCoord):
+        (sh::BuiltInVariable::gl_PointSize):
+        (sh::BuiltInVariable::gl_Position):
+        (sh::BuiltInVariable::gl_PrimitiveID):
+        (sh::BuiltInVariable::gl_PrimitiveIDGS):
+        (sh::BuiltInVariable::gl_PrimitiveIDIn):
+        (sh::BuiltInVariable::gl_SecondaryFragColorEXT):
+        (sh::BuiltInVariable::gl_VertexID):
+        (sh::BuiltInVariable::gl_VertexIndex):
+        (sh::BuiltInVariable::gl_ViewID_OVR):
+        (sh::BuiltInVariable::gl_ViewportIndex):
+        (sh::BuiltInVariable::gl_WorkGroupID):
+        (sh::BuiltInVariable::gl_WorkGroupSize):
+        (sh::TSymbolTable::initializeBuiltInVariables):
+        (sh::TSymbolTable::findBuiltIn const):
+        (sh::TSymbolTable::isUnmangledBuiltInName const):
+        (sh::TSymbolTable::getSymbol const): Deleted.
+        (sh::TSymbolTable::getUnmangled const): Deleted.
+        (sh::TSymbolTable::getUnmangledBuiltInForShaderVersion): Deleted.
+        * src/compiler/translator/SymbolTable_autogen.h:
+        * src/compiler/translator/TranslatorVulkan.cpp:
+        (sh::TranslatorVulkan::translate):
+        * src/compiler/translator/gen_builtin_symbols.py:
+        (get_shader_version_for_level):
+        (GroupedList.__init__):
+        (GroupedList.add_entry):
+        (GroupedList.format_rule):
+        (GroupedList):
+        (GroupedList.format_rules):
+        (GroupedList.get_rules):
+        (GroupedList.get_names):
+        (GroupedList.get_offsets):
+        (GroupedList.update_arrays):
+        (GroupedList.update_arrays.add_rule):
+        (UnmangledGroupedList.add_entry):
+        (UnmangledGroupedList.get_array):
+        (define_constexpr_variable):
+        (process_single_function_group):
+        (process_function_group):
+        (process_single_variable_group):
+        (GroupedList.add_obj): Deleted.
+        (GroupedList.get_array): Deleted.
+        (UnmangledGroupedList.add_obj): Deleted.
+        * src/feature_support_util/feature_support_util.cpp:
+        * src/gpu_info_util/SystemInfo_win.cpp:
+        (angle::GetSystemInfo):
+        * src/image_util/loadimage.cpp:
+        (angle::LoadD24S8ToD32F):
+        (angle::LoadD32ToD32FX32):
+        (angle::LoadD32ToD32F):
+        * src/image_util/loadimage.h:
+        * src/libANGLE/Buffer.cpp:
+        (gl::Buffer::Buffer):
+        * src/libANGLE/Buffer.h:
+        * src/libANGLE/Caps.cpp:
+        (gl::DetermineHalfFloatTextureFilteringSupport):
+        (gl::DetermineFloatTextureFilteringSupport):
+        (gl::Extensions::setTextureExtensionSupport):
+        (gl::GetExtensionInfoMap):
+        (egl::DisplayExtensions::getStrings const):
+        (egl::DeviceExtensions::getStrings const):
+        (egl::ClientExtensions::getStrings const):
+        * src/libANGLE/Caps.h:
+        * src/libANGLE/Constants.h:
+        * src/libANGLE/Context.cpp:
+        (gl::Context::Context):
+        (gl::Context::initialize):
+        (gl::Context::onDestroy):
+        (gl::Context::bindImageTexture):
+        (gl::Context::getQueryiv):
+        (gl::Context::detachTexture):
+        (gl::Context::generateSupportedExtensions const):
+        (gl::Context::initCaps):
+        (gl::Context::onSubjectStateChange):
+        (gl::StateCache::updateActiveAttribsMask):
+        (gl::StateCache::updateVertexAttribTypesValidation):
+        * src/libANGLE/Context.h:
+        * src/libANGLE/Device.cpp:
+        (egl::Device::getAttribute):
+        (egl::Device::getDevice): Deleted.
+        * src/libANGLE/Device.h:
+        * src/libANGLE/Display.cpp:
+        (egl::Display::createContext):
+        (egl::GenerateClientExtensions):
+        (egl::Display::isValidNativeDisplay):
+        (egl::Display::initializeFrontendFeatures):
+        (egl::Display::queryStringi):
+        * src/libANGLE/ErrorStrings.h:
+        * src/libANGLE/Fence.h:
+        * src/libANGLE/FrameCapture.cpp:
+        (angle::ParamCapture::ParamCapture):
+        (angle::ParamCapture::operator=):
+        (angle::ParamBuffer::ParamBuffer):
+        (angle::ParamBuffer::operator=):
+        (angle::ParamBuffer::getParam):
+        (angle::ParamBuffer::getParam const):
+        (angle::ParamBuffer::addParam):
+        (angle::ParamBuffer::addReturnValue):
+        (angle::ParamBuffer::getClientArrayPointerParameter):
+        (angle::CallCapture::CallCapture):
+        (angle::CallCapture::operator=):
+        (angle::CallCapture::name const):
+        (angle::ReplayContext::ReplayContext):
+        (angle::ReplayContext::~ReplayContext):
+        (angle::FrameCapture::FrameCapture):
+        (angle::FrameCapture::maybeCaptureClientData):
+        (angle::FrameCapture::captureCall):
+        (angle::FrameCapture::captureUpdateResourceIDs):
+        (angle::FrameCapture::maybeUpdateResourceIDs):
+        (angle::FrameCapture::captureClientArraySnapshot):
+        (angle::FrameCapture::onEndFrame):
+        (angle::DataCounters::getAndIncrement):
+        (angle::FrameCapture::reset):
+        (angle::CaptureGenHandlesImpl):
+        (angle::WriteParamValueToStream<ParamType::TBufferID>):
+        (angle::WriteParamValueToStream<ParamType::TFenceNVID>):
+        (angle::WriteParamValueToStream<ParamType::TFramebufferID>):
+        (angle::WriteParamValueToStream<ParamType::TMemoryObjectID>):
+        (angle::WriteParamValueToStream<ParamType::TPathID>):
+        (angle::WriteParamValueToStream<ParamType::TProgramPipelineID>):
+        (angle::WriteParamValueToStream<ParamType::TQueryID>):
+        (angle::WriteParamValueToStream<ParamType::TRenderbufferID>):
+        (angle::WriteParamValueToStream<ParamType::TSamplerID>):
+        (angle::WriteParamValueToStream<ParamType::TSemaphoreID>):
+        (angle::WriteParamValueToStream<ParamType::TShaderProgramID>):
+        (angle::WriteParamValueToStream<ParamType::TTextureID>):
+        (angle::WriteParamValueToStream<ParamType::TTransformFeedbackID>):
+        (angle::WriteParamValueToStream<ParamType::TVertexArrayID>):
+        (angle::CallCapture::~CallCapture): Deleted.
+        (angle::ParamBuffer::~ParamBuffer): Deleted.
+        (angle::ParamCapture::~ParamCapture): Deleted.
+        (angle::FrameCapture::~FrameCapture): Deleted.
+        (angle::FrameCapture::anyClientArray const): Deleted.
+        (angle::FrameCapture::saveCapturedFrameAsCpp): Deleted.
+        (angle::FrameCapture::getAndIncrementCounter): Deleted.
+        (angle::FrameCapture::writeStringPointerParamReplay): Deleted.
+        (angle::FrameCapture::writeRenderbufferIDPointerParamReplay): Deleted.
+        (angle::FrameCapture::writeBinaryParamReplay): Deleted.
+        (angle::FrameCapture::writeCallReplay): Deleted.
+        * src/libANGLE/FrameCapture.h:
+        (angle::CaptureGenHandles):
+        * src/libANGLE/FrameCapture_mock.cpp: Added.
+        (angle::CallCapture::~CallCapture):
+        (angle::ParamBuffer::~ParamBuffer):
+        (angle::ParamCapture::~ParamCapture):
+        (angle::FrameCapture::FrameCapture):
+        (angle::FrameCapture::~FrameCapture):
+        (angle::FrameCapture::onEndFrame):
+        (angle::FrameCapture::replay):
+        * src/libANGLE/Framebuffer.cpp:
+        (gl::Framebuffer::formsRenderingFeedbackLoopWith const):
+        (gl::Framebuffer::formsCopyingFeedbackLoopWith const):
+        * src/libANGLE/Framebuffer.h:
+        * src/libANGLE/FramebufferAttachment.cpp:
+        (gl::FramebufferAttachment::getRedSize const):
+        (gl::FramebufferAttachment::getGreenSize const):
+        (gl::FramebufferAttachment::getBlueSize const):
+        (gl::FramebufferAttachment::getAlphaSize const):
+        (gl::FramebufferAttachment::getDepthSize const):
+        (gl::FramebufferAttachment::getStencilSize const):
+        * src/libANGLE/FramebufferAttachment.h:
+        * src/libANGLE/GLES1State.cpp:
+        (gl::GLES1State::getActiveAttributesMask const):
+        * src/libANGLE/GLES1State.h:
+        * src/libANGLE/ImageIndex.cpp:
+        * src/libANGLE/ImageIndex.h:
+        * src/libANGLE/MemoryObject.cpp:
+        (gl::MemoryObject::MemoryObject):
+        * src/libANGLE/MemoryObject.h:
+        * src/libANGLE/MemoryProgramCache.cpp:
+        * src/libANGLE/Program.cpp:
+        (gl::ProgramBindings::bindLocation):
+        (gl::ProgramBindings::getBindingByName const):
+        (gl::ProgramBindings::getBinding const):
+        (gl::ProgramBindings::begin const):
+        (gl::ProgramBindings::end const):
+        (gl::ProgramAliasedBindings::ProgramAliasedBindings):
+        (gl::ProgramAliasedBindings::~ProgramAliasedBindings):
+        (gl::ProgramAliasedBindings::bindLocation):
+        (gl::ProgramAliasedBindings::getBindingByName const):
+        (gl::ProgramAliasedBindings::getBinding const):
+        (gl::ProgramAliasedBindings::begin const):
+        (gl::ProgramAliasedBindings::end const):
+        (gl::ProgramState::getAttributeLocation const):
+        (gl::ProgramState::getFirstAttachedShaderStageType const):
+        (gl::ProgramState::getLastAttachedShaderStageType const):
+        (gl::Program::getFragmentInputBindingInfo const):
+        (gl::Program::link):
+        (gl::ProgramState::updateProgramInterfaceInputs):
+        (gl::ProgramState::updateProgramInterfaceOutputs):
+        (gl::Program::unlink):
+        (gl::Program::getActiveAttribute const):
+        (gl::Program::getActiveAttributeCount const):
+        (gl::Program::getActiveAttributeMaxLength const):
+        (gl::Program::getAttributes const):
+        (gl::Program::getInputResource const):
+        (gl::Program::getInputResourceIndex const):
+        (gl::Program::getResourceMaxNameSize const):
+        (gl::Program::getInputResourceMaxNameSize const):
+        (gl::Program::getOutputResourceMaxNameSize const):
+        (gl::Program::getResourceLocation const):
+        (gl::Program::getInputResourceLocation const):
+        (gl::Program::getOutputResourceLocation const):
+        (gl::Program::getOutputResourceIndex const):
+        (gl::Program::getResourceName const):
+        (gl::Program::getInputResourceName const):
+        (gl::Program::getOutputResourceName const):
+        (gl::Program::getUniformResourceName const):
+        (gl::Program::getBufferVariableResourceName const):
+        (gl::Program::getOutputResource const):
+        (gl::Program::getUniformLocationBindings const):
+        (gl::Program::linkUniforms):
+        (gl::Program::linkAttributes):
+        (gl::Program::linkValidateGlobalNames const):
+        (gl::Program::getMergedVaryings const):
+        (gl::Program::linkOutputVariables):
+        (gl::Program::serialize const):
+        (gl::Program::deserialize):
+        * src/libANGLE/Program.h:
+        (gl::ProgramVaryingRef::get const):
+        * src/libANGLE/ProgramLinkedResources.cpp:
+        (gl::UniformLinker::link):
+        (gl::UniformLinker::indexUniforms):
+        (gl::UniformLinker::gatherUniformLocationsAndCheckConflicts):
+        * src/libANGLE/ProgramLinkedResources.h:
+        * src/libANGLE/ProgramPipeline.cpp:
+        (gl::ProgramPipeline::ProgramPipeline):
+        * src/libANGLE/ProgramPipeline.h:
+        * src/libANGLE/Query.cpp:
+        (gl::Query::Query):
+        * src/libANGLE/Query.h:
+        * src/libANGLE/RefCountObject.h:
+        (gl::RefCountObject::RefCountObject):
+        (gl::RefCountObject::id const):
+        (gl::BindingPointer::id const):
+        * src/libANGLE/Renderbuffer.cpp:
+        (gl::Renderbuffer::Renderbuffer):
+        (gl::Renderbuffer::getId const):
+        * src/libANGLE/Renderbuffer.h:
+        * src/libANGLE/Sampler.cpp:
+        (gl::Sampler::Sampler):
+        * src/libANGLE/Sampler.h:
+        * src/libANGLE/Semaphore.cpp:
+        (gl::Semaphore::Semaphore):
+        * src/libANGLE/Semaphore.h:
+        * src/libANGLE/Shader.cpp:
+        (gl::Shader::resolveCompile):
+        (gl::Shader::getTransformFeedbackVaryingMappedName):
+        * src/libANGLE/State.cpp:
+        (gl::State::getSamplerTextureId const):
+        (gl::State::detachTexture):
+        (gl::State::detachSampler):
+        (gl::State::detachRenderbuffer):
+        (gl::State::removeTransformFeedbackBinding):
+        (gl::State::getActiveQueryId const):
+        (gl::State::detachBuffer):
+        (gl::State::getIntegerv):
+        (gl::State::getIntegeri_v):
+        (gl::State::syncImages):
+        (gl::State::onImageStateChange):
+        * src/libANGLE/State.h:
+        (gl::State::getSamplerId const):
+        (gl::State::getRenderbufferId const):
+        * src/libANGLE/Texture.cpp:
+        (gl::Texture::Texture):
+        (gl::Texture::setStorage):
+        (gl::Texture::getId const):
+        * src/libANGLE/Texture.h:
+        * src/libANGLE/TransformFeedback.cpp:
+        (gl::TransformFeedback::TransformFeedback):
+        (gl::TransformFeedback::detachBuffer):
+        * src/libANGLE/TransformFeedback.h:
+        * src/libANGLE/VaryingPacking.cpp:
+        (gl::VaryingPacking::collectAndPackUserVaryings):
+        (gl::VaryingPacking::packUserVaryings):
+        * src/libANGLE/VertexArray.cpp:
+        (gl::VertexArray::detachBuffer):
+        (gl::VertexArray::bindVertexBufferImpl):
+        * src/libANGLE/VertexArray.h:
+        * src/libANGLE/capture_gles_2_0_params.cpp:
+        (gl::CaptureDeleteBuffers_buffersPacked):
+        (gl::CaptureDeleteFramebuffers_framebuffersPacked):
+        (gl::CaptureDeleteTextures_texturesPacked):
+        (gl::CaptureGenBuffers_buffersPacked):
+        (gl::CaptureGenFramebuffers_framebuffersPacked):
+        (gl::CaptureGenRenderbuffers_renderbuffersPacked):
+        (gl::CaptureGenTextures_texturesPacked):
+        (gl::CaptureShaderSource_string):
+        * src/libANGLE/capture_gles_3_0_params.cpp:
+        (gl::CaptureDeleteQueries_idsPacked):
+        (gl::CaptureDeleteSamplers_samplersPacked):
+        (gl::CaptureDeleteTransformFeedbacks_idsPacked):
+        (gl::CaptureDeleteVertexArrays_arraysPacked):
+        (gl::CaptureGenQueries_idsPacked):
+        (gl::CaptureGenSamplers_samplersPacked):
+        (gl::CaptureGenTransformFeedbacks_idsPacked):
+        (gl::CaptureGenVertexArrays_arraysPacked):
+        * src/libANGLE/capture_gles_3_1_params.cpp:
+        (gl::CaptureDeleteProgramPipelines_pipelinesPacked):
+        (gl::CaptureGenProgramPipelines_pipelinesPacked):
+        * src/libANGLE/capture_gles_ext_params.cpp:
+        (gl::CaptureDeleteQueriesEXT_idsPacked):
+        (gl::CaptureGenQueriesEXT_idsPacked):
+        * src/libANGLE/features.h:
+        * src/libANGLE/formatutils.cpp:
+        (gl::UnsizedHalfFloatOESRGBATextureAttachmentSupport):
+        (gl::BuildInternalFormatInfoMap):
+        (gl::InternalFormat::computeDepthPitch const):
+        (gl::GetVertexFormatID):
+        (gl::GetVertexFormatFromID):
+        (gl::GetVertexFormatSize):
+        * src/libANGLE/frame_capture_utils_autogen.cpp:
+        (angle::GetResourceIDTypeFromParamType):
+        (angle::GetResourceIDTypeName):
+        * src/libANGLE/frame_capture_utils_autogen.h:
+        * src/libANGLE/queryutils.cpp:
+        (gl::GetBufferVariableResourceProperty):
+        (gl::QueryProgramResourceLocation):
+        (gl::QueryProgramResourceiv):
+        (egl::QueryContextAttrib):
+        * src/libANGLE/renderer/DeviceImpl.h:
+        * src/libANGLE/renderer/Format.h:
+        (angle::Format::isVertexTypeHalfFloat const):
+        * src/libANGLE/renderer/FormatID_autogen.h:
+        * src/libANGLE/renderer/Format_table_autogen.cpp:
+        (angle::Format::InternalFormatToID):
+        * src/libANGLE/renderer/angle_format.py:
+        (gl_format_channels):
+        (get_vertex_copy_function):
+        * src/libANGLE/renderer/angle_format_map.json:
+        * src/libANGLE/renderer/copyvertex.h:
+        * src/libANGLE/renderer/copyvertex.inc.h:
+        (rx::CopyTo32FVertexData):
+        (rx::CopyXYZ10ToXYZW32FVertexData):
+        (rx::CopyW2XYZ10ToXYZW32FVertexData):
+        * src/libANGLE/renderer/d3d/DeviceD3D.cpp:
+        (rx::DeviceD3D::getAttribute):
+        (rx::DeviceD3D::getDevice): Deleted.
+        * src/libANGLE/renderer/d3d/DeviceD3D.h:
+        * src/libANGLE/renderer/d3d/HLSLCompiler.cpp:
+        (rx::HLSLCompiler::ensureInitialized):
+        (rx::HLSLCompiler::compileToBinary):
+        * src/libANGLE/renderer/d3d/ProgramD3D.cpp:
+        (rx::ProgramD3D::getVertexExecutableForCachedInputLayout):
+        * src/libANGLE/renderer/d3d/RendererD3D.cpp:
+        (rx::DefaultGLErrorCode):
+        * src/libANGLE/renderer/d3d/ShaderD3D.cpp:
+        (rx::ShaderD3D::compile):
+        * src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp:
+        (rx::Buffer11::getConstantBufferRange):
+        (rx::Buffer11::NativeStorage::FillBufferDesc):
+        * src/libANGLE/renderer/d3d/d3d11/Context11.cpp:
+        (rx::Context11::drawArrays):
+        (rx::Context11::drawArraysInstanced):
+        (rx::Context11::drawArraysInstancedBaseInstance):
+        (rx::Context11::drawArraysIndirect):
+        * src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.cpp:
+        (rx::DebugAnnotator11::initialize):
+        * src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp:
+        (rx::Renderer11::Renderer11):
+        (rx::Renderer11::initialize):
+        (rx::Renderer11::callD3D11On12CreateDevice):
+        (rx::Renderer11::initializeD3DDevice):
+        (rx::Renderer11::generateDisplayExtensions const):
+        (rx::Renderer11::isValidNativeWindow const):
+        (rx::Renderer11::createNativeWindow const):
+        (rx::Renderer11::drawArrays):
+        (rx::Renderer11::release):
+        (rx::Renderer11::getShareHandleSupport const):
+        (rx::Renderer11::copyImageInternal):
+        * src/libANGLE/renderer/d3d/d3d11/Renderer11.h:
+        * src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp:
+        (rx::TextureStorage11::getSRVForImage):
+        (rx::TextureStorage11::getUAVForImage):
+        * src/libANGLE/renderer/d3d/d3d11/Trim11.cpp:
+        (rx::Trim11::trim):
+        (rx::Trim11::registerForRendererTrimRequest):
+        (rx::Trim11::unregisterForRendererTrimRequest):
+        * src/libANGLE/renderer/d3d/d3d11/Trim11.h:
+        * src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.cpp:
+        (rx::RoHelper::SupportedWindowsRelease):
+        * src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp:
+        (rx::d3d11_gl::GenerateCaps):
+        (rx::d3d11::InitializeFeatures):
+        * src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h:
+        * src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.cpp:
+        (rx::NativeWindow11WinRT::createSwapChain):
+        * src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h:
+        * src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h:
+        * src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp:
+        (rx::d3d9::InitializeFeatures):
+        * src/libANGLE/renderer/gen_angle_format_table.py:
+        (ceil_int):
+        (get_channel_struct):
+        (get_mip_generation_function):
+        * src/libANGLE/renderer/gl/BlitGL.cpp:
+        (rx::BlitGL::copyImageToLUMAWorkaroundTexture):
+        (rx::BlitGL::copySubImageToLUMAWorkaroundTexture):
+        (rx::BlitGL::blitColorBufferWithShader):
+        (rx::BlitGL::copySubTexture):
+        (rx::BlitGL::copySubTextureCPUReadback):
+        (rx::BlitGL::copyTexSubImage):
+        (rx::BlitGL::clearRenderableTexture):
+        (rx::BlitGL::clearRenderbuffer):
+        (rx::BlitGL::clearFramebuffer):
+        (rx::BlitGL::clearRenderableTextureAlphaToOne):
+        (rx::BlitGL::initializeResources):
+        (rx::BlitGL::orphanScratchTextures):
+        (rx::BlitGL::setScratchTextureParameter):
+        (rx::BlitGL::getBlitProgram):
+        (rx::BlitGL::getBlitProgramType): Deleted.
+        * src/libANGLE/renderer/gl/BlitGL.h:
+        * src/libANGLE/renderer/gl/ContextGL.cpp:
+        (rx::ContextGL::createRenderbuffer):
+        (rx::ContextGL::setDrawArraysState):
+        (rx::ContextGL::setDrawElementsState):
+        (rx::ContextGL::drawArrays):
+        (rx::ContextGL::updateAttributesForBaseInstance):
+        (rx::ContextGL::resetUpdatedAttributes):
+        (rx::ContextGL::drawArraysInstancedBaseInstance):
+        (rx::ContextGL::drawElements):
+        (rx::ContextGL::drawElementsInstancedBaseVertexBaseInstance):
+        (rx::ContextGL::validateState const):
+        * src/libANGLE/renderer/gl/ContextGL.h:
+        * src/libANGLE/renderer/gl/ProgramGL.cpp:
+        (rx::ProgramGL::link):
+        * src/libANGLE/renderer/gl/RenderbufferGL.cpp:
+        (rx::RenderbufferGL::RenderbufferGL):
+        (rx::RenderbufferGL::~RenderbufferGL):
+        (rx::RenderbufferGL::onDestroy):
+        (rx::RenderbufferGL::setStorage):
+        (rx::RenderbufferGL::setStorageMultisample):
+        (rx::RenderbufferGL::initializeContents):
+        * src/libANGLE/renderer/gl/RenderbufferGL.h:
+        * src/libANGLE/renderer/gl/ShaderGL.cpp:
+        (rx::ShaderGL::compile):
+        * src/libANGLE/renderer/gl/StateManagerGL.cpp:
+        (rx::StateManagerGL::bindBufferBase):
+        (rx::StateManagerGL::bindBufferRange):
+        (rx::StateManagerGL::validateState const):
+        * src/libANGLE/renderer/gl/StateManagerGL.h:
+        * src/libANGLE/renderer/gl/SurfaceGL.cpp:
+        (rx::SurfaceGL::initializeContents):
+        * src/libANGLE/renderer/gl/TextureGL.cpp:
+        (rx::TextureGL::setImageHelper):
+        (rx::TextureGL::setSubImage):
+        (rx::TextureGL::setCompressedImage):
+        (rx::TextureGL::setCompressedSubImage):
+        (rx::TextureGL::copyImage):
+        (rx::TextureGL::copySubTextureHelper):
+        (rx::TextureGL::setStorage):
+        (rx::TextureGL::setImageExternal):
+        (rx::TextureGL::setStorageMultisample):
+        (rx::TextureGL::setStorageExternalMemory):
+        (rx::TextureGL::setEGLImageTarget):
+        (rx::TextureGL::setLevelInfo):
+        (rx::TextureGL::initializeContents):
+        * src/libANGLE/renderer/gl/VertexArrayGL.cpp:
+        (rx::VertexArrayGL::streamAttributes const):
+        (rx::VertexArrayGL::validateState const):
+        * src/libANGLE/renderer/gl/VertexArrayGL.h:
+        * src/libANGLE/renderer/gl/cgl/DeviceCGL.cpp: Added.
+        (rx::DeviceCGL::DeviceCGL):
+        (rx::DeviceCGL::~DeviceCGL):
+        (rx::DeviceCGL::initialize):
+        (rx::DeviceCGL::getAttribute):
+        (rx::DeviceCGL::getType):
+        (rx::DeviceCGL::generateExtensions const):
+        * src/libANGLE/renderer/gl/cgl/DeviceCGL.h: Added.
+        * src/libANGLE/renderer/gl/cgl/DisplayCGL.h:
+        * src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
+        (rx::DisplayCGL::createDevice):
+        (rx::DisplayCGL::getCGLPixelFormat const):
+        (rx::DisplayCGL::generateExtensions const):
+        * src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.mm:
+        (rx::IOSurfaceSurfaceCGL::initializeAlphaChannel):
+        * src/libANGLE/renderer/gl/egl/DisplayEGL.cpp:
+        (rx::DisplayEGL::generateExtensions const):
+        * src/libANGLE/renderer/gl/glx/DisplayGLX.cpp:
+        (rx::DisplayGLX::makeCurrent):
+        * src/libANGLE/renderer/gl/glx/WindowSurfaceGLX.cpp:
+        (rx::WindowSurfaceGLX::initialize):
+        * src/libANGLE/renderer/gl/renderergl_utils.cpp:
+        (rx::nativegl_gl::GenerateCaps):
+        (rx::nativegl_gl::InitializeFeatures):
+        (rx::nativegl_gl::InitializeFrontendFeatures):
+        (rx::nativegl::SupportsCompute):
+        (rx::nativegl::GetBufferBindingQuery):
+        (rx::nativegl::GetBufferBindingString):
+        * src/libANGLE/renderer/gl/renderergl_utils.h:
+        * src/libANGLE/renderer/load_functions_data.json:
+        * src/libANGLE/renderer/load_functions_table_autogen.cpp:
+        (angle::GetLoadFunctionsMap):
+        * src/libANGLE/renderer/null/DeviceNULL.cpp:
+        (rx::DeviceNULL::getAttribute):
+        (rx::DeviceNULL::getDevice): Deleted.
+        * src/libANGLE/renderer/null/DeviceNULL.h:
+        * src/libANGLE/renderer/renderer_utils.cpp:
+        (rx::ShouldUseDebugLayers):
+        * src/libANGLE/renderer/vulkan/BufferVk.cpp:
+        (rx::BufferVk::release):
+        (rx::BufferVk::mapRangeImpl):
+        (rx::BufferVk::setDataImpl):
+        * src/libANGLE/renderer/vulkan/CommandGraph.cpp:
+        (rx::vk::CommandGraphResource::CommandGraphResource):
+        (rx::vk::CommandGraphResource::~CommandGraphResource):
+        (rx::vk::CommandGraphResource::isResourceInUse const):
+        (rx::vk::CommandGraphResource::recordCommands):
+        (rx::vk::CommandGraphResource::addWriteDependency):
+        (rx::vk::CommandGraphResource::addReadDependency):
+        (rx::vk::CommandGraphResource::startNewCommands):
+        (rx::vk::CommandGraphResource::onWriteImpl):
+        (rx::vk::SharedGarbage::SharedGarbage):
+        (rx::vk::SharedGarbage::operator=):
+        (rx::vk::SharedGarbage::destroyIfComplete):
+        (rx::vk::CommandGraph::~CommandGraph):
+        (rx::vk::CommandGraph::submitCommands):
+        (rx::vk::CommandGraph::releaseResourceUses):
+        (rx::vk::CommandGraph::releaseResourceUsesAndUpdateSerials):
+        (rx::vk::CommandGraphResource::resetQueueSerial): Deleted.
+        * src/libANGLE/renderer/vulkan/CommandGraph.h:
+        (rx::vk::CommandGraphResource::getLatestSerial const):
+        (rx::vk::CommandGraphResource::hasStartedRenderPass const):
+        (rx::vk::CommandGraphResource::updateCurrentAccessNodes):
+        (rx::vk::CommandGraphResource::onGraphAccess):
+        (rx::vk::CommandGraphResource::appendToStartedRenderPass):
+        (rx::vk::CommandGraphResource::renderPassStartedButEmpty const):
+        (rx::vk::CommandGraphResource::clearRenderPassColorAttachment):
+        (rx::vk::CommandGraphResource::clearRenderPassDepthAttachment):
+        (rx::vk::CommandGraphResource::clearRenderPassStencilAttachment):
+        (rx::vk::CommandGraphResource::invalidateRenderPassColorAttachment):
+        (rx::vk::CommandGraphResource::invalidateRenderPassDepthAttachment):
+        (rx::vk::CommandGraphResource::invalidateRenderPassStencilAttachment):
+        (rx::vk::CommandGraphResource::getRenderPassRenderArea const):
+        (rx::vk::CommandGraphResource::addGlobalMemoryBarrier):
+        (rx::vk::CommandGraphResource::hasChildlessWritingNode const):
+        (rx::vk::CommandGraph::onResourceUse):
+        (rx::vk::CommandGraphResource::getStoredQueueSerial const): Deleted.
+        (rx::vk::CommandGraphResource::updateQueueSerial): Deleted.
+        * src/libANGLE/renderer/vulkan/ContextVk.cpp:
+        (rx::CommandBatch::CommandBatch):
+        (rx::CommandBatch::operator=):
+        (rx::CommandBatch::destroy):
+        (rx::CommandQueue::destroy):
+        (rx::CommandQueue::init):
+        (rx::CommandQueue::checkCompletedCommands):
+        (rx::CommandQueue::releaseToCommandBatch):
+        (rx::CommandQueue::clearAllGarbage):
+        (rx::CommandQueue::allocatePrimaryCommandBuffer):
+        (rx::CommandQueue::releasePrimaryCommandBuffer):
+        (rx::CommandQueue::handleDeviceLost):
+        (rx::CommandQueue::hasInFlightCommands const):
+        (rx::CommandQueue::finishToSerialOrTimeout):
+        (rx::CommandQueue::submitFrame):
+        (rx::CommandQueue::getLastSubmittedFence const):
+        (rx::ContextVk::ContextVk):
+        (rx::ContextVk::onDestroy):
+        (rx::ContextVk::initialize):
+        (rx::ContextVk::setupDraw):
+        (rx::ContextVk::setupIndirectDraw):
+        (rx::ContextVk::setupIndexedIndirectDraw):
+        (rx::ContextVk::setupLineLoopIndexedIndirectDraw):
+        (rx::ContextVk::handleDirtyGraphicsVertexBuffers):
+        (rx::ContextVk::handleDirtyGraphicsIndexBuffer):
+        (rx::ContextVk::submitFrame):
+        (rx::ContextVk::flushCommandGraph):
+        (rx::ContextVk::synchronizeCpuGpuTime):
+        (rx::ContextVk::traceGpuEventImpl):
+        (rx::ContextVk::checkCompletedGpuEvents):
+        (rx::ContextVk::flushGpuEvents):
+        (rx::ContextVk::clearAllGarbage):
+        (rx::ContextVk::handleDeviceLost):
+        (rx::ContextVk::drawArraysIndirect):
+        (rx::ContextVk::drawElementsIndirect):
+        (rx::ContextVk::syncState):
+        (rx::ContextVk::onMakeCurrent):
+        (rx::ContextVk::dispatchComputeIndirect):
+        (rx::ContextVk::memoryBarrier):
+        (rx::ContextVk::writeAtomicCounterBufferDriverUniformOffsets):
+        (rx::ContextVk::updateActiveTextures):
+        (rx::ContextVk::updateActiveImages):
+        (rx::ContextVk::shouldFlush):
+        (rx::ContextVk::flushImpl):
+        (rx::ContextVk::finishImpl):
+        (rx::ContextVk::isSerialInUse const):
+        (rx::ContextVk::checkCompletedCommands):
+        (rx::ContextVk::finishToSerial):
+        (rx::ContextVk::finishToSerialOrTimeout):
+        (rx::ContextVk::getCompatibleRenderPass):
+        (rx::ContextVk::getRenderPassWithOps):
+        (rx::ContextVk::ensureSubmitFenceInitialized):
+        (rx::ContextVk::getNextSubmitFence):
+        (rx::ContextVk::getLastSubmittedFence const):
+        (rx::ContextVk::getTimestamp):
+        (rx::ContextVk::updateDefaultAttribute):
+        (rx::ContextVk::waitForSwapchainImageIfNecessary):
+        (rx::ContextVk::CommandBatch::CommandBatch): Deleted.
+        (rx::ContextVk::CommandBatch::operator=): Deleted.
+        (rx::ContextVk::CommandBatch::destroy): Deleted.
+        (rx::ContextVk::releaseToCommandBatch): Deleted.
+        (rx::ContextVk::recycleCommandBatch): Deleted.
+        (rx::ContextVk::getCommandGraph): Deleted.
+        * src/libANGLE/renderer/vulkan/ContextVk.h:
+        (rx::ContextVk::onVertexAttributeChange):
+        (rx::ContextVk::getCurrentQueueSerial const):
+        (rx::ContextVk::getLastSubmittedQueueSerial const):
+        (rx::ContextVk::getLastCompletedQueueSerial const):
+        (rx::ContextVk::addGarbage):
+        (rx::ContextVk::getCommandGraph):
+        (rx::ContextVk::releaseObject): Deleted.
+        * src/libANGLE/renderer/vulkan/DeviceVk.cpp:
+        (rx::DeviceVk::getAttribute):
+        (rx::DeviceVk::getDevice): Deleted.
+        * src/libANGLE/renderer/vulkan/DeviceVk.h:
+        * src/libANGLE/renderer/vulkan/DisplayVk.cpp:
+        (rx::DisplayVk::generateExtensions const):
+        * src/libANGLE/renderer/vulkan/FramebufferVk.cpp:
+        (rx::FramebufferVk::destroy):
+        (rx::FramebufferVk::invalidate):
+        (rx::FramebufferVk::invalidateSub):
+        (rx::FramebufferVk::clearImpl):
+        (rx::FramebufferVk::getImplementationColorReadType const):
+        (rx::FramebufferVk::blitWithCommand):
+        (rx::FramebufferVk::blit):
+        (rx::FramebufferVk::resolveColorWithCommand):
+        (rx::FramebufferVk::readPixelsImpl):
+        (rx::FramebufferVk::onScissorChange):
+        * src/libANGLE/renderer/vulkan/FramebufferVk.h:
+        (rx::FramebufferVk::appendToStartedRenderPass):
+        * src/libANGLE/renderer/vulkan/GlslangWrapper.cpp:
+        * src/libANGLE/renderer/vulkan/ImageVk.cpp:
+        (rx::ImageVk::onDestroy):
+        (rx::ImageVk::orphan):
+        * src/libANGLE/renderer/vulkan/ImageVk.h:
+        * src/libANGLE/renderer/vulkan/MemoryObjectVk.cpp:
+        (rx::MemoryObjectVk::createImage):
+        * src/libANGLE/renderer/vulkan/OverlayVk.cpp:
+        (rx::OverlayVk::createFont):
+        (rx::OverlayVk::cullWidgets):
+        (rx::OverlayVk::onPresent):
+        * src/libANGLE/renderer/vulkan/PersistentCommandPool.cpp:
+        (rx::vk::PersistentCommandPool::destroy):
+        (rx::vk::PersistentCommandPool::allocate):
+        (rx::vk::PersistentCommandPool::alloc): Deleted.
+        * src/libANGLE/renderer/vulkan/PersistentCommandPool.h:
+        * src/libANGLE/renderer/vulkan/ProgramVk.cpp:
+        (rx::ProgramVk::reset):
+        (rx::ProgramVk::initDefaultUniformLayoutMapping):
+        (rx::ProgramVk::updateDefaultUniformsDescriptorSet):
+        (rx::ProgramVk::updateBuffersDescriptorSet):
+        (rx::ProgramVk::updateAtomicCounterBuffersDescriptorSet):
+        (rx::ProgramVk::updateImagesDescriptorSet):
+        (rx::ProgramVk::updateTransformFeedbackDescriptorSetImpl):
+        (rx::ProgramVk::updateDescriptorSets):
+        * src/libANGLE/renderer/vulkan/ProgramVk.h:
+        (rx::ProgramVk::getGraphicsPipeline):
+        * src/libANGLE/renderer/vulkan/README.md:
+        * src/libANGLE/renderer/vulkan/RenderTargetVk.cpp:
+        (rx::RenderTargetVk::RenderTargetVk):
+        (rx::RenderTargetVk::init):
+        (rx::RenderTargetVk::reset):
+        (rx::RenderTargetVk::onColorDraw):
+        (rx::RenderTargetVk::onDepthStencilDraw):
+        (rx::RenderTargetVk::updateSwapchainImage):
+        (rx::RenderTargetVk::getImageForRead):
+        (rx::RenderTargetVk::getImageForWrite const):
+        (rx::RenderTargetVk::getFetchImageView const): Deleted.
+        * src/libANGLE/renderer/vulkan/RenderTargetVk.h:
+        * src/libANGLE/renderer/vulkan/RenderbufferVk.cpp:
+        (rx::RenderbufferVk::setStorageImpl):
+        (rx::RenderbufferVk::setStorageEGLImageTarget):
+        (rx::RenderbufferVk::releaseImage):
+        * src/libANGLE/renderer/vulkan/RenderbufferVk.h:
+        * src/libANGLE/renderer/vulkan/RendererVk.cpp:
+        (rx::RendererVk::~RendererVk):
+        (rx::RendererVk::onDestroy):
+        (rx::RendererVk::notifyDeviceLost):
+        (rx::RendererVk::initialize):
+        (rx::RendererVk::initializeDevice):
+        (rx::RendererVk::initFeatures):
+        (rx::RendererVk::queueSubmit):
+        (rx::RendererVk::cleanupGarbage):
+        (rx::RendererVk::getMaxFenceWaitTimeNs const):
+        (rx::RendererVk::onCompletedSerial):
+        (rx::RendererVk::nextSerial): Deleted.
+        (rx::RendererVk::addGarbage): Deleted.
+        * src/libANGLE/renderer/vulkan/RendererVk.h:
+        (rx::CollectGarbage):
+        (rx::RendererVk::getMaxVertexAttribDivisor const):
+        (rx::RendererVk::collectGarbageAndReinit):
+        (rx::RendererVk::getCurrentQueueSerial const):
+        (rx::RendererVk::getLastSubmittedQueueSerial const):
+        (rx::RendererVk::getLastCompletedQueueSerial const):
+        (rx::RendererVk::shouldCleanupGarbage):
+        * src/libANGLE/renderer/vulkan/SamplerVk.cpp:
+        (rx::SamplerVk::onDestroy):
+        (rx::SamplerVk::syncState):
+        * src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.cpp:
+        (rx::vk::priv::SecondaryCommandBuffer::executeCommands):
+        (rx::vk::priv::SecondaryCommandBuffer::dumpCommands const):
+        * src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.h:
+        (rx::vk::priv::SecondaryCommandBuffer::drawIndirect):
+        (rx::vk::priv::SecondaryCommandBuffer::drawIndexedIndirect):
+        * src/libANGLE/renderer/vulkan/SemaphoreVk.cpp:
+        (rx::SemaphoreVk::onDestroy):
+        * src/libANGLE/renderer/vulkan/SurfaceVk.cpp:
+        (rx::OffscreenSurfaceVk::AttachmentImage::initialize):
+        (rx::OffscreenSurfaceVk::AttachmentImage::destroy):
+        (rx::OffscreenSurfaceVk::OffscreenSurfaceVk):
+        (rx::WindowSurfaceVk::WindowSurfaceVk):
+        (rx::WindowSurfaceVk::createSwapChain):
+        (rx::WindowSurfaceVk::releaseSwapchainImages):
+        (rx::WindowSurfaceVk::destroySwapChainImages):
+        (rx::WindowSurfaceVk::present):
+        (rx::WindowSurfaceVk::nextSwapchainImage):
+        * src/libANGLE/renderer/vulkan/SyncVk.cpp:
+        (rx::vk::SyncHelper::SyncHelper):
+        (rx::vk::SyncHelper::~SyncHelper):
+        (rx::vk::SyncHelper::releaseToRenderer):
+        (rx::vk::SyncHelper::initialize):
+        (rx::vk::SyncHelper::clientWait):
+        (rx::vk::SyncHelper::serverWait):
+        (rx::vk::SyncHelper::getStatus):
+        (rx::SyncVk::onDestroy):
+        (rx::SyncVk::serverWait):
+        (rx::EGLSyncVk::onDestroy):
+        (rx::EGLSyncVk::serverWait):
+        (rx::FenceSyncVk::FenceSyncVk): Deleted.
+        (rx::FenceSyncVk::~FenceSyncVk): Deleted.
+        (rx::FenceSyncVk::onDestroy): Deleted.
+        (rx::FenceSyncVk::initialize): Deleted.
+        (rx::FenceSyncVk::clientWait): Deleted.
+        (rx::FenceSyncVk::serverWait): Deleted.
+        (rx::FenceSyncVk::getStatus): Deleted.
+        * src/libANGLE/renderer/vulkan/SyncVk.h:
+        * src/libANGLE/renderer/vulkan/TextureVk.cpp:
+        (rx::TextureVk::onDestroy):
+        (rx::TextureVk::copySubImageImpl):
+        (rx::TextureVk::copySubTextureImpl):
+        (rx::TextureVk::copySubImageImplWithTransfer):
+        (rx::TextureVk::copySubImageImplWithDraw):
+        (rx::TextureVk::setStorageExternalMemory):
+        (rx::TextureVk::setEGLImageTarget):
+        (rx::TextureVk::ensureImageAllocated):
+        (rx::TextureVk::setImageHelper):
+        (rx::TextureVk::copyImageDataToBufferAndGetData):
+        (rx::TextureVk::copyImageDataToBuffer):
+        (rx::TextureVk::generateMipmapsWithCPU):
+        (rx::TextureVk::generateMipmap):
+        (rx::TextureVk::setBaseLevel):
+        (rx::TextureVk::changeLevels):
+        (rx::TextureVk::bindTexImage):
+        (rx::TextureVk::getAttachmentRenderTarget):
+        (rx::TextureVk::ensureImageInitialized):
+        (rx::TextureVk::initLayerRenderTargets):
+        (rx::TextureVk::syncState):
+        (rx::TextureVk::getReadImageView const):
+        (rx::TextureVk::getFetchImageView const):
+        (rx::TextureVk::getLayerLevelDrawImageView):
+        (rx::TextureVk::getLayerLevelStorageImageView):
+        (rx::TextureVk::initImage):
+        (rx::TextureVk::initImageViews):
+        (rx::TextureVk::releaseImage):
+        (rx::TextureVk::releaseImageViews):
+        (rx::TextureVk::releaseStagingBuffer):
+        (rx::TextureVk::getLevelCount const):
+        (rx::TextureVk::generateMipmapLevelsWithCPU):
+        (rx::TextureVk::TextureVkViews::TextureVkViews): Deleted.
+        (rx::TextureVk::TextureVkViews::~TextureVkViews): Deleted.
+        (rx::TextureVk::TextureVkViews::release): Deleted.
+        (rx::TextureVk::init3DRenderTargets): Deleted.
+        (rx::TextureVk::initCubeMapRenderTargets): Deleted.
+        (rx::TextureVk::getTextureViews const): Deleted.
+        (rx::TextureVk::initImageViewImpl): Deleted.
+        * src/libANGLE/renderer/vulkan/TextureVk.h:
+        (): Deleted.
+        * src/libANGLE/renderer/vulkan/TransformFeedbackVk.cpp:
+        (rx::TransformFeedbackVk::onBeginOrEnd):
+        * src/libANGLE/renderer/vulkan/UtilsVk.cpp:
+        (rx::UtilsVk::ensureConvertIndexIndirectResourcesInitialized):
+        (rx::UtilsVk::ensureConvertIndexIndirectLineLoopResourcesInitialized):
+        (rx::UtilsVk::convertIndexIndirectBuffer):
+        (rx::UtilsVk::convertLineLoopIndexIndirectBuffer):
+        (rx::UtilsVk::startRenderPass):
+        (rx::UtilsVk::clearFramebuffer):
+        (rx::UtilsVk::blitResolveImpl):
+        (rx::UtilsVk::stencilBlitResolveNoShaderExport):
+        (rx::UtilsVk::copyImage):
+        (rx::UtilsVk::cullOverlayWidgets):
+        (rx::UtilsVk::drawOverlay):
+        * src/libANGLE/renderer/vulkan/UtilsVk.h:
+        * src/libANGLE/renderer/vulkan/VertexArrayVk.cpp:
+        (rx::VertexArrayVk::destroy):
+        (rx::VertexArrayVk::convertIndexBufferIndirectGPU):
+        (rx::VertexArrayVk::handleLineLoopIndirect):
+        (rx::VertexArrayVk::convertVertexBufferCPU):
+        (rx::VertexArrayVk::syncDirtyAttrib):
+        (rx::VertexArrayVk::updateStreamedAttribs):
+        (rx::VertexArrayVk::updateDefaultAttrib):
+        (rx::VertexArrayVk::updateClientAttribs): Deleted.
+        * src/libANGLE/renderer/vulkan/VertexArrayVk.h:
+        (rx::VertexArrayVk::getStreamingVertexAttribsMask const):
+        * src/libANGLE/renderer/vulkan/android/HardwareBufferImageSiblingVkAndroid.cpp:
+        (rx::HardwareBufferImageSiblingVkAndroid::initImpl):
+        (rx::HardwareBufferImageSiblingVkAndroid::release):
+        * src/libANGLE/renderer/vulkan/android/HardwareBufferImageSiblingVkAndroid.h:
+        * src/libANGLE/renderer/vulkan/doc/FastOpenGLStateTransitions.md:
+        * src/libANGLE/renderer/vulkan/doc/FormatTablesAndEmulation.md:
+        * src/libANGLE/renderer/vulkan/doc/OpenGLLineSegmentRasterization.md:
+        * src/libANGLE/renderer/vulkan/doc/ShaderModuleCompilation.md:
+        * src/libANGLE/renderer/vulkan/gen_vk_internal_shaders.py:
+        (shader_path):
+        * src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000000.inc:
+        * src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000001.inc:
+        * src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000008.inc:
+        * src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000009.inc:
+        * src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000018.inc:
+        * src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000019.inc:
+        * src/libANGLE/renderer/vulkan/shaders/src/ConvertIndex.comp:
+        * src/libANGLE/renderer/vulkan/shaders/src/ConvertIndex.comp.json:
+        * src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp:
+        * src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp.json:
+        * src/libANGLE/renderer/vulkan/vk_cache_utils.cpp:
+        (rx::vk::GraphicsPipelineDesc::initializePipeline const):
+        (rx::vk::GraphicsPipelineDesc::updateVertexInput):
+        (rx::vk::PipelineLayoutDesc::updatePushConstantRange):
+        (rx::RenderPassCache::addRenderPass):
+        (rx::GraphicsPipelineCache::release):
+        (rx::GraphicsPipelineCache::insertPipeline):
+        * src/libANGLE/renderer/vulkan/vk_cache_utils.h:
+        * src/libANGLE/renderer/vulkan/vk_caps_utils.cpp:
+        (rx::RendererVk::ensureCapsInitialized const):
+        * src/libANGLE/renderer/vulkan/vk_format_map.json:
+        * src/libANGLE/renderer/vulkan/vk_format_table_autogen.cpp:
+        (rx::vk::Format::initialize):
+        * src/libANGLE/renderer/vulkan/vk_format_utils.cpp:
+        (rx::MapSwizzleState):
+        * src/libANGLE/renderer/vulkan/vk_helpers.cpp:
+        (rx::vk::DynamicBuffer::allocate):
+        (rx::vk::DynamicBuffer::releaseBufferListToRenderer):
+        (rx::vk::DynamicBuffer::release):
+        (rx::vk::DynamicBuffer::releaseInFlightBuffers):
+        (rx::vk::DescriptorPoolHelper::release):
+        (rx::vk::LineLoopHelper::LineLoopHelper):
+        (rx::vk::LineLoopHelper::streamIndicesIndirect):
+        (rx::vk::LineLoopHelper::release):
+        (rx::vk::LineLoopHelper::destroy):
+        (rx::vk::BufferHelper::init):
+        (rx::vk::BufferHelper::release):
+        (rx::vk::ImageHelper::ImageHelper):
+        (rx::vk::ImageHelper::init):
+        (rx::vk::ImageHelper::initExternal):
+        (rx::vk::ImageHelper::releaseImage):
+        (rx::vk::ImageHelper::releaseStagingBuffer):
+        (rx::vk::ImageHelper::destroy):
+        (rx::vk::ImageHelper::getBaseLevel):
+        (rx::vk::ImageHelper::setBaseAndMaxLevels):
+        (rx::vk::ImageHelper::generateMipmapsWithBlit):
+        (rx::vk::ImageHelper::removeStagedUpdates):
+        (rx::vk::ImageHelper::stageSubresourceUpdate):
+        (rx::vk::ImageHelper::stageSubresourceUpdateAndGetData):
+        (rx::vk::ImageHelper::stageSubresourceUpdateFromBuffer):
+        (rx::vk::ImageHelper::stageSubresourceUpdateFromFramebuffer):
+        (rx::vk::ImageHelper::allocateStagingMemory):
+        (rx::vk::ImageHelper::flushStagedUpdates):
+        (rx::vk::ImageHelper::isUpdateStaged):
+        (rx::vk::ImageHelper::SubresourceUpdate::SubresourceUpdate):
+        (rx::vk::ImageHelper::SubresourceUpdate::release):
+        (rx::vk::FramebufferHelper::release):
+        (rx::vk::ShaderProgramHelper::release):
+        (rx::vk::DynamicBuffer::releaseBufferListToContext): Deleted.
+        (rx::vk::DynamicBuffer::releaseBufferListToDisplay): Deleted.
+        (rx::vk::ImageHelper::dumpResources): Deleted.
+        * src/libANGLE/renderer/vulkan/vk_helpers.h:
+        (rx::vk::ShaderProgramHelper::getShader):
+        (rx::vk::ShaderProgramHelper::getGraphicsPipeline):
+        * src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp:
+        (rx::vk::ShaderLibrary::destroy):
+        (rx::vk::ShaderLibrary::getConvertIndexIndirectLineLoop_comp):
+        * src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.gni:
+        * src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.h:
+        * src/libANGLE/renderer/vulkan/vk_utils.cpp:
+        (rx::HasKhronosValidationLayer):
+        (rx::HasStandardValidationLayer):
+        (rx::GetAvailableValidationLayers):
+        (rx::vk::StagingBuffer::init):
+        (rx::vk::StagingBuffer::release):
+        (rx::vk::GarbageObject::GarbageObject):
+        (rx::vk::GarbageObject::operator=):
+        (rx::vk::GarbageObject::destroy):
+        (rx::gl_vk::GetSamplerMipmapMode):
+        (rx::vk::StagingBuffer::dumpResources): Deleted.
+        (rx::vk::GarbageObjectBase::GarbageObjectBase): Deleted.
+        (rx::vk::GarbageObjectBase::destroy): Deleted.
+        (rx::vk::GarbageObject::destroyIfComplete): Deleted.
+        * src/libANGLE/renderer/vulkan/vk_utils.h:
+        (rx::vk::GarbageObject::valid const):
+        (rx::vk::GarbageObject::Get):
+        (rx::vk::GetGarbage):
+        (rx::vk::GarbageObjectBase::GarbageObjectBase): Deleted.
+        * src/libANGLE/renderer/vulkan/vk_wrapper.h:
+        (rx::vk::WrappedObject::getHandle const):
+        (rx::vk::WrappedObject::valid const):
+        (rx::vk::WrappedObject::ptr const):
+        (rx::vk::WrappedObject::release):
+        (rx::vk::WrappedObject::WrappedObject):
+        (rx::vk::WrappedObject::~WrappedObject):
+        (rx::vk::WrappedObject::operator=):
+        (rx::vk::priv::CommandBuffer::SupportsQueries):
+        (rx::vk::priv::CommandBuffer::getMemoryUsageStats const):
+        (rx::vk::priv::CommandBuffer::drawIndexedIndirect):
+        (rx::vk::priv::CommandBuffer::drawIndirect):
+        (rx::vk::WrappedObject::dumpResources): Deleted.
+        (rx::vk::priv::CommandBuffer::getMemoryUsageStats): Deleted.
+        * src/libANGLE/validationEGL.cpp:
+        (egl::ValidateCreateContext):
+        (egl::ValidateMakeCurrent):
+        (egl::ValidateCompatibleSurface):
+        (egl::ValidateStreamConsumerGLTextureExternalKHR):
+        (egl::ValidateStreamConsumerGLTextureExternalAttribsNV):
+        (egl::ValidateQueryStringiANGLE):
+        (egl::ValidateCompatibleConfigs): Deleted.
+        * src/libANGLE/validationEGL.h:
+        * src/libANGLE/validationES.cpp:
+        (gl::ValidateRenderbufferStorageParametersBase):
+        (gl::ValidateTexStorageMultisample):
+        * src/libANGLE/validationES.h:
+        (gl::ValidateVertexFormat):
+        * src/libANGLE/validationES2.cpp:
+        (gl::ValidateES2TexStorageParameters):
+        * src/libANGLE/validationES3.cpp:
+        (gl::ValidateES3TexStorageParametersBase):
+        * src/libANGLE/validationES31.cpp:
+        (gl::err::ValidateProgramResourceIndex):
+        * src/libGLESv2.gni:
+        * src/libGLESv2/entry_points_egl_ext.cpp:
+        * src/tests/BUILD.gn:
+        * src/tests/angle_deqp_tests_main.cpp:
+        (main):
+        * src/tests/angle_end2end_tests.gni:
+        * src/tests/compiler_tests/DebugShaderPrecision_test.cpp:
+        (TEST_F):
+        * src/tests/compiler_tests/ImmutableString_test_ESSL_autogen.cpp:
+        (sh::TEST):
+        * src/tests/compiler_tests/ImmutableString_test_autogen.cpp:
+        (sh::TEST):
+        * src/tests/compiler_tests/QualificationOrder_test.cpp:
+        (TEST_F):
+        * src/tests/deqp_support/angle_deqp_gtest.cpp:
+        (angle::InitTestHarness):
+        * src/tests/deqp_support/angle_deqp_libtester_main.cpp:
+        * src/tests/deqp_support/deqp_egl_TestExpectations: Removed.
+        * src/tests/deqp_support/deqp_gles2_TestExpectations: Removed.
+        * src/tests/deqp_support/deqp_gles31_TestExpectations: Removed.
+        * src/tests/deqp_support/deqp_gles3_TestExpectations: Removed.
+        * src/tests/deqp_support/deqp_khr_gles2_TestExpectations: Removed.
+        * src/tests/deqp_support/deqp_khr_gles31_TestExpectations: Removed.
+        * src/tests/deqp_support/deqp_khr_gles3_TestExpectations: Removed.
+        * src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp:
+        * src/tests/deqp_support/tcuANGLEPlatform.cpp:
+        (tcu::ANGLEPlatform::ANGLEPlatform):
+        * src/tests/deqp_support/tes31Context_override.cpp:
+        (deqp::gles31::Context::Context):
+        (deqp::gles31::Context::~Context):
+        (deqp::gles31::Context::createRenderContext):
+        (deqp::gles31::Context::destroyRenderContext):
+        (deqp::gles31::Context::getRenderTarget const):
+        * src/tests/egl_tests/EGLDeviceCGLTest.cpp: Added.
+        (EGLDeviceCGLQueryTest::EGLDeviceCGLQueryTest):
+        (TEST_P):
+        * src/tests/egl_tests/EGLDirectCompositionTest.cpp:
+        * src/tests/egl_tests/EGLFeatureControlTest.cpp:
+        (TEST_P):
+        * src/tests/egl_tests/EGLNoConfigContextTest.cpp: Added.
+        (EGLNoConfigContextTest::EGLNoConfigContextTest):
+        (TEST_P):
+        * src/tests/gl_tests/BlendFuncExtendedTest.cpp:
+        (angle::EXTBlendFuncExtendedDrawTestES3::LinkProgram):
+        * src/tests/gl_tests/ComputeShaderTest.cpp:
+        * src/tests/gl_tests/CopyTexImageTest.cpp:
+        (angle::TEST_P):
+        * src/tests/gl_tests/CopyTextureTest.cpp:
+        (angle::CopyTextureVariationsTest::initializeSourceTexture):
+        (angle::CopyTextureVariationsTest::testCopyTexture):
+        (angle::CopyTextureVariationsTest::testCopySubTexture):
+        (angle::TEST_P):
+        * src/tests/gl_tests/DrawBaseVertexBaseInstanceTest.cpp:
+        (angle::DrawBaseVertexBaseInstanceTest::DrawBaseVertexBaseInstanceTest):
+        (angle::DrawBaseVertexBaseInstanceTest::vertexShaderSource300):
+        * src/tests/gl_tests/FramebufferTest.cpp:
+        (TEST_P):
+        * src/tests/gl_tests/GLSLTest.cpp:
+        * src/tests/gl_tests/IndexBufferOffsetTest.cpp:
+        * src/tests/gl_tests/InstancingTest.cpp:
+        * src/tests/gl_tests/LineLoopTest.cpp:
+        (LineLoopTest::checkPixels):
+        (LineLoopTest::runTest):
+        (LineLoopIndirectTest::runTest):
+        (TEST_P):
+        * src/tests/gl_tests/LinkAndRelinkTest.cpp:
+        (angle::TEST_P):
+        * src/tests/gl_tests/MipmapTest.cpp:
+        * src/tests/gl_tests/OcclusionQueriesTest.cpp:
+        * src/tests/gl_tests/ParallelShaderCompileTest.cpp:
+        (angle::ParallelShaderCompileTest::TaskRunner::run):
+        * src/tests/gl_tests/ProgramInterfaceTest.cpp:
+        * src/tests/gl_tests/SimpleOperationTest.cpp:
+        * src/tests/gl_tests/StateChangeTest.cpp:
+        * src/tests/gl_tests/TextureTest.cpp:
+        (angle::SliceFormatColor):
+        (angle::SliceFormatColor32F):
+        * src/tests/gl_tests/TimerQueriesTest.cpp:
+        * src/tests/gl_tests/UniformBufferTest.cpp:
+        * src/tests/gl_tests/VertexAttributeTest.cpp:
+        (angle::TypeStride):
+        (angle::Normalize10):
+        (angle::Normalize2):
+        (angle::Pack1010102):
+        (angle::VertexAttributeTest::checkPixels):
+        (angle::VertexAttributeTest::checkRGBPixels):
+        (angle::VertexAttributeTest::runTest):
+        (angle::TEST_P):
+        * src/tests/gles1_conformance_tests/ConformanceTests.cpp:
+        (angle::TEST_P):
+        * src/tests/perf_tests/ANGLEPerfTest.cpp:
+        * src/tests/perf_tests/DrawCallPerf.cpp:
+        (angle::DrawArraysPerfParams::DrawArraysPerfParams): Deleted.
+        (angle::DrawArraysPerfParams::story const): Deleted.
+        (angle::operator<<): Deleted.
+        (angle::CreateSimpleTexture2D): Deleted.
+        (angle::DrawCallPerfBenchmark::DrawCallPerfBenchmark): Deleted.
+        (angle::DrawCallPerfBenchmark::initializeBenchmark): Deleted.
+        (): Deleted.
+        * src/tests/perf_tests/EGLMakeCurrentPerf.cpp:
+        * src/tests/perf_tests/LinkProgramPerfTest.cpp:
+        (angle::TEST_P):
+        * src/tests/perf_tests/MultiviewPerf.cpp:
+        (angle::MultiviewCPUBoundBenchmark::initializeBenchmark):
+        (angle::MultiviewGPUBoundBenchmark::initializeBenchmark):
+        (angle::TEST_P):
+        * src/tests/perf_tests/UniformsPerf.cpp:
+        (TEST_P):
+        * src/tests/perf_tests/VulkanPipelineCachePerf.cpp:
+        (rx::VulkanPipelineCachePerfTest::step):
+        * src/tests/perf_tests/glmark2Benchmark.cpp:
+        * src/tests/test_expectations/GPUTestConfig.cpp:
+        (angle::GPUTestConfig::GPUTestConfig):
+        * src/tests/test_expectations/GPUTestConfig.h:
+        * src/tests/test_expectations/GPUTestExpectationsParser.cpp:
+        (angle::GPUTestExpectationsParser::parseLine):
+        * src/tests/test_utils/ANGLETest.cpp:
+        * src/tests/test_utils/ANGLETest.h:
+        * src/tests/test_utils/angle_test_configs.cpp:
+        (angle::PlatformParameters::initDefaultParameters):
+        (angle::operator<<):
+        (angle::egl_platform::VULKAN_SWIFTSHADER):
+        (angle::ES2_VULKAN_SWIFTSHADER):
+        * src/tests/test_utils/angle_test_configs.h:
+        * src/tests/test_utils/angle_test_instantiate.cpp:
+        (angle::IsWindows7):
+        * src/tests/test_utils/angle_test_instantiate.h:
+        * src/third_party/compiler/README.chromium:
+        * third_party/vulkan-headers/BUILD.gn: Removed.
+        * third_party/vulkan-headers/vulkan_headers_script_deps.gni: Removed.
+        * third_party/vulkan-loader/BUILD.gn:
+        * third_party/vulkan-tools/BUILD.gn: Removed.
+        * third_party/vulkan-validation-layers/BUILD.gn: Removed.
+        * third_party/vulkan-validation-layers/dummy_spirv_tools_commit_id.h: Removed.
+        * util/EGLWindow.cpp:
+        * util/fuchsia/ScenicWindow.cpp:
+        (ScenicWindow::resetNativeWindow):
+        * util/posix/crash_handler_posix.cpp: Renamed from Source/ThirdParty/ANGLE/util/posix/Posix_crash_handler.cpp.
+        * util/posix/test_utils_posix.cpp: Renamed from Source/ThirdParty/ANGLE/util/posix/Posix_system_utils.cpp.
+        * util/test_utils.h: Renamed from Source/ThirdParty/ANGLE/util/system_utils.h.
+        * util/util.gni:
+        * util/util_gl.h:
+        * util/windows/WGLWindow.cpp:
+        * util/windows/test_utils_win.cpp: Renamed from Source/ThirdParty/ANGLE/util/windows/Windows_system_utils.cpp.
+        (angle::PrintStackBacktrace):
+        * util/windows/win32/test_utils_win32.cpp: Renamed from Source/ThirdParty/ANGLE/util/windows/win32/Win32_system_utils.cpp.
+        * util/x11/X11Window.cpp:
+
+2019-10-01  Fujii Hironori  <Hironori.Fujii@sony.com>
+
+        [WinCairo][Clang][ANGLE] global_state.cpp(39,1): error: static_assert failed due to requirement 'std::is_trivially_constructible<std::atomic<std::mutex *>>::value' "global mutex is not trivially constructible"
+        https://bugs.webkit.org/show_bug.cgi?id=201751
+
+        Reviewed by Alex Christensen.
+
+        Clang-cl couldn't compile the latest ANGLE with MS STL owing to a
+        static_assert failure.
+
+        Fix it by cherri-picking the upstream fix.
+        <https://chromium.googlesource.com/angle/angle/+/755417dd79071d6149c81418e1404b0c61d19672>
+
+        * AUTHORS:
+        * src/common/angleutils.h:
+        * src/libGLESv2/global_state.cpp:
+
+2019-09-24  Adrian Perez de Castro  <aperez@igalia.com>
+
+        [GTK] ANGLE's eglplatform.h is build broken with -DENABLE_X11_PLATFORM=OFF
+        https://bugs.webkit.org/show_bug.cgi?id=198621
+
+        Reviewed by Carlos Garcia Campos.
+
+        * PlatformGTK.cmake: Define WL_EGL_PLATFORM to prefer Wayland type
+        definitions with ENABLE_WAYLAND_TARGET=ON and ENABLE_X11_TARGET=OFF
+        to avoid ANGLE's eglplatform.h from trying to include the X11 headers.
+
+2019-09-16  James Darpinian  <jdarpinian@chromium.org>
+
+        Remove commit.h copying build steps
+        https://bugs.webkit.org/show_bug.cgi?id=201785
+
+        Reviewed by Alex Christensen.
+
+        * ANGLE.xcodeproj/project.pbxproj: Remove leftover build step
+        * CMakeLists.txt: Remove commit.h copying
+        * src/common/version.h: Restore to upstream version
+        * src/id/commit.h: Added.
+        * update-angle.sh: Copy commit.h to id/commit.h at import time
+
+2019-09-12  James Darpinian  <jdarpinian@chromium.org>
+
+        Update ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=201156
+
+        Reviewed by Alex Christensen.
+
+        Update to 2019-9-9, revision 79ad0411911b2fc84834c3705f55707be9e4b498
+        I merged a bunch of changes to upstream ANGLE, to minimize the changes
+        necessary when updating ANGLE in WebKit.
+
+        * ANGLE.plist: Update commit hashes
+        * ANGLE.txt: Removed in favor of LICENSE
+        * ANGLE.xcodeproj/project.pbxproj: Updated with upstream changes
+          Also, copy src/commit.h to id/commit.h during build
+        * CMakeLists.txt: Updated with upstream changes
+          Also, copy src/commit.h to id/commit.h during build
+        * Compiler.cmake: Updated with upstream changes
+        * GLESv2.cmake: Updated with upstream changes
+        * adjust-angle-include-paths-rule: Support "" as well as <> for includes
+        * adjust-angle-include-paths.sh: Support "" as well as <> for includes
+        * changes.diff: Pared down to just legal disclaimer and warning flag changes
+        * update-angle.sh: Update ANGLE.plist
+
+        * Many other files modified/added/removed upstream
+
+2019-09-11  Ryan Haddad  <ryanhaddad@apple.com>
+
+        Unreviewed, rolling out r249791.
+
+        Breaks internal production builds.
+
+        Reverted changeset:
+
+        "Update ANGLE"
+        https://bugs.webkit.org/show_bug.cgi?id=201156
+        https://trac.webkit.org/changeset/249791
+
+2019-09-11  James Darpinian  <jdarpinian@chromium.org>
+
+        Update ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=201156
+
+        Reviewed by Alex Christensen.
+
+        Update to 2019-9-9, revision 79ad0411911b2fc84834c3705f55707be9e4b498
+        I merged a bunch of changes to upstream ANGLE, to minimize the changes
+        necessary when updating ANGLE in WebKit.
+
+        * ANGLE.plist: Update commit hashes
+        * ANGLE.txt: Removed in favor of LICENSE
+        * ANGLE.xcodeproj/project.pbxproj: Updated with upstream changes
+        Also, copy src/commit.h to id/commit.h during build
+        * CMakeLists.txt: Updated with upstream changes
+        Also, copy src/commit.h to id/commit.h during build
+        * Compiler.cmake: Updated with upstream changes
+        * GLESv2.cmake: Updated with upstream changes
+        * adjust-angle-include-paths-rule: Support "" as well as <> for includes
+        * adjust-angle-include-paths.sh: Support "" as well as <> for includes
+        * changes.diff: Pared down to just legal disclaimer and warning flag changes
+        * update-angle.sh: Update ANGLE.plist
+
+        * Many other files modified/added/removed upstream
+
+2019-08-29  Keith Rollin  <krollin@apple.com>
+
+        Update .xcconfig symbols to reflect the current set of past and future product versions.
+        https://bugs.webkit.org/show_bug.cgi?id=200720
+        <rdar://problem/54305032>
+
+        Reviewed by Alex Christensen.
+
+        Remove version symbols related to old OS's we no longer support,
+        ensure that version symbols are defined for OS's we do support.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+
+2019-08-26  James Darpinian  <jdarpinian@google.com>
+
+        Add a script to update ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=201109
+
+        Reviewed by Alex Christensen.
+
+        * update-angle.sh: Added.
+
+2019-08-16  Keith Rollin  <krollin@apple.com>
+
+        Add XCBuild support to ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=200836
+        <rdar://problem/54410420>
+
+        Reviewed by Alex Christensen.
+
+        The ANGLE Xcode project contains two Build Phases: one that copies
+        some headers, and another that modifies those headers. This
+        combination does not work with XCBuild, which gets confused when it
+        finds that headers that it's copied have been changed. When it detects
+        this, XCBuild thinks that it should recopy those headers on the next
+        build, causing their modification dates to change and for all
+        dependent files to be rebuilt. This essentially turns an incremental
+        rebuild into a full rebuild.
+
+        Address this problem by using a new facility in Xcode 11. This
+        facility supports the copying and modifying headers files in a single
+        step. It is achieved by first enabling the facility by setting
+        APPLY_RULES_IN_COPY_HEADERS to YES. Next, we add a new Build Rule that
+        invokes a custom script when the header files are copied. Third, we
+        provide this script, which can essentially be a stripped down version
+        of the one already used to modify the exported headers files. Finally,
+        we disable the use of that old script when we are using Xcode 11. In
+        this way, the old script that modifies the exported headers is used in
+        Xcode 10, and the new facility is used in Xcode 11.
+
+        See also Bug 197340 for where this process was also applied to
+        JavaScriptCore, WebKit, and WebKitLegacy.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * Configurations/ANGLE.xcconfig:
+        * adjust-angle-include-paths-rule: Added.
+
+2019-08-08  Brent Fulgham  <bfulgham@apple.com>
+
+        [FTW] Get WebKit, WebKit2, and MiniBrowser building and executing
+        https://bugs.webkit.org/show_bug.cgi?id=200539
+
+        Reviewed by Dean Jackson.
+
+        * PlatformFTW.cmake: Added.
+
+2019-07-17  Kenneth Russell  <kbr@chromium.org>
+
+        Make ANGLE work inside WebKit2's sandbox
+        https://bugs.webkit.org/show_bug.cgi?id=199844
+
+        Reviewed by Alex Christensen.
+
+        Cherry-pick fix for crbug.com/angleproject/3383 to eliminate use
+        of deprecated API in SystemInfo_mac.mm.
+
+        * BUILD.gn:
+        * src/gpu_info_util/SystemInfo.cpp:
+        (angle::FindActiveGPU):
+        (angle::PrintSystemInfo):
+        (angle::FindPrimaryGPU): Deleted.
+        * src/gpu_info_util/SystemInfo.h:
+        * src/gpu_info_util/SystemInfo_internal.h:
+        * src/gpu_info_util/SystemInfo_linux.cpp:
+        (angle::GetSystemInfo):
+        * src/gpu_info_util/SystemInfo_mac.mm:
+        (angle::GetSystemInfo):
+        * src/gpu_info_util/SystemInfo_win.cpp:
+        (angle::GetSystemInfo):
+        * src/tests/BUILD.gn:
+        * src/tests/test_expectations/GPUTestConfig.cpp:
+        * src/tests/test_utils/angle_test_instantiate.cpp:
+        (angle::IsConfigWhitelisted):
+
+2019-07-10  Alex Christensen  <achristensen@webkit.org>
+
+        Allow CMake to build WebCore on Mac
+        https://bugs.webkit.org/show_bug.cgi?id=198979
+
+        Reviewed by Don Olmstead.
+
+        * include/GLSLANG/ShaderLang.h:
+
+2019-07-10  Kenneth Russell  <kbr@chromium.org>
+
+        Hook up WebGL's back buffer in ANGLE backend on macOS
+        https://bugs.webkit.org/show_bug.cgi?id=198982
+
+        Reviewed by Alex Christensen.
+
+        Add source files needed to implement and call ANGLE extensions, and
+        export headers necessary for those extensions. Update the script which
+        adjusts include paths to handle the new headers.
+
+        Cherry-pick fix for ANGLE bug crbug.com/angleproject/3669 to support
+        antialias:true for ANGLE-backed WebGL contexts.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * adjust-angle-include-paths.sh:
+        * src/libANGLE/FramebufferAttachment.cpp:
+        (gl::FramebufferAttachment::getTextureImageIndex const): Deleted.
+        * src/libANGLE/FramebufferAttachment.h:
+        (gl::FramebufferAttachment::getTextureImageIndex const):
+        * src/libANGLE/validationES2.cpp:
+        (gl::ValidateBlitFramebufferANGLE):
+
+2019-06-27  Beth Dakin  <bdakin@apple.com>
+
+        Upstream use of MACCATALYST
+        https://bugs.webkit.org/show_bug.cgi?id=199245
+        rdar://problem/51687723
+
+        Reviewed by Tim Horton.
+
+        * Configurations/SDKVariant.xcconfig:
+
+2019-06-25  Kenneth Russell  <kbr@chromium.org>
+
+        Script which adjusts include paths in ANGLE's copied headers breaks incremental builds
+        https://bugs.webkit.org/show_bug.cgi?id=199212
+
+        Reviewed by Darin Adler.
+
+        Maintain and test a timestamp in adjust-angle-include-paths.sh
+        in order to avoid touching the headers during each build.
+
+        * adjust-angle-include-paths.sh:
+
+2019-06-25  Ryan Haddad  <ryanhaddad@apple.com>
+
+        Unreviewed, rolling out r246825.
+
+        Breaks internal builds.
+
+        Reverted changeset:
+
+        "Script which adjusts include paths in ANGLE's copied headers
+        breaks incremental builds"
+        https://bugs.webkit.org/show_bug.cgi?id=199212
+        https://trac.webkit.org/changeset/246825
+
+2019-06-25  Kenneth Russell  <kbr@chromium.org>
+
+        Script which adjusts include paths in ANGLE's copied headers breaks incremental builds
+        https://bugs.webkit.org/show_bug.cgi?id=199212
+
+        Reviewed by Darin Adler.
+
+        Maintain and test a timestamp in adjust-angle-include-paths.sh
+        in order to avoid touching the headers during each build.
+
+        * adjust-angle-include-paths.sh:
+
+2019-06-18  Kenneth Russell  <kbr@chromium.org>
+
+        Add preliminary ANGLE backend to WebCore
+        https://bugs.webkit.org/show_bug.cgi?id=197755
+
+        Reviewed by Dean Jackson.
+
+        Add a build step which processes ANGLE's copied public headers so they
+        can all be referred to under the <ANGLE/xyz.h> prefix. This avoids
+        touching ANGLE's headers and allows WebCore to include them with no
+        additional include path modifications.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * adjust-angle-include-paths.sh: Added.
+
+2019-06-17  Ryan Haddad  <ryanhaddad@apple.com>
+
+        Unreviewed, rolling out r246501.
+
+        Breaks Apple internal builds.
+
+        Reverted changeset:
+
+        "Support using ANGLE as the backend for the WebGL
+        implementation"
+        https://bugs.webkit.org/show_bug.cgi?id=197755
+        https://trac.webkit.org/changeset/246501
+
+2019-06-17  Kenneth Russell  <kbr@chromium.org>
+
+        Support using ANGLE as the backend for the WebGL implementation
+        https://bugs.webkit.org/show_bug.cgi?id=197755
+
+        Reviewed by Dean Jackson.
+
+        Add a build step which processes ANGLE's copied public headers so they
+        can all be referred to under the <ANGLE/xyz.h> prefix. This avoids
+        touching ANGLE's headers and allows WebCore to include them with no
+        additional include path modifications.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * adjust-angle-include-paths.sh: Added.
+
+2019-06-12  Justin Fan  <justin_fan@apple.com>
+
+        [WebGL] ANGLE Extension directive location incorrectly enforced for webgl 1.0
+        https://bugs.webkit.org/show_bug.cgi?id=198811
+
+        Reviewed by Dean Jackson.
+
+        Apply ANGLE change from https://chromium-review.googlesource.com/c/angle/angle/+/1648661 to
+        prevent enforcing ESSL late extension rule on WebGL 1.0 shaders.
+
+        * src/compiler/preprocessor/DiagnosticsBase.cpp:
+        (angle::pp::Diagnostics::message):
+        * src/compiler/preprocessor/DiagnosticsBase.h:
+        * src/compiler/preprocessor/DirectiveParser.cpp:
+        (angle::pp::DirectiveParser::parseExtension):
+
+2019-05-23  Don Olmstead  <don.olmstead@sony.com>
+
+        [CMake] Use target oriented design for bmalloc
+        https://bugs.webkit.org/show_bug.cgi?id=198046
+
+        Reviewed by Konstantin Tokarev.
+
+        Remove WEBKIT_COPY_FILES from CMakelists.txt now that it is in WebKitMacros.
+
+        * CMakeLists.txt:
+
+2019-05-14  Miguel Gomez  <magomez@igalia.com>
+
+        REGRESSION(r245088): [GTK] Several WebGL tests failing
+        https://bugs.webkit.org/show_bug.cgi?id=197880
+
+        Reviewed by Carlos Garcia Campos.
+
+        Enable GLSL compiler output for WebKitGTK.
+
+        * PlatformGTK.cmake: Added.
+
+2019-05-13  Alex Christensen  <achristensen@webkit.org>
+
+        Build more ANGLE files
+        https://bugs.webkit.org/show_bug.cgi?id=197787
+
+        Reviewed by Simon Fraser.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * src/gpu_info_util/SystemInfo.cpp:
+        (angle::ParseMacMachineModel):
+        * src/gpu_info_util/SystemInfo_mac.mm:
+        (angle::GetSystemInfo):
+        * src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
+        * src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.mm:
+        (rx::IOSurfaceSurfaceCGL::IOSurfaceSurfaceCGL):
+        (rx::IOSurfaceSurfaceCGL::validateAttributes):
+        * src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.h:
+        * src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm:
+        (rx::WindowSurfaceCGL::initialize):
+        (-[SwapLayer initWithSharedState:withContext:withFunctions:]): Deleted.
+
+2019-05-10  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        Fix a bunch of compiler warnings
+        https://bugs.webkit.org/show_bug.cgi?id=197785
+
+        Reviewed by Don Olmstead.
+
+        Add compiler flags to suppress various warnings triggered by the new version of ANGLE.
+
+        * CMakeLists.txt:
+
+2019-05-09  Don Olmstead  <don.olmstead@sony.com>
+
+        [ANGLE] Update ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=197676
+        <rdar://problem/50609501>
+
+        Reviewed by Alex Christensen.
+
+        * changes.diff:
+        Updated with all the previous fixes.
+        * include/EGL/eglplatform.h:
+        Use the more generic name USE_SYSTEM_EGL not USE_WPE.
+        * src/common/debug.h:
+        Fix a stray COMPILER_GCC to be __GNUC__.
+
+2019-05-08  Alex Christensen  <achristensen@webkit.org>
+
+        Fix internal and Windows builds.
+
+        * ANGLE.txt: Added.
+        Restore this file.  It was deleted, but it's needed.
+        * GLESv2.cmake:
+        It turns out CompositorNativeWindow11.cpp and Renderer11.cpp are needed, but the bot doesn't seem to have the right SDK.
+
+2019-05-08  Alex Christensen  <achristensen@webkit.org>
+
+        Fix High Sierra and Windows builds.
+
+        * GLESv2.cmake:
+        CompositorNativeWindow11.cpp was also having a hard time compiling on the bots.
+        * src/libANGLE/validationES3.cpp:
+        (gl::ValidateBindFragDataLocationIndexedEXT):
+        Remove a check for if an unsigned integer is less than 0.
+
+2019-05-08  Alex Christensen  <achristensen@webkit.org>
+
+        Fix High Sierra and Windows builds.
+
+        * src/common/utilities.cpp:
+        (gl::priv::gLineModes):
+        * src/common/utilities.h:
+        (gl::IsLineMode):
+        Don't have a global constructor.  Use a function scoped static variable instead.
+        * GLESv2.cmake:
+        Renderer11.cpp was not building successfully on the bots.
+        I don't think it's needed, so just don't build it.
+
+2019-05-08  Alex Christensen  <achristensen@webkit.org>
+
+        Fix High Sierra build.
+
+        * src/libANGLE/State.cpp:
+        (gl::State::kBufferSetters):
+        * src/libANGLE/State.h:
+        (gl::State::setBufferBinding):
+        Remove the need for a global constructor.
+
+2019-05-08  Don Olmstead  <don.olmstead@sony.com>
+
+        Update ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=197676
+
+        Reviewed by Alex Christensen.
+
+        Many changed files.  Updated to trunk ANGLE 565441b1078b.
+
+2019-04-29  Alex Christensen  <achristensen@webkit.org>
+
+        <rdar://problem/50299396> Fix internal High Sierra build
+        https://bugs.webkit.org/show_bug.cgi?id=197388
+
+        * Configurations/Base.xcconfig:
+
+2019-04-25  Alex Christensen  <achristensen@webkit.org>
+
+        Start using C++17
+        https://bugs.webkit.org/show_bug.cgi?id=197131
+
+        Reviewed by Darin Adler.
+
+        * Configurations/Base.xcconfig:
+
+2019-03-22  Keith Rollin  <krollin@apple.com>
+
+        Enable ThinLTO support in Production builds
+        https://bugs.webkit.org/show_bug.cgi?id=190758
+        <rdar://problem/45413233>
+
+        Reviewed by Daniel Bates.
+
+        Enable building with Thin LTO in Production when using Xcode 10.2 or
+        later. This change results in a 1.45% progression in PLT5. Full
+        Production build times increase about 2-3%. Incremental build times
+        are more severely affected, and so LTO is not enabled for local
+        engineering builds.
+
+        LTO is enabled only on macOS for now, until rdar://problem/49013399,
+        which affects ARM builds, is fixed.
+
+        To change the LTO setting when building locally:
+
+        - If building with `make`, specify WK_LTO_MODE={none,thin,full} on the
+          command line.
+        - If building with `build-webkit`, specify --lto-mode={none,thin,full}
+          on the command line.
+        - If building with `build-root`, specify --lto={none,thin,full} on the
+          command line.
+        - If building with Xcode, create a LocalOverrides.xcconfig file at the
+          top level of your repository directory (if needed) and define
+          WK_LTO_MODE to full, thin, or none.
+
+        * Configurations/Base.xcconfig:
+
+2019-02-23  Keith Miller  <keith_miller@apple.com>
+
+        Add new mac target numbers
+        https://bugs.webkit.org/show_bug.cgi?id=194955
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+
+2019-02-20  Andy Estes  <aestes@apple.com>
+
+        [Xcode] Add SDKVariant.xcconfig to various Xcode projects
+        https://bugs.webkit.org/show_bug.cgi?id=194869
+
+        Rubber-stamped by Jer Noble.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+
+2019-01-18  Jer Noble  <jer.noble@apple.com>
+
+        SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds
+        https://bugs.webkit.org/show_bug.cgi?id=189553
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/SDKVariant.xcconfig: Added.
+
+2019-01-17  Truitt Savell  <tsavell@apple.com>
+
+        Unreviewed, rolling out r240124.
+
+        This commit broke an internal build.
+
+        Reverted changeset:
+
+        "SDK_VARIANT build destinations should be separate from non-
+        SDK_VARIANT builds"
+        https://bugs.webkit.org/show_bug.cgi?id=189553
+        https://trac.webkit.org/changeset/240124
+
+2019-01-17  Jer Noble  <jer.noble@apple.com>
+
+        SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds
+        https://bugs.webkit.org/show_bug.cgi?id=189553
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/SDKVariant.xcconfig: Added.
+
+2019-01-15  David Kilzer  <ddkilzer@apple.com>
+
+        clang-tidy: Fix unnecessary copy of for loop variables in ANGLE
+        <https://webkit.org/b/193443>
+
+        Reviewed by Alex Christensen.
+
+        Fix unwanted copying of loop variables by making them const
+        references.
+
+        * src/compiler/preprocessor/MacroExpander.cpp:
+        (pp::MacroExpander::ScopedMacroReenabler::~ScopedMacroReenabler):
+        - Prevents copy and reference churn of std::shared_ptr<Macro>
+          objects.
+        * src/compiler/translator/Compiler.cpp:
+        (sh::TCompiler::useAllMembersInUnusedStandardAndSharedBlocks):
+        - Prevents copy of sh::InterfaceBlock structs.
+        (sh::TCompiler::initializeOutputVariables):
+        - Prevents copy of sh::Varying structs.
+        * src/libANGLE/Program.cpp:
+        (gl::(anonymous namespace)::IncludeSameArrayElement):
+        - Prevents copy of std::string objects.
+
+2018-10-03  Dan Bernstein  <mitz@apple.com>
+
+        ANGLE part of [Xcode] Update some build settings as recommended by Xcode 10
+        https://bugs.webkit.org/show_bug.cgi?id=190250
+
+        Reviewed by Andy Estes.
+
+        * ANGLE.xcodeproj/project.pbxproj: Kept the unreachable code warning off for four files that
+          were generated by tools: glslang_lex.cpp, glslang_tab.cpp, Tokenizer.cpp, and
+          ExpressionParser.cpp. Let Xcode update LastUpgradeCheck.
+
+        * Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA, CLANG_WARN_INFINITE_RECURSION,
+          CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS, CLANG_WARN_SUSPICIOUS_MOVE,
+          CLANG_WARN_UNREACHABLE_CODE, CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF, and
+          CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED.
+
+2018-09-21  Adrian Perez de Castro  <aperez@igalia.com>
+
+        [GTK] ANGLE's eglplatform.h does not support Wayland-only builds
+        https://bugs.webkit.org/show_bug.cgi?id=189844
+
+        Reviewed by Michael Catanzaro.
+
+        This makes it possible to build WebKitGTK+ after r225340 when the
+        build is configured to support only Wayland, and the X11 headers
+        are not present.
+
+        * changes.diff: Updated.
+        * include/EGL/eglplatform.h: Include the X11 headers only when
+        ANGLE_USE_X11 is defined and, for consistency with Mesa's version
+        of the header, when MESA_EGL_NO_X11_HEADERS is not defined.
+
+2018-08-29  David Kilzer  <ddkilzer@apple.com>
+
+        Remove empty directories from from svn.webkit.org repository
+        <https://webkit.org/b/189081>
+
+        * src/angle.xcodeproj: Removed.
+        * src/common/third_party/numerics: Removed.
+
+2018-08-28  David Kilzer  <ddkilzer@apple.com>
+
+        Move PMurHash.{cpp,h} into 'src' folder to match path on disk
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        (src/common/third_party/smhasher/src): Add folder and move
+        PMurHash.{cpp,h} into it.  This makes tidy-Xcode-project-file
+        run smoothly when updating the ANGLE project.
+
+2018-08-27  Keith Rollin  <krollin@apple.com>
+
+        Unreviewed build fix -- disable LTO for production builds
+
+        * Configurations/Base.xcconfig:
+
+2018-08-27  Keith Rollin  <krollin@apple.com>
+
+        Build system support for LTO
+        https://bugs.webkit.org/show_bug.cgi?id=187785
+        <rdar://problem/42353132>
+
+        Reviewed by Dan Bernstein.
+
+        Update Base.xcconfig and DebugRelease.xcconfig to optionally enable
+        LTO.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+
+2018-08-03  Alex Christensen  <achristensen@webkit.org>
+
+        Fix spelling of "overridden"
+        https://bugs.webkit.org/show_bug.cgi?id=188315
+
+        Reviewed by Darin Adler.
+
+        * src/libANGLE/renderer/ProgramImpl.h:
+
+2018-07-14  Kocsen Chung  <kocsen_chung@apple.com>
+
+        Ensure WebKit stack is ad-hoc signed
+        https://bugs.webkit.org/show_bug.cgi?id=187667
+
+        Reviewed by Alexey Proskuryakov.
+
+        * Configurations/Base.xcconfig:
+
+2018-07-04  Tim Horton  <timothy_horton@apple.com>
+
+        Introduce PLATFORM(IOSMAC)
+        https://bugs.webkit.org/show_bug.cgi?id=187315
+
+        Reviewed by Dan Bernstein.
+
+        * Configurations/Base.xcconfig:
+
+2018-06-09  Dan Bernstein  <mitz@apple.com>
+
+        [Xcode] Clean up and modernize some build setting definitions
+        https://bugs.webkit.org/show_bug.cgi?id=186463
+
+        Reviewed by Sam Weinig.
+
+        * Configurations/Base.xcconfig: Removed definition for macOS 10.11.
+        * Configurations/DebugRelease.xcconfig: Ditto.
+
+2018-05-30  David Kilzer  <ddkilzer@apple.com>
+
+        ANGLE: Fix clang static analyzer issues in GetExecutablePath() and GetExecutableDirectory()
+        <https://webkit.org/b/186106>
+        <rdar://problem/40659179>
+
+        Reviewed by Alex Christensen.
+
+        * src/common/system_utils_linux.cpp:
+        (angle::GetExecutablePath):
+        (angle::GetExecutableDirectory):
+        * src/common/system_utils_mac.cpp:
+        (angle::GetExecutablePath):
+        (angle::GetExecutableDirectory):
+        * src/common/system_utils_win.cpp:
+        (angle::GetExecutablePath):
+        (angle::GetExecutableDirectory):
+
+2018-05-22  Ryan Haddad  <ryanhaddad@apple.com>
+
+        Unreviewed, rolling out r232052.
+
+        Breaks internal builds.
+
+        Reverted changeset:
+
+        "Use more C++17"
+        https://bugs.webkit.org/show_bug.cgi?id=185176
+        https://trac.webkit.org/changeset/232052
+
+2018-05-21  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        Use more C++17
+        https://bugs.webkit.org/show_bug.cgi?id=185176
+
+        Reviewed by JF Bastien.
+
+        * Configurations/Base.xcconfig:
+
+2018-04-18  Jer Noble  <jer.noble@apple.com>
+
+        Don't put build products into WK_ALTERNATE_WEBKIT_SDK_PATH for engineering builds
+        https://bugs.webkit.org/show_bug.cgi?id=184762
+
+        Reviewed by Dan Bernstein.
+
+        * Configurations/Base.xcconfig:
+
+2018-04-19  David Kilzer  <ddkilzer@apple.com>
+
+        Enable Objective-C weak references
+        <https://webkit.org/b/184789>
+        <rdar://problem/39571716>
+
+        Reviewed by Dan Bernstein.
+
+        * Configurations/Base.xcconfig:
+        (CLANG_ENABLE_OBJC_WEAK): Enable.
+
+2018-03-19  Carlos Alberto Lopez Perez  <clopez@igalia.com>
+
+        REGRESSION(r225340): WPE port should not be getting EGL X11 types on ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=183749
+
+        Reviewed by Alex Christensen.
+
+        Add back the USE_WPE ifdef.
+
+        * changes.diff:
+        * include/EGL/eglplatform.h:
+
+2018-03-15  Tim Horton  <timothy_horton@apple.com>
+
+        Add and adopt WK_ALTERNATE_FRAMEWORKS_DIR in ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=183675
+        <rdar://problem/38515281>
+
+        Reviewed by Dan Bernstein.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * Configurations/ANGLE.xcconfig:
+        * Configurations/Base.xcconfig:
+
+2018-01-27  Dan Bernstein  <mitz@apple.com>
+
+        HaveInternalSDK includes should be "#include?"
+        https://bugs.webkit.org/show_bug.cgi?id=179670
+
+        * Configurations/Base.xcconfig:
+
+2018-01-18  Dan Bernstein  <mitz@apple.com>
+
+        [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
+        https://bugs.webkit.org/show_bug.cgi?id=181803
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig: Updated.
+        * Configurations/DebugRelease.xcconfig: Ditto.
+
+2018-01-09  Dan Bernstein  <mitz@apple.com>
+
+        Removed some empty directories that were left behind
+
+        * src/third_party/murmurhash: Removed.
+        * third_party: Removed.
+        * third_party/deqp: Removed.
+
+2017-12-14  David Kilzer  <ddkilzer@apple.com>
+
+        Enable -Wstrict-prototypes for WebKit
+        <https://webkit.org/b/180757>
+        <rdar://problem/36024132>
+
+        Rubber-stamped by Joseph Pecoraro.
+
+        * Configurations/Base.xcconfig:
+        (CLANG_WARN_STRICT_PROTOTYPES): Add. Set to YES.
+
+2017-12-06  Dean Jackson  <dino@apple.com>
+
+        Update ANGLE's changes.diff
+        https://bugs.webkit.org/show_bug.cgi?id=180491
+
+        Reviewed by Antoine Quint.
+
+        Here is the list of things we've changed from the
+        ANGLE commit that we merged in.
+
+        * changes.diff:
+
+2017-12-06  Dean Jackson  <dino@apple.com>
+
+        Some iOS tests failing after ANGLE update
+        https://bugs.webkit.org/show_bug.cgi?id=180487
+        <rdar://problem/35885969>
+
+        Reviewed by Antoine Quint.
+
+        The iOS OpenGL compiler doesn't like function declarations with
+        nameless array parameters. See:
+        <rdar://problem/35885989> Nameless array parameters in function declaration cause compiler error
+
+        While that is being fixed, tell ANGLE's translator to not cull
+        the names from parameters. This is not a bug in ANGLE, so we won't
+        fix it upstream at the moment.
+
+        * src/compiler/translator/ParseContext.cpp:
+        (sh::TParseContext::addFunctionPrototypeDeclaration):
+
+2017-12-01  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        Unreviewed, fix byte order macros and address new -Wunknown-pragmas warnings
+        https://bugs.webkit.org/show_bug.cgi?id=180177
+        <rdar://problem/35774734>
+
+        I'm not sure how this code was developed, as it seems to have been designed for GCC, but it
+        does not use any of GCC's documented byte order macros, and accordingly does not work. Let's
+        fix it to guarantee there are no problems when building with GCC. I presume it should help
+        Clang as well.
+
+        This time, hopefully without breaking 32-bit macOS, where __BYTE_ORDER actually is defined.
+
+        * src/common/third_party/smhasher/src/PMurHash.cpp:
+        (angle::PMurHash32_Process):
+
+2017-12-01  Ryan Haddad  <ryanhaddad@apple.com>
+
+        Unreviewed, rolling out r225412.
+
+        Breaks 32-bit macOS builds.
+
+        Reverted changeset:
+
+        "Unreviewed, fix byte order macros and address new -Wunknown-
+        pragmas warnings"
+        https://bugs.webkit.org/show_bug.cgi?id=180177
+        https://trac.webkit.org/changeset/225412
+
+2017-12-01  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        Unreviewed, fix byte order macros and address new -Wunknown-pragmas warnings
+        https://bugs.webkit.org/show_bug.cgi?id=180177
+        <rdar://problem/35774734>
+
+        I'm not sure how this code was developed, as it seems to have been designed for GCC, but it
+        does not use any of GCC's documented byte order macros, and accordingly does not work. Let's
+        fix it to guarantee there are no problems when building with GCC. I presume it should help
+        Clang as well.
+
+        * src/common/third_party/smhasher/src/PMurHash.cpp:
+        (angle::PMurHash32_Process):
+
+2017-12-01  Tomoki Imai  <Tomoki.Imai@sony.com>
+
+        Fix WinCairo build break after r225340
+        https://bugs.webkit.org/show_bug.cgi?id=180230
+
+        Unreviewed build fix.
+
+        * CMakeLists.txt: Add missing sources.
+        * PlatformWin.cmake: Add missing sources.
+
+2017-12-01  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        Unreviewed, fix -Wunknown-pragmas warnings.
+        https://bugs.webkit.org/show_bug.cgi?id=180177
+
+        It seems GCC has started to warn about unrecognized Clang pragmas. Oh well.
+
+        This is not sent upstream, because the Clang pragmas appear to be downstream WebKit
+        additions. changes.diff is not updated, because it was not updated in yesterday's ANGLE
+        update.
+
+        * include/GLSLANG/ShaderVars.h:
+        * src/libANGLE/Platform.cpp:
+
+2017-11-30  Alex Christensen  <achristensen@webkit.org>
+
+        Speculative WinCairo fix.
+        https://bugs.webkit.org/show_bug.cgi?id=180177
+
+        * CMakeLists.txt:
+        * PlatformWin.cmake:
+
+2017-11-30  Ryan Haddad  <ryanhaddad@apple.com>
+
+        Unreviewed build fix, remove executable property from a header file.
+
+        * include/KHR/khrplatform.h: Removed property svn:executable.
+
+2017-11-30  Dean Jackson  <dino@apple.com>
+
+        Update ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=180177
+        <rdar://problem/35774734>
+
+        Reviewed by Alex Christensen.
+
+        Huge list of changed files omitted.
+
+2017-07-18  Andy Estes  <aestes@apple.com>
+
+        [Xcode] Enable CLANG_WARN_RANGE_LOOP_ANALYSIS
+        https://bugs.webkit.org/show_bug.cgi?id=174631
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig:
+
+2017-07-18  Andy Estes  <aestes@apple.com>
+
+        [Xcode] Enable CLANG_WARN_OBJC_LITERAL_CONVERSION
+        https://bugs.webkit.org/show_bug.cgi?id=174631
+
+        Reviewed by Sam Weinig.
+
+        * Configurations/Base.xcconfig:
+
+2017-07-18  Andy Estes  <aestes@apple.com>
+
+        [Xcode] Enable CLANG_WARN_NON_LITERAL_NULL_CONVERSION
+        https://bugs.webkit.org/show_bug.cgi?id=174631
+
+        Reviewed by Dan Bernstein.
+
+        * Configurations/Base.xcconfig:
+
+2017-07-18  Andy Estes  <aestes@apple.com>
+
+        [Xcode] Enable CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING
+        https://bugs.webkit.org/show_bug.cgi?id=174631
+
+        Reviewed by Darin Adler.
+
+        * Configurations/Base.xcconfig:
+
+2017-07-13  Adrian Perez de Castro  <aperez@igalia.com>
+
+        eglplatform.h does not support Wayland
+        https://bugs.webkit.org/show_bug.cgi?id=163482
+
+        This makes it possible to build WebKitGTK+ when the target system has only Wayland support,
+        but no X11 (and therefore the X11 headers are not present).
+
+        Reviewed by Alex Christensen.
+
+        * include/EGL/eglplatform.h: Add Wayland typedefs when WL_EGL_PLATFORM is defined (for example
+        by including wayland-egl.h before including EGL/egl.h). Also, include the X11 headers only
+        when ANGLE_USE_X11 is defined and, for consistency with Mesa's version of the header, when
+        MESA_EGL_NO_X11_HEADERS is not defined.
+
+2017-07-03  Andy Estes  <aestes@apple.com>
+
+        [Xcode] Add an experimental setting to build with ccache
+        https://bugs.webkit.org/show_bug.cgi?id=173875
+
+        Reviewed by Tim Horton.
+
+        * Configurations/DebugRelease.xcconfig: Included ccache.xcconfig.
+
+2017-07-01  Dan Bernstein  <mitz@apple.com>
+
+        [macOS] Remove code only needed when building for OS X Yosemite
+        https://bugs.webkit.org/show_bug.cgi?id=174067
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+
+2017-06-10  Dan Bernstein  <mitz@apple.com>
+
+        Reverted r218056 because it made the IDE reindex constantly.
+
+        * Configurations/DebugRelease.xcconfig:
+
+2017-06-10  Dan Bernstein  <mitz@apple.com>
+
+        [Xcode] With Xcode 9 developer beta, everything rebuilds when switching between command-line and IDE
+        https://bugs.webkit.org/show_bug.cgi?id=173223
+
+        Reviewed by Sam Weinig.
+
+        The rebuilds were happening due to a difference in the compiler options that the IDE and
+        xcodebuild were specifying. Only the IDE was passing the -index-store-path option. To make
+        xcodebuild pass that option, too, set CLANG_INDEX_STORE_ENABLE to YES if it is unset, and
+        specify an appropriate path in CLANG_INDEX_STORE_PATH.
+
+        * Configurations/DebugRelease.xcconfig:
+
+2017-05-28  Dan Bernstein  <mitz@apple.com>
+
+        [Xcode] ALWAYS_SEARCH_USER_PATHS is set to YES
+        https://bugs.webkit.org/show_bug.cgi?id=172691
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig: Set ALWAYS_SEARCH_USER_PATHS to NO.
+
+2017-05-09  Zan Dobersek  <zdobersek@igalia.com>
+
+        Upstream the WPE port
+        https://bugs.webkit.org/show_bug.cgi?id=171110
+
+        Reviewed by Alex Christensen.
+
+        * include/EGL/eglplatform.h:
+        Allow building WPE on platforms that don't provide X11 libraries.
+
+2017-05-04  Don Olmstead  <don.olmstead@am.sony.com>
+
+        [Win] Remove redundant macros that are set in the CMake config
+        https://bugs.webkit.org/show_bug.cgi?id=171571
+
+        Reviewed by Brent Fulgham.
+
+        * CMakeLists.txt:
+
+2017-04-20  Konstantin Tokarev  <annulen@yandex.ru>
+
+        [cmake] Define FORWARDING_HEADERS_DIR in WebKitFS and use it everywhere
+        https://bugs.webkit.org/show_bug.cgi?id=171071
+
+        Reviewed by Michael Catanzaro.
+
+        "${DERIVED_SOURCES_DIR}/ForwardingHeaders" path occurs very often in the
+        build system files. GTK-specifc FORWARDING_HEADERS_DIR variable should
+        be available for all ports.
+
+        * CMakeLists.txt:
+
+2017-04-20  Fujii Hironori  <Hironori.Fujii@sony.com>
+
+        [WinCairo] Fix build break after updating ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=170980
+
+        Reviewed by Brent Fulgham.
+
+        * CMakeLists.txt: Added some new source files.
+        * PlatformMac.cmake: Ditto.
+        * PlatformWin.cmake: Ditto. Remove a macro 'ANGLE_WEBKIT_WIN'
+        because SoftLinking is not used anymore.
+        * src/third_party/systeminfo/: Restored.
+
+2017-04-19  Ryan Haddad  <ryanhaddad@apple.com>
+
+        Remove executable property from a header file.
+
+        * include/KHR/khrplatform.h: Removed property svn:executable.
+
+2017-04-18  Dean Jackson  <dino@apple.com>
+
+        Add the actual content to the files, now that
+        SVN knows they can have tabs.
+
+        * src/third_party/murmurhash/MurmurHash3.cpp:
+        * src/third_party/murmurhash/MurmurHash3.h:
+
+2017-04-18  Dean Jackson  <dino@apple.com>
+
+        WinCairo needs these files I recently removed
+        from our copy of ANGLE.
+
+        * src/third_party/murmurhash/LICENSE: Added.
+        * src/third_party/murmurhash/MurmurHash3.cpp: Added.
+        * src/third_party/murmurhash/MurmurHash3.h: Added.
+
+2017-04-18  Dean Jackson  <dino@apple.com>
+
+        Still trying to fix Windows.
+
+        * PlatformWin.cmake:
+
+2017-04-18  Dean Jackson  <dino@apple.com>
+
+        Attempt to fix the Windows build.
+
+        * PlatformWin.cmake:
+
+2017-04-18  Dean Jackson  <dino@apple.com>
+
+        Update ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=170941
+        <rdar://problem/31633999>
+
+        Reviewed by Alex Christensen.
+
+        Huge list of changed files omitted.
+
+2017-04-12  Dan Bernstein  <mitz@apple.com>
+
+        [Mac] Future-proof .xcconfig files
+        https://bugs.webkit.org/show_bug.cgi?id=170802
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+
+2016-12-20  Tim Horton  <timothy_horton@apple.com>
+
+        Remove an ANGLE Markdown file from the ANGLE target
+        https://bugs.webkit.org/show_bug.cgi?id=166279
+
+        Reviewed by Alex Christensen.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        We don't need to build this, it's not source code.
+
+2016-12-15  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        Sort Xcode project files
+        https://bugs.webkit.org/show_bug.cgi?id=165937
+
+        Reviewed by Simon Fraser.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+
+2016-12-15  Alex Christensen  <achristensen@webkit.org>
+
+        Fix Windows WebGL build after r209832
+
+        * CMakeLists.txt:
+        * include/EGL/egl.h:
+        * include/GLES2/gl2.h:
+
+2016-12-14  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards using ANGLE to do WebGL rendering
+        https://bugs.webkit.org/show_bug.cgi?id=165864
+
+        Reviewed by Dean Jackson.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        Compile more files, and add some more "public" headers.
+        ANGLE is not a public framework, so these headers just go in 
+        WebKitBuild/Release/usr/local/include/ANGLE to be included when compiling WebCore.
+        * ANGLE/egl.h: Added.
+        * ANGLE/eglext.h: Added.
+        * ANGLE/eglplatform.h: Added.
+        * ANGLE/entry_points_gles_2_0.h: Added.
+        * ANGLE/entry_points_gles_2_0_ext.h: Added.
+        * ANGLE/entry_points_gles_3_0.h: Added.
+        * ANGLE/export.h: Added.
+        * ANGLE/gl2.h: Added.
+        * ANGLE/gl2ext.h: Added.
+        * ANGLE/gl2platform.h: Added.
+        * ANGLE/gl3.h: Added.
+        * ANGLE/gl31.h: Added.
+        * ANGLE/gl3platform.h: Added.
+        * ANGLE/khrplatform.h: Added.
+        Add more forwarding headers.  There are already a few, but we need more.
+        * CMakeLists.txt:
+        * PlatformMac.cmake:
+        Make the frameworks linked to by ANGLE be private so frameworks that link with 
+        ANGLE don't automatically link with them. This allows me to switch ANGLE from a 
+        static library to a dynamic library to make sure WebCore isn't directly using OpenGL.
+        * PlatformWin.cmake:
+        Move HLSL-specific files to only be built on Windows.
+        * include/EGL/egl.h:
+        * include/EGL/eglplatform.h:
+        * include/GLES2/gl2.h:
+        * include/GLES2/gl2platform.h:
+        * include/GLES3/gl3.h:
+        * include/GLES3/gl31.h:
+        * include/GLES3/gl32.h:
+        * include/GLES3/gl3platform.h:
+        * src/libGLESv2/entry_points_egl.h:
+        * src/libGLESv2/entry_points_egl_ext.h:
+        * src/libGLESv2/entry_points_gles_2_0.h:
+        * src/libGLESv2/entry_points_gles_2_0_ext.h:
+        * src/libGLESv2/entry_points_gles_3_0.h:
+        * src/libGLESv2/entry_points_gles_3_1.h:
+        Include ANGLE headers as #include <ANGLE/*> instead of #include <KHR/*> or #include <GLES/*>
+        This is needed to distinguish the ANGLE headers from any system OpenGL/OpenGLES headers.
+        We will eventually only include ANGLE's entry_points_*.h directly from WebCore.
+
+2016-12-07  Alex Christensen  <achristensen@webkit.org>
+
+        Build more of ANGLE on Mac and Windows
+        https://bugs.webkit.org/show_bug.cgi?id=165543
+
+        Reviewed by Dean Jackson.
+
+        We will need to compile these files to use ANGLE's GLESv2 implementation instead of 
+        using OpenGL directly. No functional change.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * CMakeLists.txt:
+        Move platform-specific files to Platform*.cmake.
+        * PlatformMac.cmake: Added.
+        * PlatformWin.cmake: Added.
+        * src/libANGLE/renderer/Format.cpp:
+        * src/libANGLE/renderer/Format_autogen.cpp:
+        (angle::Format::Get):
+        * src/libANGLE/renderer/gl/PathGL.cpp:
+        * src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.h:
+        * src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm:
+        Rename SwapLayer to WebSwapLayer.  Otherwise, WebCore complains about improperly named ObjC classes.
+        Since this is the only one, let's just rename it instead of adding an exception.
+        (rx::WindowSurfaceCGL::initialize):
+        (-[SwapLayer initWithSharedState:withContext:withFunctions:]): Deleted.
+        * src/libANGLE/renderer/gl/formatutilsgl.cpp:
+        (rx::nativegl::GetInternalFormatMap):
+        (rx::nativegl::GetInternalFormatInfo):
+        * src/libANGLE/renderer/renderer_utils.cpp:
+        (rx::GetColorWriteFunction):
+        * src/libGLESv2/entry_points_egl.cpp:
+        (egl::GetProcAddress):
+
+2016-12-06  Alexey Proskuryakov  <ap@apple.com>
+
+        Correct SDKROOT values in xcconfig files
+        https://bugs.webkit.org/show_bug.cgi?id=165487
+        rdar://problem/29539209
+
+        Reviewed by Dan Bernstein.
+
+        Fix suggested by Dan Bernstein.
+
+        * Configurations/DebugRelease.xcconfig:
+
+2016-10-30  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        -Wpragmas warning spam from angleutils.h
+        https://bugs.webkit.org/show_bug.cgi?id=164207
+
+        Reviewed by Darin Adler.
+
+        Use #pragma clang instead of #pragma GCC since all of the warnings we need to suppress are
+        Clang-specific warnings. GCC ignores unknown pragmas and does not warn, but it does warn if
+        any GCC pragma is invalid.
+
+        Note that this might still be broken for MSVCC, as MSVCC warns when it sees unknown pragmas.
+
+        * changes.diff:
+        * src/common/angleutils.cpp:
+        (FormatString):
+        * src/common/angleutils.h:
+        (MakeStaticString):
+        * src/common/debug.cpp:
+        * src/common/mathutil.cpp:
+        * src/libANGLE/Caps.cpp:
+        (gl::TextureCapsMap::get):
+        (gl::GetExtensionInfoMap):
+        * src/libANGLE/Device.cpp:
+        (egl::GetDeviceSet):
+        * src/libANGLE/Display.cpp:
+        (egl::Display::getClientExtensionString):
+        * src/libANGLE/formatutils.cpp:
+        (gl::GetInternalFormatMap):
+        (gl::GetAllSizedInternalFormats):
+        * src/libANGLE/validationES3.cpp:
+        (gl::IsValidES3CopyTexImageCombination):
+
+2016-10-28  Alex Christensen  <achristensen@webkit.org>
+
+        Another build fix.
+
+        * CMakeLists.txt:
+
+2016-10-28  Alex Christensen  <achristensen@webkit.org>
+
+        Fix Windows WebGL build after r208036
+        https://bugs.webkit.org/show_bug.cgi?id=164101
+
+        * CMakeLists.txt:
+
+2016-10-27  Alex Christensen  <achristensen@webkit.org>
+
+        Fix Windows WebGL build after r208036
+        https://bugs.webkit.org/show_bug.cgi?id=164101
+
+        * CMakeLists.txt:
+        Add new files, remove deleted files.
+
+2016-10-27  Alex Christensen  <achristensen@webkit.org>
+
+        Update ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=164101
+
+        Reviewed by Darin Adler.
+
+        Updated to f01731530e7f754e5ebaf32d00f3e23b62376424
+        Differences between upstream ANGLE and WebKit's copy of ANGLE are in changes.diff
+
+2016-10-24  Alex Christensen  <achristensen@webkit.org>
+
+        Remove unused ANGLE.vcxproj after switching to CMake on Windows
+
+        * ANGLE.vcxproj: Removed.
+        * ANGLE.vcxproj/ANGLERelease.props: Removed.
+        * ANGLE.vcxproj/DirectX32.props: Removed.
+        * ANGLE.vcxproj/DirectX64.props: Removed.
+        * ANGLE.vcxproj/libEGL.vcxproj: Removed.
+        * ANGLE.vcxproj/libEGL.vcxproj.filters: Removed.
+        * ANGLE.vcxproj/libEGLCommon.props: Removed.
+        * ANGLE.vcxproj/libGLESv2.vcxproj: Removed.
+        * ANGLE.vcxproj/libGLESv2.vcxproj.filters: Removed.
+        * ANGLE.vcxproj/libGLESv2Common.props: Removed.
+        * ANGLE.vcxproj/preprocessor.vcxproj: Removed.
+        * ANGLE.vcxproj/preprocessor.vcxproj.filters: Removed.
+        * ANGLE.vcxproj/translatorCommon.props: Removed.
+        * ANGLE.vcxproj/translator_common.vcxproj: Removed.
+        * ANGLE.vcxproj/translator_common.vcxproj.filters: Removed.
+        * ANGLE.vcxproj/translator_glsl.vcxproj: Removed.
+        * ANGLE.vcxproj/translator_glsl.vcxproj.filters: Removed.
+        * ANGLE.vcxproj/translator_hlsl.vcxproj: Removed.
+        * ANGLE.vcxproj/translator_hlsl.vcxproj.filters: Removed.
+
+2016-09-09  Dean Jackson  <dino@apple.com>
+
+        [ANGLE] instantiation of variable 'gl::GLTypeToGLenum<float>::value' required here, but no definition is available
+        https://bugs.webkit.org/show_bug.cgi?id=161829
+        <rdar://problem/28051244>
+
+        Reviewed by Alex Christensen.
+
+        Newer versions of clang require explicit definition of some template types
+        if they are in another translation unit.
+
+        * src/libANGLE/Program.cpp: Add definitions for GLTypeToGLenum.
+
+2016-07-29  David Kilzer  <ddkilzer@apple.com>
+
+        ANGLE: Fix global constructors and exit-time destructors
+        <https://webkit.org/b/160332>
+
+        Reviewed by Darin Adler.
+
+        * Configurations/Base.xcconfig:
+        - Add warning flags.
+
+        * src/common/angleutils.cpp:
+        (FormatString):
+        * src/common/angleutils.h:
+        (MakeStaticString):
+        * src/common/debug.cpp:
+        * src/common/mathutil.cpp:
+        (gl::g_sharedexp_max):
+        (gl::convertRGBFloatsTo999E5):
+        * src/compiler/translator/ShaderLang.cpp:
+        (ShGetUniformRegisterMap):
+        * src/libANGLE/Caps.cpp:
+        (gl::TextureCapsMap::get):
+        * src/libANGLE/Device.cpp:
+        (egl::GetDeviceSet):
+        * src/libANGLE/Display.cpp:
+        (egl::Display::getClientExtensionString):
+        * src/libANGLE/formatutils.cpp:
+        (gl::BuildFormatMap):
+        (gl::BuildInternalFormatInfoMap):
+        (gl::GetInternalFormatMap):
+        (gl::BuildAllSizedInternalFormatSet):
+        (gl::GetSizedInternalFormat):
+        (gl::GetAllSizedInternalFormats):
+        * src/libANGLE/validationES3.cpp:
+        (gl::BuildES3FormatSet):
+        (gl::ValidateTexImageFormatCombination):
+        (gl::BuildSizedEffectiveInternalFormatList):
+        (gl::BuildUnsizedEffectiveInternalFormatList):
+        (gl::GetEffectiveInternalFormat):
+        (gl::BuildValidES3CopyTexImageCombinations):
+        (gl::IsValidES3CopyTexImageCombination):
+        - Fix global constructors and exit-time destructors.
+
+2016-07-13  Enrica Casucci  <enrica@apple.com>
+
+        Update supported platforms in xcconfig files to match the sdk names.
+        https://bugs.webkit.org/show_bug.cgi?id=159728
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig:
+
+2016-05-24  Alex Christensen  <achristensen@webkit.org>
+
+        Fix iOS WebGL after r199738
+        https://bugs.webkit.org/show_bug.cgi?id=158024
+        rdar://problem/26446679
+
+        Reviewed by Myles Maxfield.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        iOS needs the ESSL translator.
+
+2016-05-22  Brady Eidson  <beidson@apple.com>
+
+        Move to C++14.
+        https://bugs.webkit.org/show_bug.cgi?id=157948
+
+        Reviewed by Michael Catanzaro.
+
+        * Configurations/Base.xcconfig:
+
+2016-04-26  Per Arne Vollan  <peavo@outlook.com>
+
+        [WinCairo][ANGLE] Display object is not created.
+        https://bugs.webkit.org/show_bug.cgi?id=157042
+
+        Reviewed by Alex Christensen.
+
+        The CreateDisplayFromAttribs function will not create a DisplayD3D object when the requested
+        type is EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE, because ANGLE_ENABLE_OPENGL is not defined.
+        We should be able to create a DisplayD3D object without defining ANGLE_ENABLE_OPENGL.
+
+        * src/libANGLE/Display.cpp:
+
+2016-04-26  Per Arne Vollan  <peavo@outlook.com>
+
+        [WinCairo][WebGL] Enable ESSL and GLSL translators.
+        https://bugs.webkit.org/show_bug.cgi?id=157002
+
+        Reviewed by Darin Adler.
+
+        Enable support for ESSL and GLSL translators, and add missing files.
+
+        * CMakeLists.txt:
+
+2016-04-22  Joonghun Park  <jh718.park@samsung.com>
+
+        [ANGLE] Remove deprecated auto_ptr warning. Unreviewed.
+        https://bugs.webkit.org/show_bug.cgi?id=156894
+
+        * src/compiler/preprocessor/MacroExpander.h: Use std::unique_ptr instead of std::auto_ptr.
+
+2016-04-19  Alex Christensen  <achristensen@webkit.org>
+
+        Build fix after r199738
+
+        * CMakeLists.txt:
+
+2016-04-19  Alex Christensen  <achristensen@webkit.org>
+
+        Build fix after r199738
+
+        * CMakeLists.txt:
+
+2016-04-19  Alex Christensen  <achristensen@webkit.org>
+
+        Build fix.
+
+        * src/compiler/translator/Intermediate.h: Added.
+        (TIntermediate::TIntermediate):
+        * src/compiler/translator/intermediate.h: Removed.
+        Changed case of Intermediate.h file name for case sensitive file systems.
+
+2016-04-19  Alex Christensen  <achristensen@webkit.org>
+
+        Update ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=156755
+
+        Reviewed by Dean Jackson.
+
+        Huge list of changed files omitted.
+
+2016-04-12  Alex Christensen  <achristensen@webkit.org>
+
+        Remove failing assertion in ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=156485
+
+        Reviewed by Dean Jackson.
+
+        * src/compiler/translator/glslang.l:
+        * src/compiler/translator/glslang_lex.cpp:
+
+2016-04-11  Fujii Hironori  <Hironori.Fujii@jp.sony.com>
+
+        [CMake] Make FOLDER property INHERITED
+        https://bugs.webkit.org/show_bug.cgi?id=156460
+
+        Reviewed by Brent Fulgham.
+
+        * CMakeLists.txt:
+        Set FOLDER property as a directory property not a target property
+
+2016-03-22  Alberto Garcia  <berto@igalia.com>
+
+        Unreviewed typo fix.
+
+        * src/compiler/translator/InfoSink.cpp:
+        (TInfoSinkBase::prefix): "UNKOWN" => "UNKOWN".
+
+2016-03-20  Dan Bernstein  <mitz@apple.com>
+
+        [Mac] Determine TARGET_MAC_OS_X_VERSION_MAJOR from MACOSX_DEPLOYMENT_TARGET rather than from MAC_OS_X_VERSION_MAJOR
+        https://bugs.webkit.org/show_bug.cgi?id=155707
+        <rdar://problem/24980691>
+
+        Reviewed by Darin Adler.
+
+        * Configurations/Base.xcconfig: Set TARGET_MAC_OS_X_VERSION_MAJOR based on the last
+          component of MACOSX_DEPLOYMENT_TARGET.
+        * Configurations/DebugRelease.xcconfig: For engineering builds, preserve the behavior of
+          TARGET_MAC_OS_X_VERSION_MAJOR being the host’s OS version.
+
+2016-03-20  Dan Bernstein  <mitz@apple.com>
+
+        Update build settings
+
+        Rubber-stamped by Andy Estes.
+
+        * Configurations/DebugRelease.xcconfig:
+
+2016-02-23  Dan Bernstein  <mitz@apple.com>
+
+        [Xcode] Linker errors display mangled names, but no longer should
+        https://bugs.webkit.org/show_bug.cgi?id=154632
+
+        Reviewed by Sam Weinig.
+
+        * Configurations/Base.xcconfig: Stop setting LINKER_DISPLAYS_MANGLED_NAMES to YES.
+
+2016-01-08  Brent Fulgham  <bfulgham@apple.com>
+
+        [ANGLE] Correct UNREACHABLE runtime assertion for void constructors
+        https://bugs.webkit.org/show_bug.cgi?id=152900
+        <rdar://problem/24107501>
+
+        Reviewed by Alex Christensen.
+
+        Tested by Khronos WebGL 1.0.4 suite.
+
+        Merge a small part of ANGLE upstream commit r284735:
+        
+            commit    01971113492d9aca386f2bca021b1f4b134fc277
+            author    Dmitry Skiba <dskiba@google.com>  Fri Jul 10 18:54:00 2015
+            committer Jamie Madill <jmadill@chromium.org>  Fri Jul 10 19:03:34 2015
+            tree      47e42eac00f7d64cddb14b3cc21a4e605c189d20
+
+        This issue was found by <https://www.khronos.org/registry/webgl/sdk/tests/conformance/glsl/bugs/angle-constructor-invalid-parameters.html?webglVersion=1&quiet=0>
+
+        * src/compiler/translator/Types.cpp:
+        (TType::buildMangledName): Don't assert with UNREACHABLE here.
+
+2015-12-28  Joonghun Park  <jh718.park@samsung.com>
+
+        [ANGLE][EFL][GTK] Remove 'template<class> class std::auto_ptr is deprecated' compile warning
+        https://bugs.webkit.org/show_bug.cgi?id=152567
+
+        Reviewed by Alex Christensen.
+
+        Because auto_ptr is deprecated as of C++11, we should use unique_ptr instead.
+
+        * src/compiler/preprocessor/MacroExpander.h:
+
+2015-12-19  Dan Bernstein  <mitz@apple.com>
+
+        [Mac] WebKit contains dead source code for OS X Mavericks and earlier
+        https://bugs.webkit.org/show_bug.cgi?id=152462
+
+        Reviewed by Alexey Proskuryakov.
+
+        * Configurations/DebugRelease.xcconfig: Removed definitions of MACOSX_DEPLOYMENT_TARGET for
+          OS X 10.8 and 10.9.
+
+2015-12-03  Anders Carlsson  <andersca@apple.com>
+
+        Remove Objective-C GC support
+        https://bugs.webkit.org/show_bug.cgi?id=151819
+        rdar://problem/23746991
+
+        Reviewed by Dan Bernstein.
+
+        * Configurations/Base.xcconfig:
+
+2015-11-30  Dana Burkart  <dburkart@apple.com>
+
+        Remove Mountain Lion support from ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=151679
+
+        Reviewed by Darin Adler.
+
+        * Configurations/Base.xcconfig:
+
+2015-11-02  Andy Estes  <aestes@apple.com>
+
+        [Cocoa] Add tvOS and watchOS to SUPPORTED_PLATFORMS
+        https://bugs.webkit.org/show_bug.cgi?id=150819
+
+        Reviewed by Dan Bernstein.
+
+        This tells Xcode to include these platforms in its Devices dropdown, making it possible to build in the IDE.
+
+        * Configurations/Base.xcconfig:
+
+2015-10-10  Dan Bernstein  <mitz@apple.com>
+
+        [iOS] Remove project support for iOS 8
+        https://bugs.webkit.org/show_bug.cgi?id=149993
+
+        Reviewed by Alexey Proskuryakov.
+
+        * Configurations/ANGLE.xcconfig:
+        * Configurations/Base.xcconfig:
+
+2015-08-20  Alex Christensen  <achristensen@webkit.org>
+
+        Clean up CMake build after r188673
+        https://bugs.webkit.org/show_bug.cgi?id=148234
+
+        Reviewed by Tim Horton.
+
+        * CMakeLists.txt:
+        Copy headers to forwarding headers.
+
+2015-08-11  Brent Fulgham  <bfulgham@apple.com>
+
+        [Win] Switch Windows build to Visual Studio 2015
+        https://bugs.webkit.org/show_bug.cgi?id=147887
+        <rdar://problem/22235098>
+
+        Reviewed by Alex Christensen.
+
+        Update Visual Studio project file settings to use the current Visual
+        Studio and compiler. Continue targeting binaries to run on our minimum
+        supported configuration of Windows 7.
+
+        * ANGLE.vcxproj/libEGL.vcxproj:
+        * ANGLE.vcxproj/libGLESv2.vcxproj:
+        * ANGLE.vcxproj/preprocessor.vcxproj:
+        * ANGLE.vcxproj/translator_common.vcxproj:
+        * ANGLE.vcxproj/translator_glsl.vcxproj:
+        * ANGLE.vcxproj/translator_hlsl.vcxproj:
+
+2015-08-04  Alex Christensen  <achristensen@webkit.org>
+
+        Build fix after r187928.
+
+        * CMakeLists.txt:
+        Typo. Set libGLESv2 compile definitions instead of libEGL, which are set separately.
+
+2015-08-04  Alex Christensen  <achristensen@webkit.org>
+
+        Soft link libGLESv2 and libEGL on Windows again
+        https://bugs.webkit.org/show_bug.cgi?id=147671
+
+        Reviewed by Dean Jackson.
+
+        * CMakeLists.txt:
+        Clean up some warnings when compiling with CMake.
+        * include/EGL/egl.h:
+        * include/EGL/eglsoftlinking.h:
+        * include/GLES2/gl2.h:
+        Soft link egl optionally.
+
+2015-08-04  Alex Christensen  <achristensen@webkit.org>
+
+        Enable WebGL on Windows CMake build.
+        https://bugs.webkit.org/show_bug.cgi?id=143311
+
+        Reviewed by Csaba Osztrogonác.
+
+        * CMakeLists.txt: Added.
+
+2015-07-03  Dan Bernstein  <mitz@apple.com>
+
+        [Xcode] Update some build settings as recommended by Xcode 7
+        https://bugs.webkit.org/show_bug.cgi?id=146597
+
+        Reviewed by Sam Weinig.
+
+        * ANGLE.xcodeproj/project.pbxproj: Enabled CLANG_WARN_BOOL_CONVERSION,
+        CLANG_WARN_ENUM_CONVERSION, CLANG_WARN_INT_CONVERSION, ENABLE_STRICT_OBJC_MSGSEND and
+        GCC_NO_COMMON_BLOCKS.
+
+        * Configurations/Base.xcconfig: Updated LastUpgradeCheck.
+
+2015-07-03  Per Arne Vollan  <peavo@outlook.com>
+
+        [WinCairo][WebGL] Enable HLSL.
+        https://bugs.webkit.org/show_bug.cgi?id=146559
+
+        Reviewed by Alex Christensen.
+
+        High Level Shader Language needs to be enabled for WebGL to work on Windows.
+
+        * ANGLE.vcxproj/translatorCommon.props:
+        * ANGLE.vcxproj/translator_hlsl.vcxproj:
+        * ANGLE.vcxproj/translator_hlsl.vcxproj.filters:
+
+2015-07-01  Alex Christensen  <achristensen@webkit.org>
+
+        Re-enable WebGL on WinCairo
+        https://bugs.webkit.org/show_bug.cgi?id=146537
+
+        Reviewed by Csaba Osztrogonác.
+
+        * ANGLE.vcxproj/DirectX32.props:
+        * ANGLE.vcxproj/DirectX64.props:
+        * ANGLE.vcxproj/libGLESv2Common.props:
+        Update DirectX directories to use the Windows SDK instead of the June 2010 DirectX SDK.
+
+2015-07-01  Alex Christensen  <achristensen@webkit.org>
+
+        Fix ANGLE Windows build after r186169.
+        https://bugs.webkit.org/show_bug.cgi?id=146532
+
+        Reviewed by Brent Fulgham.
+
+        * ANGLE.vcxproj/libEGL.vcxproj:
+        * ANGLE.vcxproj/libEGL.vcxproj.filters:
+        * ANGLE.vcxproj/libGLESv2.vcxproj:
+        * ANGLE.vcxproj/libGLESv2.vcxproj.filters:
+        * ANGLE.vcxproj/libGLESv2Common.props:
+        * ANGLE.vcxproj/translator_common.vcxproj:
+        * ANGLE.vcxproj/translator_common.vcxproj.filters:
+        * ANGLE.vcxproj/translator_glsl.vcxproj:
+        * ANGLE.vcxproj/translator_glsl.vcxproj.filters:
+        * ANGLE.vcxproj/translator_hlsl.vcxproj:
+        * ANGLE.vcxproj/translator_hlsl.vcxproj.filters:
+        Update Windows build to build new files.
+
+2015-06-30  Alex Christensen  <achristensen@webkit.org>
+
+        Update ANGLE to b11e2483742db884bd0af41f78f528240577356b.
+        https://bugs.webkit.org/show_bug.cgi?id=145010
+
+        Reviewed by Dean Jackson.
+
+        Huge list of source changes omitted.
+        ROLL DEPS!
+
+2015-05-26  Dan Bernstein  <mitz@apple.com>
+
+        <rdar://problem/21104551> Update build settings
+
+        Reviewed by Anders Carlsson.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+
+2015-05-19  Carlos Alberto Lopez Perez  <clopez@igalia.com>
+
+        REGRESSION(r181571): Build broken when USE(OPENGL_ES_2) is defined.
+        https://bugs.webkit.org/show_bug.cgi?id=145156
+
+        Reviewed by Alex Christensen.
+
+        * include/GLES2/gl2softlinking.h: Revert r181589. Vertex Array Objects are not in GLESv2.
+
+2015-05-11  Brent Fulgham  <bfulgham@apple.com>
+
+        [Win] Move Windows build target to Windows 7 (or newer)
+        https://bugs.webkit.org/show_bug.cgi?id=144890
+        <rdar://problem/20707307>
+
+        Reviewed by Anders Carlsson.
+
+        Update linked SDK and minimal Windows level to be compatible with
+        Windows 7 or newer.
+
+        * ANGLE.vcxproj/libEGL.vcxproj:
+        * ANGLE.vcxproj/libGLESv2.vcxproj:
+        * ANGLE.vcxproj/preprocessor.vcxproj:
+        * ANGLE.vcxproj/translator_common.vcxproj:
+        * ANGLE.vcxproj/translator_glsl.vcxproj:
+        * ANGLE.vcxproj/translator_hlsl.vcxproj:
+
+2015-05-07  Dan Bernstein  <mitz@apple.com>
+
+        <rdar://problem/19317140> [Xcode] Remove usage of AspenFamily.xcconfig in Source/
+        https://bugs.webkit.org/show_bug.cgi?id=144727
+
+        Reviewed by Darin Adler.
+
+        * Configurations/Base.xcconfig: Don’t include AspenFamily.xcconfig, and define
+        INSTALL_PATH_PREFIX and LD_DYLIB_INSTALL_NAME for the iOS 8.x Simulator.
+
+2015-04-01  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards CMake on Windows and Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=143293
+
+        Reviewed by Filip Pizlo.
+
+        * include/GLES2/gl2.h:
+        Temporarily disabled WebGL on Windows CMake builds.
+
+2015-03-17  Zan Dobersek  <zdobersek@igalia.com>
+
+        [CMake] Use a forwarding header for ANGLE's ShaderLang.h to avoid picking up ANGLE's EGL headers
+        https://bugs.webkit.org/show_bug.cgi?id=142530
+
+        Reviewed by Darin Adler.
+
+        * ANGLE/ShaderLang.h: Added. Includes include/GLSLANG/ShaderLang.h. Used in WebCore
+        so we can avoid using ANGLE's EGL headers and use the system-default headers instead.
+
+2015-03-16  Roger Fong  <roger_fong@apple.com>
+
+        [Win] Unreviewed build fix after r181571.
+
+        * include/GLES2/gl2softlinking.h:
+
+2015-03-12  Brent Fulgham  <bfulgham@apple.com>
+
+        [Win] Unreviewed build fix (part 2).
+
+        * ANGLE.vcxproj/libGLESv2Common.props: Missed a directory separator.
+
+2015-03-12  Brent Fulgham  <bfulgham@apple.com>
+
+        [Win] Unreviewed build fix for some DirectX SDK Installs
+
+        * ANGLE.vcxproj/libGLESv2Common.props: Correct path for Lib and
+        Include paths based on problems others have had building WebKit
+        under different Windows and DirectX revisions.
+
+2015-02-20  Alexey Proskuryakov  <ap@apple.com>
+
+        Remove svn:keywords property.
+
+        As far as I can tell, the property had no effect on any of these files, but also,
+        when it has effect it's likely harmful.
+
+        * ANGLE.txt: Removed property svn:keywords.
+        * src/common/RefCountObject.cpp: Removed property svn:keywords.
+        * src/common/RefCountObject.h: Removed property svn:keywords.
+        * src/compiler/translator/BaseTypes.h: Removed property svn:keywords.
+        * src/compiler/translator/BuiltInFunctionEmulator.cpp: Removed property svn:keywords.
+        * src/compiler/translator/BuiltInFunctionEmulator.h: Removed property svn:keywords.
+        * src/compiler/translator/CodeGen.cpp: Removed property svn:keywords.
+        * src/compiler/translator/Common.h: Removed property svn:keywords.
+        * src/compiler/translator/Compiler.cpp: Removed property svn:keywords.
+        * src/compiler/translator/ConstantUnion.h: Removed property svn:keywords.
+        * src/compiler/translator/DetectCallDepth.cpp: Removed property svn:keywords.
+        * src/compiler/translator/DetectCallDepth.h: Removed property svn:keywords.
+        * src/compiler/translator/DetectDiscontinuity.cpp: Removed property svn:keywords.
+        * src/compiler/translator/DetectDiscontinuity.h: Removed property svn:keywords.
+        * src/compiler/translator/Diagnostics.cpp: Removed property svn:keywords.
+        * src/compiler/translator/Diagnostics.h: Removed property svn:keywords.
+        * src/compiler/translator/DirectiveHandler.cpp: Removed property svn:keywords.
+        * src/compiler/translator/DirectiveHandler.h: Removed property svn:keywords.
+        * src/compiler/translator/ExtensionBehavior.h: Removed property svn:keywords.
+        * src/compiler/translator/ForLoopUnroll.cpp: Removed property svn:keywords.
+        * src/compiler/translator/ForLoopUnroll.h: Removed property svn:keywords.
+        * src/compiler/translator/HashNames.h: Removed property svn:keywords.
+        * src/compiler/translator/InfoSink.cpp: Removed property svn:keywords.
+        * src/compiler/translator/InfoSink.h: Removed property svn:keywords.
+        * src/compiler/translator/Initialize.cpp: Removed property svn:keywords.
+        * src/compiler/translator/Initialize.h: Removed property svn:keywords.
+        * src/compiler/translator/InitializeDll.cpp: Removed property svn:keywords.
+        * src/compiler/translator/InitializeDll.h: Removed property svn:keywords.
+        * src/compiler/translator/InitializeGlobals.h: Removed property svn:keywords.
+        * src/compiler/translator/InitializeParseContext.cpp: Removed property svn:keywords.
+        * src/compiler/translator/InitializeParseContext.h: Removed property svn:keywords.
+        * src/compiler/translator/InitializeVariables.cpp: Removed property svn:keywords.
+        * src/compiler/translator/InitializeVariables.h: Removed property svn:keywords.
+        * src/compiler/translator/IntermTraverse.cpp: Removed property svn:keywords.
+        * src/compiler/translator/Intermediate.cpp: Removed property svn:keywords.
+        * src/compiler/translator/MMap.h: Removed property svn:keywords.
+        * src/compiler/translator/NodeSearch.h: Removed property svn:keywords.
+        * src/compiler/translator/OutputESSL.cpp: Removed property svn:keywords.
+        * src/compiler/translator/OutputESSL.h: Removed property svn:keywords.
+        * src/compiler/translator/OutputGLSL.cpp: Removed property svn:keywords.
+        * src/compiler/translator/OutputGLSL.h: Removed property svn:keywords.
+        * src/compiler/translator/OutputGLSLBase.cpp: Removed property svn:keywords.
+        * src/compiler/translator/OutputGLSLBase.h: Removed property svn:keywords.
+        * src/compiler/translator/OutputHLSL.cpp: Removed property svn:keywords.
+        * src/compiler/translator/OutputHLSL.h: Removed property svn:keywords.
+        * src/compiler/translator/ParseContext.cpp: Removed property svn:keywords.
+        * src/compiler/translator/ParseContext.h: Removed property svn:keywords.
+        * src/compiler/translator/PoolAlloc.cpp: Removed property svn:keywords.
+        * src/compiler/translator/PoolAlloc.h: Removed property svn:keywords.
+        * src/compiler/translator/Pragma.h: Removed property svn:keywords.
+        * src/compiler/translator/QualifierAlive.cpp: Removed property svn:keywords.
+        * src/compiler/translator/QualifierAlive.h: Removed property svn:keywords.
+        * src/compiler/translator/RemoveTree.cpp: Removed property svn:keywords.
+        * src/compiler/translator/RemoveTree.h: Removed property svn:keywords.
+        * src/compiler/translator/RenameFunction.h: Removed property svn:keywords.
+        * src/compiler/translator/RewriteElseBlocks.cpp: Removed property svn:keywords.
+        * src/compiler/translator/RewriteElseBlocks.h: Removed property svn:keywords.
+        * src/compiler/translator/SearchSymbol.cpp: Removed property svn:keywords.
+        * src/compiler/translator/SearchSymbol.h: Removed property svn:keywords.
+        * src/compiler/translator/ShHandle.h: Removed property svn:keywords.
+        * src/compiler/translator/ShaderLang.cpp: Removed property svn:keywords.
+        * src/compiler/translator/SymbolTable.cpp: Removed property svn:keywords.
+        * src/compiler/translator/SymbolTable.h: Removed property svn:keywords.
+        * src/compiler/translator/TranslatorESSL.cpp: Removed property svn:keywords.
+        * src/compiler/translator/TranslatorESSL.h: Removed property svn:keywords.
+        * src/compiler/translator/TranslatorGLSL.cpp: Removed property svn:keywords.
+        * src/compiler/translator/TranslatorGLSL.h: Removed property svn:keywords.
+        * src/compiler/translator/TranslatorHLSL.cpp: Removed property svn:keywords.
+        * src/compiler/translator/TranslatorHLSL.h: Removed property svn:keywords.
+        * src/compiler/translator/Types.h: Removed property svn:keywords.
+        * src/compiler/translator/UnfoldShortCircuit.cpp: Removed property svn:keywords.
+        * src/compiler/translator/UnfoldShortCircuit.h: Removed property svn:keywords.
+        * src/compiler/translator/UnfoldShortCircuitAST.cpp: Removed property svn:keywords.
+        * src/compiler/translator/UnfoldShortCircuitAST.h: Removed property svn:keywords.
+        * src/compiler/translator/ValidateLimitations.cpp: Removed property svn:keywords.
+        * src/compiler/translator/ValidateLimitations.h: Removed property svn:keywords.
+        * src/compiler/translator/VariableInfo.cpp: Removed property svn:keywords.
+        * src/compiler/translator/VariableInfo.h: Removed property svn:keywords.
+        * src/compiler/translator/VariablePacker.cpp: Removed property svn:keywords.
+        * src/compiler/translator/VariablePacker.h: Removed property svn:keywords.
+        * src/compiler/translator/VersionGLSL.cpp: Removed property svn:keywords.
+        * src/compiler/translator/VersionGLSL.h: Removed property svn:keywords.
+        * src/compiler/translator/compilerdebug.cpp: Removed property svn:keywords.
+        * src/compiler/translator/compilerdebug.h: Removed property svn:keywords.
+        * src/compiler/translator/depgraph/DependencyGraph.cpp: Removed property svn:keywords.
+        * src/compiler/translator/depgraph/DependencyGraph.h: Removed property svn:keywords.
+        * src/compiler/translator/depgraph/DependencyGraphBuilder.cpp: Removed property svn:keywords.
+        * src/compiler/translator/depgraph/DependencyGraphBuilder.h: Removed property svn:keywords.
+        * src/compiler/translator/depgraph/DependencyGraphOutput.cpp: Removed property svn:keywords.
+        * src/compiler/translator/depgraph/DependencyGraphOutput.h: Removed property svn:keywords.
+        * src/compiler/translator/depgraph/DependencyGraphTraverse.cpp: Removed property svn:keywords.
+        * src/compiler/translator/generate_parser.sh: Removed property svn:keywords.
+        * src/compiler/translator/glslang.h: Removed property svn:keywords.
+        * src/compiler/translator/glslang_lex.cpp: Removed property svn:keywords.
+        * src/compiler/translator/glslang_tab.cpp: Removed property svn:keywords.
+        * src/compiler/translator/glslang_tab.h: Removed property svn:keywords.
+        * src/compiler/translator/intermOut.cpp: Removed property svn:keywords.
+        * src/compiler/translator/intermediate.h: Removed property svn:keywords.
+        * src/compiler/translator/localintermediate.h: Removed property svn:keywords.
+        * src/compiler/translator/osinclude.h: Removed property svn:keywords.
+        * src/compiler/translator/ossource_posix.cpp: Removed property svn:keywords.
+        * src/compiler/translator/ossource_win.cpp: Removed property svn:keywords.
+        * src/compiler/translator/parseConst.cpp: Removed property svn:keywords.
+        * src/compiler/translator/timing/RestrictFragmentShaderTiming.cpp: Removed property svn:keywords.
+        * src/compiler/translator/timing/RestrictFragmentShaderTiming.h: Removed property svn:keywords.
+        * src/compiler/translator/timing/RestrictVertexShaderTiming.cpp: Removed property svn:keywords.
+        * src/compiler/translator/timing/RestrictVertexShaderTiming.h: Removed property svn:keywords.
+        * src/compiler/translator/util.cpp: Removed property svn:keywords.
+        * src/compiler/translator/util.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/BufferStorage11.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/BufferStorage11.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/Fence11.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/Fence11.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/Image11.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/Image11.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/IndexBuffer11.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/IndexBuffer11.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/InputLayoutCache.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/InputLayoutCache.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/Query11.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/Query11.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/RenderStateCache.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/RenderStateCache.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/RenderTarget11.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/RenderTarget11.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/Renderer11.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/Renderer11.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/ShaderExecutable11.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/ShaderExecutable11.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/SwapChain11.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/SwapChain11.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/TextureStorage11.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/TextureStorage11.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/VertexBuffer11.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/VertexBuffer11.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/renderer11_utils.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d11/renderer11_utils.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/BufferStorage9.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/BufferStorage9.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/Fence9.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/Fence9.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/Image9.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/Image9.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/IndexBuffer9.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/IndexBuffer9.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/Query9.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/Query9.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/RenderTarget9.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/RenderTarget9.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/Renderer9.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/Renderer9.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/ShaderExecutable9.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/ShaderExecutable9.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/SwapChain9.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/SwapChain9.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/TextureStorage9.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/TextureStorage9.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/VertexBuffer9.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/VertexBuffer9.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/VertexDeclarationCache.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/VertexDeclarationCache.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/renderer9_utils.cpp: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/renderer9_utils.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/shaders/compiled/componentmaskps.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/shaders/compiled/flipyvs.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/shaders/compiled/luminanceps.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/shaders/compiled/passthroughps.h: Removed property svn:keywords.
+        * src/libGLESv2/renderer/d3d9/shaders/compiled/standardvs.h: Removed property svn:keywords.
+
+2015-01-28  Dana Burkart  <dburkart@apple.com>
+
+        Move ASan flag settings from DebugRelease.xcconfig to Base.xcconfig
+        https://bugs.webkit.org/show_bug.cgi?id=136765
+
+        Reviewed by Alexey Proskuryakov.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+
+2014-12-26  Dan Bernstein  <mitz@apple.com>
+
+        <rdar://problem/19348208> REGRESSION (r177027): iOS builds use the wrong toolchain
+        https://bugs.webkit.org/show_bug.cgi?id=139950
+
+        Reviewed by David Kilzer.
+
+        * Configurations/Base.xcconfig: Only define TOOLCHAINS when building for OS X, doing so
+        in a manner that works with Xcode 5.1.1.
+
+2014-12-24  Dan Bernstein  <mitz@apple.com>
+
+        ANGLE extern symbols are not hidden by default, but should be
+        https://bugs.webkit.org/show_bug.cgi?id=139936
+
+        Reviewed by Mark Rowe.
+
+        * Configurations/Base.xcconfig: Changed GCC_SYMBOLS_PRIVATE_EXTERN to YES.
+
+2014-12-24  Dan Bernstein  <mitz@apple.com>
+
+        Removed the Derived Sources target.
+
+        It has been empty since r159533.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+
+2014-12-09  David Kilzer  <ddkilzer@apple.com>
+
+        Switch from using PLATFORM_NAME to SDK selectors in ANGLE, bmalloc, gtest, JavaScriptCore, WTF
+        <http://webkit.org/b/139212>
+
+        Reviewed by Joseph Pecoraro.
+
+        * Configurations/Base.xcconfig:
+        - Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS
+          on OS X.
+        * Configurations/DebugRelease.xcconfig:
+        - Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
+
+2014-10-30  Dana Burkart  <dburkart@apple.com>
+
+        <rdar://problem/18821260> Prepare for the mysterious future
+
+        Reviewed by Lucas Forschler.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+
+2014-10-08  Brent Fulgham  <bfulgham@apple.com>
+
+        [Win] Use proper v120 target for 64-bit builds.
+
+        * ANGLE.vcxproj/libEGL.vcxproj:
+
+2014-09-29  peavo@outlook.com  <peavo@outlook.com>
+
+        [WinCairo] D3D11 is not used by default.
+        https://bugs.webkit.org/show_bug.cgi?id=137215
+
+        Reviewed by Alex Christensen.
+
+        ANGLE_DEFAULT_D3D11 needs to be defined for D3D11 to be used as default.
+
+        * ANGLE.vcxproj/libGLESv2Common.props:
+
+2014-09-19  Daniel Bates  <dabates@apple.com>
+
+        Always assume internal SDK when building configuration Production
+        https://bugs.webkit.org/show_bug.cgi?id=136925
+        <rdar://problem/18362399>
+
+        Reviewed by Dan Bernstein.
+
+        * Configurations/Base.xcconfig:
+
+2014-09-10  Roger Fong  <roger_fong@apple.com>
+
+        Check for varying packing restrictions per program instead of per shader.
+        https://bugs.webkit.org/show_bug.cgi?id=136585.
+        <rdar://problem/16308409>.
+
+        Reviewed by Dean Jackson.
+
+        Remove varying packing restrictions checks from ANGLE.
+        * src/compiler/translator/Compiler.cpp:
+        (TCompiler::compile):
+        (TCompiler::enforcePackingRestrictions):
+        * src/compiler/translator/ShHandle.h:
+
+2014-09-06  Darin Adler  <darin@apple.com>
+
+        Make updates suggested by new version of Xcode
+        https://bugs.webkit.org/show_bug.cgi?id=136603
+
+        Reviewed by Mark Rowe.
+
+        * ANGLE.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.
+
+        * Configurations/ANGLE.xcconfig: Added CLANG_WARN_BOOL_CONVERSION,
+        CLANG_WARN_ENUM_CONVERSION, CLANG_WARN_INT_CONVERSION, COMBINE_HIDPI_IMAGES,
+        and ENABLE_STRICT_OBJC_MSGSEND as suggested by Xcode upgrade check.
+
+2014-09-06  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r173335.
+        https://bugs.webkit.org/show_bug.cgi?id=136597
+
+        Broke webgl/1.0.2/conformance/glsl/misc/shader-varying-
+        packing-restrictions.html (Requested by ap on #webkit).
+
+        Reverted changeset:
+
+        "Remove statically used varyings from packing restrictions
+        check."
+        https://bugs.webkit.org/show_bug.cgi?id=136585
+        http://trac.webkit.org/changeset/173335
+
+2014-09-05  Roger Fong  <roger_fong@apple.com>
+
+        Remove statically used varyings from packing restrictions check.
+        https://bugs.webkit.org/show_bug.cgi?id=136585.
+        <rdar://problem/16308409>
+
+        Reviewed by Dean Jackson.
+
+        * src/compiler/translator/Compiler.cpp:
+        (TCompiler::enforcePackingRestrictions):
+
+2014-08-29  Csaba Osztrogonác  <ossy@webkit.org>
+
+        Unreviwed, remove empty directories.
+
+        * src/compiler/depgraph: Removed.
+        * src/compiler/timing: Removed.
+        * src/libGLESv2/renderer/shaders: Removed.
+        * src/libGLESv2/renderer/shaders/compiled: Removed.
+
+2014-08-11  Andy Estes  <aestes@apple.com>
+
+        [iOS] Get rid of iOS.xcconfig
+        https://bugs.webkit.org/show_bug.cgi?id=135809
+
+        Reviewed by Joseph Pecoraro.
+
+        All iOS.xcconfig did was include AspenFamily.xcconfig, so there's no need for the indirection.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * Configurations/Base.xcconfig:
+        * Configurations/iOS.xcconfig: Removed.
+
+2014-08-07  Brent Fulgham  <bfulgham@apple.com>
+
+        [Win] Unreviewed gardening.
+
+        DebugSuffix targets should use our debugsuffix property sheet, and
+        will therefore build to the proper output location with the proper
+        suffix tags.
+
+        Also, we must use the WebKit_Libraries environment variable, not a set
+        of relative paths to the property sheets.
+
+        * ANGLE.vcxproj/libEGL.vcxproj: Use 'debugsuffix.props' sheet.
+        * ANGLE.vcxproj/libGLESv2.vcxproj: Ditto.
+        * ANGLE.vcxproj/preprocessor.vcxproj: Ditto.
+        * ANGLE.vcxproj/translator_common.vcxproj: Ditto.
+        * ANGLE.vcxproj/translator_glsl.vcxproj: Ditto.
+        * ANGLE.vcxproj/translator_hlsl.vcxproj: Ditto.
+        * ANGLE.vcxproj/libEGLCommon.props: Use $(DebugSuffix) endings.
+        * ANGLE.vcxproj/libGLESv2Common.props: Ditto.
+        * ANGLE.vcxproj/translatorCommon.props: Output to 'lib' folder,
+        not 'bin' folder. These are libraries!
+
+2014-08-02  Brent Fulgham  <bfulgham@apple.com>
+
+        [Win] Unreviewed build fix.
+
+        * src/libGLESv2/renderer/d3d11/BufferStorage11.cpp:
+        (rx::BufferStorage11::copyData): Help compiler make
+        decision about types.
+
+2014-07-25  peavo@outlook.com  <peavo@outlook.com>
+
+        [Win][ANGLE] Enable D3D11.
+        https://bugs.webkit.org/show_bug.cgi?id=135296
+
+        Reviewed by Alex Christensen.
+
+        Direct3D 11 is not enabled on Windows.
+
+        * ANGLE.vcxproj/libGLESv2.vcxproj: Added files.
+        * ANGLE.vcxproj/libGLESv2.vcxproj.filters: Ditto.
+        * ANGLE.vcxproj/libGLESv2Common.props: Enable D3D11.
+        * src/libGLESv2/precompiled.h: Header file does not exist, avoid include.
+        * changes.diff: Updated diff.
+
+2014-06-04  Alex Christensen  <achristensen@webkit.org>
+
+        Enable WebGL on Windows.
+        https://bugs.webkit.org/show_bug.cgi?id=133503
+
+        Reviewed by Brent Fulgham.
+
+        * changes.diff
+        Recorded additional changes from ANGLE.
+        * ANGLE.vcxproj/libEGL.vcxproj:
+        * ANGLE.vcxproj/libEGL.vcxproj.filters:
+        * ANGLE.vcxproj/libGLESv2.vcxproj:
+        * ANGLE.vcxproj/libGLESv2.vcxproj.filters:
+        * include/EGL/egl.h:
+        * include/EGL/eglsoftlinking.h: Added.
+        * include/GLES2/gl2.h:
+        * include/GLES2/gl2softlinking.h: Added.
+        Resurrected soft linking headers from r153664.
+        * src/libGLESv2/renderer/VertexBuffer.cpp:
+        (rx::VertexBufferInterface::directStoragePossible):
+        Compile fix for Win64.
+
+2014-05-02  Alex Christensen  <achristensen@webkit.org>
+
+        Update ANGLE Windows build.
+        https://bugs.webkit.org/show_bug.cgi?id=132456
+
+        Reviewed by Brent Fulgham.
+
+        * ANGLE.vcxproj/libEGLCommon.props:
+        * ANGLE.vcxproj/libGLESv2.vcxproj:
+        * ANGLE.vcxproj/libGLESv2.vcxproj.filters:
+        * ANGLE.vcxproj/libGLESv2Common.props:
+        * ANGLE.vcxproj/translator_common.vcxproj:
+        * ANGLE.vcxproj/translator_common.vcxproj.filters:
+        * ANGLE.vcxproj/translator_glsl.vcxproj:
+        * ANGLE.vcxproj/translator_glsl.vcxproj.filters:
+        * ANGLE.vcxproj/translator_hlsl.vcxproj:
+        * ANGLE.vcxproj/translator_hlsl.vcxproj.filters:
+        Updated ANGLE build.
+        * src/ANGLE.sln: Removed.
+        * src/build_angle.gyp: Removed.
+        * src/commit.h: Added.
+        * changes.diff:
+        * src/libGLESv2/Program.cpp:
+        (gl::InfoLog::append):
+        Fixed typo.
+
+2014-05-01  Alex Christensen  <achristensen@webkit.org>
+
+        Finish updating ANGLE.
+        https://bugs.webkit.org/show_bug.cgi?id=132434
+
+        Reviewed by Dean Jackson.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        Removed Uniform.cpp which is no longer in ANGLE.
+        * changes.diff:
+        Added more changes from ANGLE which are already included in WebKit.
+
+        Updated ANGLE source files to e7a453a5bd76705ccb151117fa844846d4aa90af.  Long list of changes omitted.
+
+2014-04-30  Alex Christensen  <achristensen@webkit.org>
+
+        Updated ANGLE.
+        https://bugs.webkit.org/show_bug.cgi?id=132367
+        <rdar://problem/16211451>
+
+        Reviewed by Dean Jackson.
+
+        * ANGLE.plist:
+        Updated and xml encoded.
+        * ANGLE.xcodeproj/project.pbxproj:
+        Added needed new source files.
+        * changes.diff: 
+        Added to keep track of differences between WebKit's copy of ANGLE and the master repository.
+        
+        Updated ANGLE source files to e7a453a5bd76705ccb151117fa844846d4aa90af.  Long list of changes omitted.
+
+2014-03-25  Martin Robinson  <mrobinson@igalia.com>
+
+        [GTK] Remove the autotools build
+        https://bugs.webkit.org/show_bug.cgi?id=130717
+
+        Reviewed by Anders Carlsson.
+
+        * GNUmakefile.am: Removed.
+
+2014-03-14  Mark Rowe  <mrowe@apple.com>
+
+        Fix the production build.
+
+        Don't rely on USE_INTERNAL_SDK being set for the Production configuration since UseInternalSDK.xcconfig won't
+        be at the expected relative path when working from installed source.
+
+        * Configurations/Base.xcconfig:
+
+2014-03-13  Tim Horton  <timothy_horton@apple.com>
+
+        Fix relative paths to UseInternalSDK.xcconfig for ANGLE and WebKit/mac
+
+        Rubber-stamped by Mark Rowe.
+
+        One-too-few "..".
+
+        * Configurations/Base.xcconfig:
+
+2014-03-13  Radu Stavila  <stavila@adobe.com>
+
+        Webkit not building on XCode 5.1 due to garbage collection no longer being supported
+        https://bugs.webkit.org/show_bug.cgi?id=130087
+
+        Reviewed by Mark Rowe.
+
+        Disable garbage collection on macosx when not using internal SDK.
+
+        * Configurations/Base.xcconfig:
+
+2014-02-24  Dean Jackson  <dino@apple.com>
+
+        Unreviewed. This file should not be marked as executable (copied in from ANGLE).
+
+        * include/KHR/khrplatform.h:
+
+2014-02-23  David Kilzer  <ddkilzer@apple.com>
+
+        ANGLE: Stop using unsafe strcpy method
+        <http://webkit.org/b/129237>
+        <rdar://problem/11077580>
+
+        Reviewed by Dean Jackson.
+
+        * include/GLSLANG/ShaderLang.h:
+        - Drive-by fix for header documentation.
+
+        * src/compiler/translator/ShaderLang.cpp:
+        (ShGetInfoLog):
+        (ShGetObjectCode):
+        * src/libGLESv2/Program.cpp:
+        (gl::InfoLog::append):
+        - Switch to use strncpy(), and explicitly set NULL terminator at
+          the end of the buffer.
+
+2014-02-23  Brent Fulgham  <bfulgham@apple.com>
+
+        [WinCairo] Unreviewed build fix after r164565.
+
+        * ANGLE.vcxproj/libEGL.vcxproj: Use correct path to files.
+        * ANGLE.vcxproj/libGLESv2.vcxproj: Ditto.
+        * ANGLE.vcxproj/libGLESv2.vcxproj.filters: Ditto.
+        * ANGLE.vcxproj/preprocessor.vcxproj: Ditto.
+        * ANGLE.vcxproj/translator_common.vcxproj: Ditto.
+        * ANGLE.vcxproj/translator_common.vcxproj.filters: Ditto.
+        * ANGLE.vcxproj/translator_glsl.vcxproj: Ditto.
+        * ANGLE.vcxproj/translator_glsl.vcxproj.filters: Ditto.
+        * ANGLE.vcxproj/translator_hlsl.vcxproj: Ditto.
+        * ANGLE.vcxproj/translator_hlsl.vcxproj.filters: Ditto.
+
+2014-02-23  Dean Jackson  <dino@apple.com>
+
+        Missing files from previous commit.
+
+2014-02-23  Dean Jackson  <dino@apple.com>
+
+        Update ANGLE to 836bd2176e5607b14846cf1fbc5932dbc91318f4
+        https://bugs.webkit.org/show_bug.cgi?id=129232
+
+        Reviewed by Brent Fulgham.
+
+        I also reapplied some of our changes from previous updates, including disabling the clang deprecation
+        warnings in some files, adding the Apple note about license and defining YY_NO_INPUT.
+
+        Huge list of source changes omitted.
+
+2013-12-18  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        Unreviewed. Fix make distcheck.
+
+        * GNUmakefile.am:
+
+2013-12-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
+
+        [GTK] Some ANGLE headers missing from dist
+        https://bugs.webkit.org/show_bug.cgi?id=125782
+
+        Reviewed by Carlos Garcia Campos.
+
+        * GNUmakefile.am: add a few headers that were missing from the build,
+        causing build failures when the system headers were incompatible.
+
+2013-12-16  Alex Christensen  <achristensen@webkit.org>
+
+        Fixed Win64 build on VS2013.
+        https://bugs.webkit.org/show_bug.cgi?id=125753
+
+        Reviewed by Brent Fulgham.
+
+        * ANGLE.vcxproj/libGLESv2.vcxproj:
+        * ANGLE.vcxproj/preprocessor.vcxproj:
+        * ANGLE.vcxproj/translator_common.vcxproj:
+        * ANGLE.vcxproj/translator_glsl.vcxproj:
+        * ANGLE.vcxproj/translator_hlsl.vcxproj:
+        Added correct PlatformToolset for 64-bit builds.
+
+2013-12-13  Brent Fulgham  <bfulgham@apple.com>
+
+        [Win] Unreviewed build fix after r160548
+
+        I missed the ANGLE files, since we aren't building these
+        on the Apple Windows port at the moment.
+
+        * ANGLE.vcxproj/libEGL.vcxproj: Update to VS2013
+        * ANGLE.vcxproj/libGLESv2.vcxproj: Ditto
+        * ANGLE.vcxproj/preprocessor.vcxproj: Ditto
+        * ANGLE.vcxproj/translator_common.vcxproj: Ditto
+        * ANGLE.vcxproj/translator_glsl.vcxproj: Ditto
+        * ANGLE.vcxproj/translator_hlsl.vcxproj: Ditto
+
+2013-12-06  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r159543.
+        http://trac.webkit.org/changeset/159543
+        https://bugs.webkit.org/show_bug.cgi?id=125371
+
+        Build fix for mac no longer needed (Requested by rfong on
+        #webkit).
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * src/compiler/glslang_tab.cpp:
+        (yysyntax_error):
+        (glslang_parse):
+        * src/compiler/glslang_tab.h:
+        * src/compiler/preprocessor/ExpressionParser.cpp:
+        (yy_symbol_print):
+        (yy_stack_print):
+        (yy_reduce_print):
+        (yytnamerr):
+        (yysyntax_error):
+        (yydestruct):
+        (yyparse):
+
+2013-12-05  Roger Fong  <roger_fong@apple.com>
+
+        [WebGL] Make sure we satisfy uniform and varying packing restrictions.
+        https://bugs.webkit.org/show_bug.cgi?id=125124.
+        <rdar://problem/15203291>
+
+        Reviewed by Brent Fulgham.
+
+        * src/compiler/Compiler.cpp: 
+        Add a check to enforcePackingRestrictions to ensure we make sure packing restrictions for varyings are satisfied as well.
+        (TCompiler::TCompiler):
+        (TCompiler::Init):
+        (TCompiler::compile):
+        (TCompiler::enforcePackingRestrictions):
+        * src/compiler/ShHandle.h: Keep track of maximum varying vectors.
+
+2013-12-05  Matthew Hanson  <matthew_hanson@apple.com>
+
+        Fix ANGLE build failures by re-comitting the changes in http://trac.webkit.org/changeset/154223
+        on top of the library updates introduced by http://trac.webkit.org/changeset/159533.
+
+        Rubber-stamped by Babak Shafiei.
+
+        * src/compiler/glslang.l:
+        * src/compiler/glslang_lex.cpp:
+        * src/compiler/preprocessor/Tokenizer.cpp:
+        * src/compiler/preprocessor/Tokenizer.l:
+
+2013-12-03  Daniel Bates  <dabates@apple.com>
+
+        ANGLE fails to build with trunk clang: unused constant kTraceBufferLen
+        https://bugs.webkit.org/show_bug.cgi?id=125164
+        https://code.google.com/p/angleproject/issues/detail?id=534
+
+        Reviewed by Darin Adler.
+
+        Move the definition of the constant kTraceBufferLen under the macro
+        guard TRACE_ENABLED since it's only referenced in code guarded by
+        TRACE_ENABLED.
+
+        * src/compiler/debug.cpp:
+
+2013-11-21  Alex Christensen  <achristensen@webkit.org>
+
+        Remove ANGLEGenerated from Windows build.
+        https://bugs.webkit.org/show_bug.cgi?id=124759
+
+        Reviewed by Darin Adler.
+
+        * ANGLE.vcxproj/ANGLEGenerated.vcxproj: Removed.
+        * ANGLE.vcxproj/ANGLEGenerated.vcxproj.filters: Removed.
+
+2013-11-21  Alex Christensen  <achristensen@webkit.org>
+
+        Unreviewed build fix.
+
+        * src/libGLESv2/Constants.h: Added from checkout a60e0805721f62c28a55faf2df74472cc5fc91fc.
+
+2013-11-21  Mark Rowe  <mrowe@apple.com>
+
+        <https://webkit.org/b/124701> Fix an error in a few Xcode configuration setting files.
+
+        Reviewed by Alexey Proskuryakov.
+
+        * Configurations/Base.xcconfig:
+
+2013-11-21  Brent Fulgham  <bfulgham@apple.com>
+
+        Unreviewed gardening to hide annoying *.user files when.
+
+        * ANGLE.vcxproj: Added property svn:ignore.
+
+2013-11-21  peavo@outlook.com  <peavo@outlook.com>
+
+        [WinCairo] Building ANGLE libraries fails.
+        https://bugs.webkit.org/show_bug.cgi?id=124679
+
+        Reviewed by Brent Fulgham.
+
+        Added/removed files to/from project, and re-added constants.h file.
+
+        * ANGLE.vcxproj/libEGL.vcxproj:
+        * ANGLE.vcxproj/libEGL.vcxproj.filters:
+        * ANGLE.vcxproj/libGLESv2.vcxproj:
+        * ANGLE.vcxproj/libGLESv2.vcxproj.filters:
+        * ANGLE.vcxproj/libGLESv2Common.props:
+        * ANGLE.vcxproj/translator_common.vcxproj:
+        * ANGLE.vcxproj/translator_common.vcxproj.filters:
+        * ANGLE.vcxproj/translator_glsl.vcxproj:
+        * ANGLE.vcxproj/translator_glsl.vcxproj.filters:
+        * ANGLE.vcxproj/translator_hlsl.vcxproj:
+        * ANGLE.vcxproj/translator_hlsl.vcxproj.filters:
+        * src/libGLESv2/libGLESv2.def:
+
+2013-11-20  Sergio Correia  <sergio.correia@openbossa.org>
+
+        ANGLE doesn't build with bison 3.0
+        https://bugs.webkit.org/show_bug.cgi?id=124642
+
+        Reviewed by Gyuyoung Kim.
+
+        This is a reedition of r154109, now that ANGLE source has been updated
+        in r159533.
+
+        * src/compiler/glslang.y: Use %lex-param to set YYLEX_PARAM and stop
+        using the deprecated YYID macro.
+
+2013-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        Unreviewed. Fix GTK build.
+
+        * GNUmakefile.am: Remove duplicated entries.
+
+2013-11-19  Martin Robinson  <mrobinson@igalia.com>
+
+        Fix the GTK+ build after the ANGLE update in r159533
+
+        * GNUmakefile.am: Update the source list.
+
+2013-11-19  Roger Fong  <roger_fong@apple.com>
+
+        Unreviewed. Build fix for Mac.
+
+        * src/compiler/glslang_tab.cpp:
+        (yysyntax_error):
+        (yyerror):
+        * src/compiler/glslang_tab.h:
+        * src/compiler/preprocessor/ExpressionParser.cpp:
+        (yysyntax_error):
+
+2013-11-19  Roger Fong  <roger_fong@apple.com>
+
+        Unreviewed. Prospective build fix for GTK port following r159533.
+
+        * GNUmakefile.am:
+
+2013-11-19  Roger Fong  <roger_fong@apple.com>
+
+        Update ANGLE sources.
+        https://bugs.webkit.org/show_bug.cgi?id=124615.
+
+        Reviewed by Dean Jackson.
+
+        Update ANGLE to checkout a60e0805721f62c28a55faf2df74472cc5fc91fc.
+        Modify xcodeproj files as necessary, update plist.
+        Stop using DerivedSources.make and just use the generated sources that are checked into ANGLE.
+        Add a note to bison generated files indicating that Apple elects to distribute said files under the BSD license: 
+        ExpressionParser.cpp, glslang_tab.cpp, glslang_tab.h.
+
+        * ANGLE.plist:
+        * ANGLE.xcodeproj/project.pbxproj:
+        * DerivedSources.make: Removed.
+        * include/EGL/egl.h:
+        * include/EGL/eglsoftlinking.h: Removed.
+        * include/GLES2/gl2.h:
+        * include/GLES2/gl2softlinking.h: Removed.
+        * include/GLSLANG/ShaderLang.h:
+        * include/KHR/khrplatform.h:
+        * src/ANGLE.sln: Added.
+        * src/build_angle.gypi:
+        * src/common/debug.h:
+        * src/common/event_tracer.cpp: Added.
+        (gl::TraceGetTraceCategoryEnabledFlag):
+        (gl::TraceAddTraceEvent):
+        * src/common/event_tracer.h: Added.
+        * src/common/version.h:
+        * src/compiler/CodeGen.cpp: Added.
+        (ConstructCompiler):
+        (DeleteCompiler):
+        * src/compiler/CodeGenGLSL.cpp: Removed.
+        * src/compiler/CodeGenHLSL.cpp: Removed.
+        * src/compiler/Common.h:
+        (NewPoolTString):
+        * src/compiler/Compiler.cpp:
+        (TCompiler::Init):
+        (TCompiler::compile):
+        (TCompiler::InitBuiltInSymbolTable):
+        (TCompiler::clearResults):
+        (TCompiler::collectVariables):
+        * src/compiler/ConstantUnion.h:
+        * src/compiler/DetectDiscontinuity.cpp:
+        * src/compiler/InfoSink.h:
+        * src/compiler/InitializeDll.cpp:
+        (InitProcess):
+        (DetachProcess):
+        * src/compiler/InitializeDll.h:
+        * src/compiler/InitializeGLPosition.cpp: Added.
+        (InitializeGLPosition::visitAggregate):
+        (InitializeGLPosition::insertCode):
+        * src/compiler/InitializeGLPosition.h: Added.
+        (InitializeGLPosition::InitializeGLPosition):
+        (InitializeGLPosition::visitBinary):
+        (InitializeGLPosition::visitUnary):
+        (InitializeGLPosition::visitSelection):
+        (InitializeGLPosition::visitLoop):
+        (InitializeGLPosition::visitBranch):
+        * src/compiler/InitializeGlobals.h:
+        * src/compiler/InitializeParseContext.cpp:
+        (InitializeParseContextIndex):
+        (FreeParseContextIndex):
+        (SetGlobalParseContext):
+        (GetGlobalParseContext):
+        * src/compiler/InitializeParseContext.h:
+        * src/compiler/IntermTraverse.cpp:
+        (TIntermSymbol::traverse):
+        (TIntermConstantUnion::traverse):
+        (TIntermBinary::traverse):
+        (TIntermUnary::traverse):
+        (TIntermAggregate::traverse):
+        (TIntermSelection::traverse):
+        (TIntermLoop::traverse):
+        (TIntermBranch::traverse):
+        * src/compiler/Intermediate.cpp:
+        (GetHigherPrecision):
+        (getOperatorString):
+        (TIntermLoop::replaceChildNode):
+        (TIntermBranch::replaceChildNode):
+        (TIntermBinary::replaceChildNode):
+        (TIntermUnary::replaceChildNode):
+        (TIntermAggregate::replaceChildNode):
+        (TIntermSelection::replaceChildNode):
+        (TIntermOperator::isAssignment):
+        (TIntermediate::promoteConstantUnion):
+        * src/compiler/MapLongVariableNames.cpp:
+        * src/compiler/MapLongVariableNames.h:
+        * src/compiler/NodeSearch.h: Added.
+        (sh::NodeSearchTraverser::NodeSearchTraverser):
+        (sh::NodeSearchTraverser::found):
+        (sh::NodeSearchTraverser::search):
+        (sh::FindDiscard::visitBranch):
+        (sh::FindSideEffectRewriting::visitBinary):
+        * src/compiler/OutputGLSLBase.cpp:
+        (TOutputGLSLBase::visitSelection):
+        (TOutputGLSLBase::visitAggregate):
+        (TOutputGLSLBase::visitLoop):
+        * src/compiler/OutputGLSLBase.h:
+        * src/compiler/OutputHLSL.cpp:
+        (sh::OutputHLSL::OutputHLSL):
+        (sh::OutputHLSL::header):
+        (sh::OutputHLSL::visitBinary):
+        (sh::OutputHLSL::visitSelection):
+        (sh::OutputHLSL::visitBranch):
+        (sh::OutputHLSL::handleExcessiveLoop):
+        (sh::OutputHLSL::addConstructor):
+        * src/compiler/OutputHLSL.h:
+        * src/compiler/ParseContext.cpp: Added.
+        (TParseContext::parseVectorFields):
+        (TParseContext::parseMatrixFields):
+        (TParseContext::recover):
+        (TParseContext::error):
+        (TParseContext::warning):
+        (TParseContext::trace):
+        (TParseContext::assignError):
+        (TParseContext::unaryOpError):
+        (TParseContext::binaryOpError):
+        (TParseContext::precisionErrorCheck):
+        (TParseContext::lValueErrorCheck):
+        (TParseContext::constErrorCheck):
+        (TParseContext::integerErrorCheck):
+        (TParseContext::globalErrorCheck):
+        (TParseContext::reservedErrorCheck):
+        (TParseContext::constructorErrorCheck):
+        (TParseContext::voidErrorCheck):
+        (TParseContext::boolErrorCheck):
+        (TParseContext::samplerErrorCheck):
+        (TParseContext::structQualifierErrorCheck):
+        (TParseContext::parameterSamplerErrorCheck):
+        (TParseContext::containsSampler):
+        (TParseContext::arraySizeErrorCheck):
+        (TParseContext::arrayQualifierErrorCheck):
+        (TParseContext::arrayTypeErrorCheck):
+        (TParseContext::arrayErrorCheck):
+        (TParseContext::nonInitConstErrorCheck):
+        (TParseContext::nonInitErrorCheck):
+        (TParseContext::paramErrorCheck):
+        (TParseContext::extensionErrorCheck):
+        (TParseContext::supportsExtension):
+        (TParseContext::isExtensionEnabled):
+        (TParseContext::findFunction):
+        (TParseContext::executeInitializer):
+        (TParseContext::areAllChildConst):
+        (TParseContext::addConstructor):
+        (TParseContext::foldConstConstructor):
+        (TParseContext::constructBuiltIn):
+        (TParseContext::constructStruct):
+        (TParseContext::addConstVectorNode):
+        (TParseContext::addConstMatrixNode):
+        (TParseContext::addConstArrayNode):
+        (TParseContext::addConstStruct):
+        (TParseContext::enterStructDeclaration):
+        (TParseContext::exitStructDeclaration):
+        (TParseContext::structNestingErrorCheck):
+        (TParseContext::addIndexExpression):
+        (PaParseStrings):
+        * src/compiler/ParseContext.h: Added.
+        (TParseContext::TParseContext):
+        (TParseContext::numErrors):
+        (TParseContext::infoSink):
+        (TParseContext::pragma):
+        (TParseContext::extensionBehavior):
+        * src/compiler/ParseHelper.cpp: Removed.
+        * src/compiler/ParseHelper.h: Removed.
+        * src/compiler/PoolAlloc.cpp:
+        (InitializePoolIndex):
+        (FreePoolIndex):
+        (GetGlobalPoolAllocator):
+        (SetGlobalPoolAllocator):
+        * src/compiler/PoolAlloc.h:
+        (pool_allocator::pool_allocator):
+        * src/compiler/SearchSymbol.h:
+        * src/compiler/ShHandle.h:
+        (TCompiler::getVaryings):
+        * src/compiler/ShaderLang.cpp:
+        (checkVariableMaxLengths):
+        (ShInitialize):
+        (ShFinalize):
+        (ShConstructCompiler):
+        (ShCompile):
+        (ShGetInfo):
+        (ShGetVariableInfo):
+        (ShCheckVariablesWithinPackingLimits):
+        * src/compiler/SymbolTable.cpp:
+        (TSymbolTable::~TSymbolTable):
+        * src/compiler/SymbolTable.h:
+        (TSymbol::TSymbol):
+        (TSymbolTableLevel::insert):
+        (TSymbolTable::push):
+        (TSymbolTable::pop):
+        (TSymbolTable::findBuiltIn):
+        (TSymbolTable::relateToExtension):
+        (TSymbolTable::setDefaultPrecision):
+        (TSymbolTable::getDefaultPrecision):
+        (TSymbolTable::supportsPrecision):
+        * src/compiler/Types.h:
+        (NewPoolTFieldList):
+        (TType::TType):
+        (TType::setNominalSize):
+        (TPublicType::setAggregate):
+        * src/compiler/UnfoldShortCircuit.cpp:
+        (sh::UnfoldShortCircuit::visitBinary):
+        (sh::UnfoldShortCircuit::visitSelection):
+        * src/compiler/UnfoldShortCircuit.h:
+        * src/compiler/UnfoldShortCircuitAST.cpp: Added.
+        (UnfoldShortCircuitAST::visitBinary):
+        (UnfoldShortCircuitAST::updateTree):
+        * src/compiler/UnfoldShortCircuitAST.h: Added.
+        (UnfoldShortCircuitAST::UnfoldShortCircuitAST):
+        (UnfoldShortCircuitAST::NodeUpdateEntry::NodeUpdateEntry):
+        * src/compiler/Uniform.cpp:
+        (sh::Uniform::Uniform):
+        * src/compiler/Uniform.h:
+        * src/compiler/ValidateLimitations.cpp:
+        (ValidateLimitations::validateFunctionCall):
+        (ValidateLimitations::validateOperation):
+        * src/compiler/VariableInfo.cpp:
+        (TVariableInfo::TVariableInfo):
+        (CollectVariables::CollectVariables):
+        (CollectVariables::visitSymbol):
+        (CollectVariables::visitAggregate):
+        * src/compiler/VariableInfo.h:
+        * src/compiler/debug.cpp:
+        * src/compiler/depgraph/DependencyGraph.cpp:
+        * src/compiler/depgraph/DependencyGraphBuilder.cpp:
+        (TDependencyGraphBuilder::visitBinary):
+        * src/compiler/generate_parser.sh:
+        * src/compiler/glslang.l:
+        * src/compiler/glslang.y:
+        * src/compiler/glslang_lex.cpp:
+        (input):
+        (yyerror):
+        (int_constant):
+        (float_constant):
+        (glslang_scan):
+        * src/compiler/glslang_tab.cpp:
+        (yysyntax_error):
+        (glslang_parse):
+        * src/compiler/glslang_tab.h:
+        * src/compiler/intermediate.h:
+        (TIntermSymbol::hasSideEffects):
+        (TIntermSymbol::replaceChildNode):
+        (TIntermConstantUnion::hasSideEffects):
+        (TIntermConstantUnion::getIConst):
+        (TIntermConstantUnion::getFConst):
+        (TIntermConstantUnion::getBConst):
+        (TIntermConstantUnion::replaceChildNode):
+        (TIntermOperator::hasSideEffects):
+        (TIntermBinary::hasSideEffects):
+        (TIntermUnary::hasSideEffects):
+        (TIntermAggregate::hasSideEffects):
+        (TIntermSelection::hasSideEffects):
+        (TIntermTraverser::~TIntermTraverser):
+        (TIntermTraverser::incrementDepth):
+        (TIntermTraverser::decrementDepth):
+        (TIntermTraverser::getParentNode):
+        * src/compiler/localintermediate.h:
+        * src/compiler/parseConst.cpp:
+        * src/compiler/preprocessor/ExpressionParser.cpp:
+        (yy_symbol_print):
+        (yy_stack_print):
+        (yy_reduce_print):
+        (yystrlen):
+        (yystpcpy):
+        (yytnamerr):
+        (yysyntax_error):
+        (yydestruct):
+        (yyparse):
+        * src/compiler/preprocessor/ExpressionParser.y:
+        * src/compiler/preprocessor/Preprocessor.cpp:
+        (pp::Preprocessor::setMaxTokenLength):
+        (pp::Preprocessor::lex):
+        * src/compiler/preprocessor/Preprocessor.h:
+        * src/compiler/preprocessor/Tokenizer.cpp:
+        (pp::Tokenizer::Tokenizer):
+        (pp::Tokenizer::lex):
+        * src/compiler/preprocessor/Tokenizer.h:
+        (pp::Tokenizer::setMaxTokenLength):
+        * src/compiler/preprocessor/Tokenizer.l:
+        * src/compiler/preprocessor/generate_parser.sh:
+        * src/compiler/preprocessor/preprocessor.vcxproj: Added.
+        * src/compiler/preprocessor/preprocessor.vcxproj.filters: Added.
+        * src/compiler/timing/RestrictFragmentShaderTiming.cpp:
+        * src/compiler/translator.vcxproj: Added.
+        * src/compiler/translator.vcxproj.filters: Added.
+        * src/compiler/util.cpp:
+        (atof_clamp):
+        (atoi_clamp):
+        * src/compiler/util.h:
+        * src/libEGL/Surface.cpp:
+        (egl::Surface::checkForOutOfDateSwapChain):
+        * src/libEGL/libEGL.cpp:
+        * src/libEGL/libEGL.rc:
+        * src/libEGL/libEGL.vcxproj: Added.
+        * src/libEGL/libEGL.vcxproj.filters: Added.
+        * src/libGLESv2/Buffer.cpp:
+        (gl::Buffer::bufferData):
+        (gl::Buffer::bufferSubData):
+        (gl::Buffer::size):
+        (gl::Buffer::getIndexRangeCache):
+        * src/libGLESv2/Buffer.h:
+        * src/libGLESv2/Context.cpp:
+        (gl::Context::applyTextures):
+        (gl::Context::getBoundFramebufferTextureSerials):
+        * src/libGLESv2/Context.h:
+        (gl::Context::getRenderer):
+        * src/libGLESv2/Framebuffer.h:
+        * src/libGLESv2/ProgramBinary.cpp:
+        (gl::DiscardWorkaround):
+        (gl::ProgramBinary::load):
+        (gl::ProgramBinary::link):
+        (gl::ProgramBinary::linkAttributes):
+        (gl::AttributeSorter::AttributeSorter):
+        (gl::ProgramBinary::initAttributesByLayout):
+        (gl::ProgramBinary::sortAttributesByLayout):
+        * src/libGLESv2/ProgramBinary.h:
+        * src/libGLESv2/Renderbuffer.cpp:
+        (gl::RenderbufferTexture2D::getTextureSerial):
+        (gl::RenderbufferTextureCubeMap::getTextureSerial):
+        (gl::Renderbuffer::getTextureSerial):
+        * src/libGLESv2/Renderbuffer.h:
+        (gl::RenderbufferStorage::getTextureSerial):
+        * src/libGLESv2/Shader.cpp:
+        (gl::Shader::parseVaryings):
+        (gl::Shader::uncompile):
+        * src/libGLESv2/Shader.h:
+        * src/libGLESv2/Texture.cpp:
+        (gl::TextureCubeMap::storage):
+        * src/libGLESv2/Uniform.cpp:
+        (gl::Uniform::Uniform):
+        (gl::Uniform::~Uniform):
+        (gl::Uniform::isArray):
+        (gl::Uniform::elementCount):
+        * src/libGLESv2/Uniform.h:
+        * src/libGLESv2/constants.h: Removed.
+        * src/libGLESv2/libGLESv2.def:
+        * src/libGLESv2/libGLESv2.rc:
+        * src/libGLESv2/libGLESv2.vcxproj: Added.
+        * src/libGLESv2/libGLESv2.vcxproj.filters: Added.
+        * src/libGLESv2/precompiled.h:
+        * src/libGLESv2/renderer/Image11.cpp:
+        (rx::Image11::generateMipmap):
+        (rx::Image11::loadData):
+        (rx::Image11::loadCompressedData):
+        (rx::Image11::copy):
+        (rx::Image11::createStagingTexture):
+        (rx::Image11::map):
+        * src/libGLESv2/renderer/Image11.h:
+        * src/libGLESv2/renderer/IndexBuffer.cpp:
+        (rx::IndexBufferInterface::mapBuffer):
+        (rx::StaticIndexBufferInterface::getIndexRangeCache):
+        * src/libGLESv2/renderer/IndexBuffer.h:
+        * src/libGLESv2/renderer/IndexBuffer11.cpp:
+        (rx::IndexBuffer11::mapBuffer):
+        * src/libGLESv2/renderer/IndexDataManager.cpp:
+        (rx::IndexDataManager::prepareIndexData):
+        (rx::IndexDataManager::getCountingIndices):
+        * src/libGLESv2/renderer/IndexRangeCache.cpp: Added.
+        (rx::IndexRangeCache::addRange):
+        (rx::IndexRangeCache::invalidateRange):
+        (rx::IndexRangeCache::findRange):
+        (rx::IndexRangeCache::clear):
+        (rx::IndexRangeCache::IndexRange::IndexRange):
+        (rx::IndexRangeCache::IndexRange::operator<):
+        (rx::IndexRangeCache::IndexBounds::IndexBounds):
+        * src/libGLESv2/renderer/IndexRangeCache.h: Added.
+        * src/libGLESv2/renderer/InputLayoutCache.cpp:
+        (rx::InputLayoutCache::InputLayoutCache):
+        (rx::InputLayoutCache::clear):
+        (rx::InputLayoutCache::markDirty):
+        (rx::InputLayoutCache::applyVertexBuffers):
+        (rx::InputLayoutCache::hashInputLayout):
+        (rx::InputLayoutCache::compareInputLayouts):
+        * src/libGLESv2/renderer/InputLayoutCache.h:
+        (rx::InputLayoutCache::InputLayoutKey::begin):
+        (rx::InputLayoutCache::InputLayoutKey::end):
+        * src/libGLESv2/renderer/RenderTarget11.cpp:
+        (rx::RenderTarget11::getTexture):
+        (rx::RenderTarget11::getRenderTargetView):
+        (rx::RenderTarget11::getDepthStencilView):
+        (rx::RenderTarget11::getShaderResourceView):
+        * src/libGLESv2/renderer/RenderTarget11.h:
+        * src/libGLESv2/renderer/Renderer.cpp:
+        (rx::Renderer::initializeCompiler):
+        * src/libGLESv2/renderer/Renderer.h:
+        * src/libGLESv2/renderer/Renderer11.cpp:
+        (rx::Renderer11::initialize):
+        (rx::Renderer11::applyPrimitiveType):
+        (rx::Renderer11::applyRenderTarget):
+        (rx::Renderer11::drawLineLoop):
+        (rx::Renderer11::drawTriangleFan):
+        (rx::Renderer11::applyUniforms):
+        (rx::Renderer11::clear):
+        (rx::Renderer11::markAllStateDirty):
+        (rx::Renderer11::copyImage):
+        (rx::Renderer11::compileToExecutable):
+        (rx::Renderer11::getRenderTargetResource):
+        (rx::Renderer11::blitRenderbufferRect):
+        * src/libGLESv2/renderer/Renderer11.h:
+        * src/libGLESv2/renderer/Renderer9.cpp:
+        (rx::Renderer9::initialize):
+        (rx::Renderer9::setViewport):
+        (rx::Renderer9::drawLineLoop):
+        (rx::Renderer9::compileToExecutable):
+        * src/libGLESv2/renderer/Renderer9.h:
+        * src/libGLESv2/renderer/SwapChain.h:
+        * src/libGLESv2/renderer/SwapChain11.cpp:
+        (rx::SwapChain11::resetOffscreenTexture):
+        (rx::SwapChain11::reset):
+        (rx::SwapChain11::swapRect):
+        * src/libGLESv2/renderer/SwapChain9.cpp:
+        (rx::convertInterval):
+        * src/libGLESv2/renderer/TextureStorage11.cpp:
+        (rx::TextureStorage11::IsTextureFormatRenderable):
+        (rx::TextureStorage11::generateMipmapLayer):
+        (rx::TextureStorage11_Cube::getRenderTarget):
+        * src/libGLESv2/renderer/VertexBuffer.cpp:
+        (rx::VertexBufferInterface::storeVertexAttributes):
+        (rx::VertexBufferInterface::storeRawData):
+        (rx::VertexBufferInterface::reserveVertexSpace):
+        (rx::StaticVertexBufferInterface::lookupAttribute):
+        (rx::StaticVertexBufferInterface::storeVertexAttributes):
+        * src/libGLESv2/renderer/VertexBuffer.h:
+        * src/libGLESv2/renderer/VertexBuffer11.cpp:
+        (rx::VertexBuffer11::getSpaceRequired):
+        * src/libGLESv2/renderer/VertexBuffer11.h:
+        * src/libGLESv2/renderer/VertexBuffer9.cpp:
+        (rx::VertexBuffer9::storeVertexAttributes):
+        (rx::VertexBuffer9::getSpaceRequired):
+        (rx::VertexBuffer9::requiresConversion):
+        (rx::VertexBuffer9::getVertexSize):
+        (rx::VertexBuffer9::spaceRequired):
+        * src/libGLESv2/renderer/VertexBuffer9.h:
+        * src/libGLESv2/renderer/VertexDataManager.cpp:
+        (rx::elementsInBuffer):
+        (rx::StreamingBufferElementCount):
+        (rx::VertexDataManager::prepareVertexData):
+        * src/libGLESv2/renderer/VertexDataManager.h:
+        * src/libGLESv2/renderer/renderer11_utils.cpp:
+        (gl_d3d11::ConvertTextureFormat):
+        * src/libGLESv2/renderer/shaders/compiled/clear11vs.h:
+        * src/libGLESv2/renderer/shaders/compiled/clearmultiple11ps.h:
+        * src/libGLESv2/renderer/shaders/compiled/clearsingle11ps.h:
+        * src/libGLESv2/renderer/shaders/compiled/componentmaskps.h:
+        * src/libGLESv2/renderer/shaders/compiled/flipyvs.h:
+        * src/libGLESv2/renderer/shaders/compiled/luminanceps.h:
+        * src/libGLESv2/renderer/shaders/compiled/passthrough11vs.h:
+        * src/libGLESv2/renderer/shaders/compiled/passthroughlum11ps.h:
+        * src/libGLESv2/renderer/shaders/compiled/passthroughlumalpha11ps.h:
+        * src/libGLESv2/renderer/shaders/compiled/passthroughps.h:
+        * src/libGLESv2/renderer/shaders/compiled/passthroughrgb11ps.h:
+        * src/libGLESv2/renderer/shaders/compiled/passthroughrgba11ps.h:
+        * src/libGLESv2/renderer/shaders/compiled/standardvs.h:
+        * src/libGLESv2/renderer/shaders/generate_shaders.bat:
+        * src/libGLESv2/utilities.cpp:
+        (gl::ComputeTypeSize):
+        * src/libGLESv2/utilities.h:
+        * src/third_party/murmurhash/MurmurHash3.cpp:
+        (rotl32):
+        (rotl64):
+        (getblock):
+        (fmix):
+        (MurmurHash3_x86_32):
+        (MurmurHash3_x86_128):
+        (MurmurHash3_x64_128):
+        * src/third_party/murmurhash/MurmurHash3.h:
+        * src/third_party/trace_event: Added.
+        * src/third_party/trace_event/trace_event.h: Added.
+        (gl::TraceEvent::TraceID::TraceID):
+        (gl::TraceEvent::TraceID::data):
+        (gl::TraceEvent::TraceStringWithCopy::TraceStringWithCopy):
+        (gl::TraceEvent::TraceStringWithCopy::operator const char* ):
+        (gl::TraceEvent::setTraceValue):
+        (gl::TraceEvent::addTraceEvent):
+        (gl::TraceEvent::TraceEndOnScopeClose::TraceEndOnScopeClose):
+        (gl::TraceEvent::TraceEndOnScopeClose::~TraceEndOnScopeClose):
+        (gl::TraceEvent::TraceEndOnScopeClose::initialize):
+        (gl::TraceEvent::TraceEndOnScopeClose::addEventIfEnabled):
+        (gl::TraceEvent::SamplingStateScope::SamplingStateScope):
+        (gl::TraceEvent::SamplingStateScope::~SamplingStateScope):
+        (gl::TraceEvent::SamplingStateScope::current):
+        (gl::TraceEvent::SamplingStateScope::set):
+
+2013-11-18  Mark Rowe  <mrowe@apple.com>
+
+        Use hw.activecpu for determining how many processes to spawn.
+
+        It's documented as the preferred way to determine the number of threads
+        or processes to create in a SMP aware application.
+
+        Rubber-stamped by Tim Horton.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+
+2013-11-06  Dean Jackson  <dino@apple.com>
+
+        kTraceBufferLen is unused in default builds
+        https://bugs.webkit.org/show_bug.cgi?id=123941
+        <rdar://problem/15409804>
+
+        Reviewed by Tim Horton.
+
+        kTraceBufferLen is not used in debug.cpp if TRACE_ENABLED is
+        not defined. This causes a warning in newer builds of clang.
+        For now, skip warnings on unused variables until we
+        update from ANGLE.
+
+        * src/compiler/debug.cpp: Add unused-variable ignore pragma.
+
+2013-10-24  Mark Rowe  <mrowe@apple.com>
+
+        Remove references to OS X 10.7 from Xcode configuration settings.
+
+        Now that we're not building for OS X 10.7 they're no longer needed.
+
+        Reviewed by Anders Carlsson.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+
+2013-10-24  Mark Rowe  <mrowe@apple.com>
+
+        <rdar://problem/15312643> Prepare for the mysterious future.
+
+        Reviewed by David Kilzer.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+
+2013-10-10  Mark Rowe  <mrowe@apple.com>
+
+        <rdar://problem/13341666> WebKit should always build against an SDK.
+
+        Have all projects default to building against the OS X Internal SDK for the Production
+        configuration. For the Debug and Release configurations, look for UseInternalSDK.xcconfig
+        to determine whether the OS X Internal SDK should be used. If not, use the normal OS X SDK.
+
+        Reviewed by Dan Bernstein.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+
+2013-10-08  Alex Christensen  <achristensen@webkit.org>
+
+        Generate pdb files for debugging ANGLE DLLs.
+        https://bugs.webkit.org/show_bug.cgi?id=122530
+
+        Reviewed by Brent Fulgham.
+
+        * ANGLE.vcxproj/libEGLCommon.props:
+        * ANGLE.vcxproj/libGLESv2Common.props:
+        Generate debug information.
+
+2013-10-03  Dan Bernstein  <mitz@apple.com>
+
+        <rdar://problem/15116673> [mac] Build failure when the source directory is not named ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=122307
+
+        Reviewed by Mark Rowe.
+
+        * ANGLE.xcodeproj/project.pbxproj: Ensure that the symlink to SRCROOT in
+        DerivedSources/ANGLE is named ANGLE.
+
+2013-09-29  Darin Adler  <darin@apple.com>
+
+        Take some Xcode advice about turning on additional warnings in ANGLE and gtest
+        https://bugs.webkit.org/show_bug.cgi?id=122087
+
+        Reviewed by Mark Rowe.
+
+        * Configurations/Base.xcconfig: Add some of the warnings that Xcode 5 suggested.
+        * src/compiler/preprocessor/Tokenizer.l: Defined YY_NO_INPUT so we don't compile
+        an unused function and get a warning.
+
+2013-09-29  Darin Adler  <darin@apple.com>
+
+        Use RenderElement instead of RenderObject in many places
+        https://bugs.webkit.org/show_bug.cgi?id=122078
+
+        Reviewed by Andreas Kling.
+
+        * ANGLE.xcodeproj/project.pbxproj: Let Xcode do its thing to this file.
+
+2013-09-24  Mark Rowe  <mrowe@apple.com>
+
+        <rdar://problem/14971518> WebKit should build against the Xcode default toolchain when targeting OS X 10.8
+
+        Reviewed by Dan Bernstein.
+
+        * Configurations/Base.xcconfig:
+
+2013-09-06  peavo@outlook.com  <peavo@outlook.com>
+
+        [Win][WebGL] WebGL rendering is slow.
+        https://bugs.webkit.org/show_bug.cgi?id=120841
+
+        Reviewed by Brent Fulgham.
+
+        Rendering WebGL content is slow on Windows, because lots of debug information is written to debug.txt.
+
+        * ANGLE.vcxproj/ANGLERelease.props: Disable logging in release builds.
+
+2013-09-05  Dan Bernstein  <mitz@apple.com>
+
+        INSTALL_PATH_PREFIX is used even when not installing
+        https://bugs.webkit.org/show_bug.cgi?id=120818
+
+        Reviewed by Darin Adler.
+
+        * Configurations/ANGLE.xcconfig: Changed the definition of PRIVATE_HEADERS_FOLDER_PATH
+        to include INSTALL_PATH_PREFIX only when installing.
+
+2013-08-17  David Kilzer  <ddkilzer@apple.com>
+
+        ANGLE fails to build with trunk clang: error: 'register' storage class specifier is deprecated [-Werror,-Wdeprecated-register]
+        <http://webkit.org/b/119931>
+        <rdar://problem/14763822>
+
+        Reviewed by Darin Adler.
+
+        * src/compiler/glslang.l:
+        * src/compiler/glslang_lex.cpp:
+        * src/compiler/preprocessor/Tokenizer.cpp:
+        * src/compiler/preprocessor/Tokenizer.l:
+        Add pragma statements to ignore -Wdeprecated-register warnings
+        in generated code.  Also ignore -Wunknown-pragmas so this
+        doesn't cause a build failure in older versions of clang.
+
+2013-08-16  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r153749.
+        http://trac.webkit.org/changeset/153749
+        https://bugs.webkit.org/show_bug.cgi?id=119892
+
+        The bison generation of the glslang* files has now been fixed. (Requested by zdobersek on #webkit).
+
+        * GNUmakefile.am: Preserve the libANGLE.la dependency on the ANGLE's GNUmakefile.am.
+
+2013-08-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
+
+        ANGLE doesn't build with bison 3.0
+        https://bugs.webkit.org/show_bug.cgi?id=119798
+
+        Reviewed by Antti Koivisto.
+
+        Make glslang.y compatible with bison 3.0, by using %lex-param
+        to set YYLEX_PARAM and getting rid of useless YYID macro.
+
+        * src/compiler/glslang.y:
+
+2013-08-09  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
+
+        [Qt] Buidfix after r153664. Adding ANGLE_WEBKIT_WIN definition.
+        https://bugs.webkit.org/show_bug.cgi?id=119577
+
+        Reviewed by Allan Sandfeld Jensen.
+
+        * Target.pri:
+
+2013-08-08  Alex Christensen  <achristensen@apple.com>
+
+        Link to correct DirectX libraries for Win64 ANGLE build.
+        https://bugs.webkit.org/show_bug.cgi?id=119600
+
+        Reviewed by Brent Fulgham.
+
+        * ANGLE.vcxproj/DirectX32.props: Added with x86 DirectX library directory.
+        * ANGLE.vcxproj/DirectX64.props: Added with x64 DirectX library directory.
+        * ANGLE.vcxproj/libEGL.vcxproj:
+        * ANGLE.vcxproj/libGLESv2.vcxproj:
+        Use DirectX32.props and DirectX64.props.
+        * ANGLE.vcxproj/libEGLCommon.props:
+        * ANGLE.vcxproj/libGLESv2Common.props:
+        Removed DirectX library directory.
+
+2013-07-23  David Farler  <dfarler@apple.com>
+
+        Provide optional OTHER_CFLAGS, OTHER_CPPFLAGS, OTHER_LDFLAGS additions for building with ASAN
+        https://bugs.webkit.org/show_bug.cgi?id=117762
+
+        Reviewed by Mark Rowe.
+
+        * Configurations/DebugRelease.xcconfig:
+        Add ASAN_OTHER_CFLAGS, CPLUSPLUSFLAGS.
+
+2013-08-06  Zan Dobersek  <zdobersek@igalia.com>
+
+        webkit-gtk fails to build with bison-3.0
+        https://bugs.webkit.org/show_bug.cgi?id=119373
+
+        Reviewed by Gustavo Noronha Silva.
+
+        * GNUmakefile.am: Stop relying on generated glslang_tab.(cpp|h) and glslang.cpp sources as Bison 3.0
+        produces non-compilable source code. Instead, compile these pregenerated files as they're included in
+        the tree. Originally, the ANGLE source tree provides these files as generated by Bison 2.7, but they're
+        at the moment regenerated with Bison 2.3 when the third-party ANGLE source is being updated.
+
+2013-08-05  Alex Christensen  <achristensen@apple.com>
+
+        Added optimizations to Windows ANGLE builds.
+        https://bugs.webkit.org/show_bug.cgi?id=119500
+
+        Reviewed by Brent Fulgham.
+
+        * ANGLE.vcxproj/ANGLERelease.props: Added.
+        * ANGLE.vcxproj/libEGL.vcxproj:
+        * ANGLE.vcxproj/libGLESv2.vcxproj:
+        * ANGLE.vcxproj/preprocessor.vcxproj:
+        * ANGLE.vcxproj/translator_common.vcxproj:
+        * ANGLE.vcxproj/translator_glsl.vcxproj:
+        * ANGLE.vcxproj/translator_hlsl.vcxproj:
+        Use ANGLERelease.props for Release, Release_WinCairo, and Production configurations.
+
+2013-08-02  Alex Christensen  <achristensen@apple.com>
+
+        Soft link ANGLE on Windows.
+        https://bugs.webkit.org/show_bug.cgi?id=119452
+
+        Reviewed by Dean Jackson.
+
+        * ANGLE.vcxproj/libEGL.vcxproj:
+        * ANGLE.vcxproj/libEGL.vcxproj.filters:
+        * ANGLE.vcxproj/libGLESv2.vcxproj:
+        * ANGLE.vcxproj/libGLESv2.vcxproj.filters:
+        Added soft linking headers.
+        * ANGLE.vcxproj/libEGLCommon.props:
+        * ANGLE.vcxproj/libGLESv2Common.props:
+        * ANGLE.vcxproj/translatorCommon.props:
+        Added ANGLE_WEBKIT_WIN macro definition for egl.h and gl2.h.
+        * include/EGL/egl.h:
+        * include/GLES2/gl2.h:
+        Conditionally include soft linking headers based on ANGLE_WEBKIT_WIN macro.
+        * include/EGL/eglsoftlinking.h: Added.
+        * include/GLES2/gl2softlinking.h: Added.
+
+2013-08-01  Alex Christensen  <achristensen@apple.com>
+
+        Fixed wrong static_casting in ANGLE from r153064.
+        https://bugs.webkit.org/show_bug.cgi?id=119296
+
+        Reviewed by Dean Jackson.
+
+        * src/compiler/Intermediate.cpp:
+        (TIntermediate::promoteConstantUnion):
+        Undid erroneous static_cast change.
+        * src/compiler/intermediate.h:
+        (TIntermConstantUnion::getIConst):
+        (TIntermConstantUnion::getFConst):
+        (TIntermConstantUnion::getBConst):
+        Made getters use size_t instead of int.
+
+2013-07-29  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        Unreviewed. Fix make distcheck.
+
+        * GNUmakefile.am: Add missing header files to compilation.
+
+2013-07-29  Alex Christensen  <achristensen@apple.com>
+
+        Separated translator into preprocessor, translator_common,
+        translator_hlsl (for libGLESv2), and translator_glsl
+        (for ANGLEWebKitBridge).
+        https://bugs.webkit.org/show_bug.cgi?id=119221
+
+        Reviewed by Brent Fulgham.
+
+        * ANGLE.vcxproj/ANGLEGenerated.vcxproj:
+        Removed unused preprocessor definitions.
+        * ANGLE.vcxproj/libEGL.vcxproj:
+        * ANGLE.vcxproj/libGLESv2.vcxproj:
+        Removed dependency on removed translator project.
+        * ANGLE.vcxproj/libGLESv2Common.props:
+        Link to translator_hlsl libraries.
+        * ANGLE.vcxproj/preprocessor.vcxproj: Added.
+        * ANGLE.vcxproj/preprocessor.vcxproj.filters: Added.
+        * ANGLE.vcxproj/translator.vcxproj: Removed.
+        * ANGLE.vcxproj/translator.vcxproj.filters: Removed.
+        * ANGLE.vcxproj/translator_common.vcxproj: Added.
+        * ANGLE.vcxproj/translator_common.vcxproj.filters: Added.
+        * ANGLE.vcxproj/translator_glsl.vcxproj: Added.
+        * ANGLE.vcxproj/translator_glsl.vcxproj.filters: Added.
+        * ANGLE.vcxproj/translator_hlsl.vcxproj: Added.
+        * ANGLE.vcxproj/translator_hlsl.vcxproj.filters: Added.
+
+2013-07-26  Alex Christensen  <achristensen@apple.com>
+
+        Added module definition file for building libEGL.
+        https://bugs.webkit.org/show_bug.cgi?id=119162
+
+        Reviewed by Brent Fulgham.
+
+        * ANGLE.vcxproj/libEGLCommon.props: Added reference to libEGL.def.
+
+2013-07-25  Alex Christensen  <achristensen@apple.com>
+
+        Made Windows build system for ANGLE and removed existing broken build system.
+        Removed empty src/libGLESv2/shaders directory and old README files.
+        https://bugs.webkit.org/show_bug.cgi?id=119103
+
+        Reviewed by Brent Fulgham.
+
+        * ANGLE.vcxproj: Added.
+        * ANGLE.vcxproj/ANGLEGenerated.vcxproj: Added.
+        * ANGLE.vcxproj/ANGLEGenerated.vcxproj.filters: Added.
+        * ANGLE.vcxproj/libEGL.vcxproj: Added.
+        * ANGLE.vcxproj/libEGL.vcxproj.filters: Added.
+        * ANGLE.vcxproj/libEGLCommon.props: Added.
+        * ANGLE.vcxproj/libGLESv2.vcxproj: Added.
+        * ANGLE.vcxproj/libGLESv2.vcxproj.filters: Added.
+        * ANGLE.vcxproj/libGLESv2Common.props: Added.
+        * ANGLE.vcxproj/translator.vcxproj: Added.
+        * ANGLE.vcxproj/translator.vcxproj.filters: Added.
+        * ANGLE.vcxproj/translatorCommon.props: Added.
+        * src/ANGLE.sln: Removed.
+        * src/compiler/preprocessor/preprocessor.vcxproj: Removed.
+        * src/compiler/preprocessor/preprocessor.vcxproj.filters: Removed.
+        * src/compiler/translator_common.vcxproj: Removed.
+        * src/compiler/translator_common.vcxproj.filters: Removed.
+        * src/compiler/translator_hlsl.vcxproj: Removed.
+        * src/compiler/translator_hlsl.vcxproj.filters: Removed.
+        * src/libEGL/README: Removed.
+        * src/libEGL/libEGL.vcxproj: Removed.
+        * src/libEGL/libEGL.vcxproj.filters: Removed.
+        * src/libGLESv2/README: Removed.
+        * src/libGLESv2/libGLESv2.vcxproj: Removed.
+        * src/libGLESv2/libGLESv2.vcxproj.filters: Removed.
+        * src/libGLESv2/shaders: Removed.
+
+2013-07-24  Alex Christensen  <achristensen@apple.com>
+
+        Generate derived files in ANGLE at build time rather than when updating from upstream.
+        https://bugs.webkit.org/show_bug.cgi?id=118872
+
+        Reviewed by Mark Rowe.
+
+        * ANGLE.xcodeproj/project.pbxproj: Made Derived Sources target which calls DerivedSources.make,
+        moved generated files into Derived Sources group.
+        * DerivedSources.make: Added.
+
+2013-07-24  Zan Dobersek  <zdobersek@igalia.com>
+
+        Unreviewed. Setting the svn:eol-style=native property on the ANGLE.sln file.
+
+        * src/ANGLE.sln: Added property svn:eol-style.
+
+2013-07-24  Gabor Abraham  <abrhm@inf.u-szeged.hu>
+
+        [Qt] Buildfix after r153064. Add Uniform files to the Target.pri.
+
+        Reviewed by Csaba Osztrogonác.
+
+        * Target.pri:
+
+2013-07-23  Alex Christensen  <achristensen@apple.com>
+
+        Updated ANGLE to latest git commit (047373aa3eb408be62be52ade840fa5f11e72337).
+        Added missing ANGLE files except unused tests, extensions, samples, build, and .git directories.
+        Ran Bison after making some changes to fix compile errors (see below).
+
+        https://bugs.webkit.org/show_bug.cgi?id=118550
+
+        Reviewed by Dean Jackson.
+
+        * ANGLE.plist: Updated from svn to git.
+        * ANGLE.xcodeproj/project.pbxproj: Renamed DetectRecursion to DetectCallDepth.
+        * AUTHORS: Added.
+        * CONTRIBUTORS: Added.
+        * DEPS: Added.
+        * GNUmakefile.am: Renamed DetectRecursion to DetectCallDepth and added Uniform.cpp.
+        * LICENSE: Added.
+        * README.chromium: Added.
+        * Target.pri: Renamed DetectRecursion to DetectCallDepth.
+        * codereview.settings: Added.
+        * include/EGL/eglext.h:
+        * include/GLES2/gl2ext.h:
+        * include/GLSLANG/ShaderLang.h:
+        * src/ANGLE.sln: Added.
+        * src/build_angle.gyp: Added.
+        * src/build_angle.gypi: Added.
+        * src/common/RefCountObject.cpp:
+        * src/common/angleutils.h:
+        (ArraySize):
+        (SafeRelease):
+        * src/common/debug.cpp:
+        * src/common/debug.h:
+        * src/common/system.h:
+        * src/common/version.h:
+        * src/compiler/64bit-lexer-safety.patch: Added.
+        * src/compiler/BaseTypes.h:
+        (getQualifierString):
+        * src/compiler/CodeGenHLSL.cpp:
+        (ConstructCompiler):
+        * src/compiler/Common.h:
+        * src/compiler/Compiler.cpp:
+        (TCompiler::TCompiler):
+        (TCompiler::Init):
+        (TCompiler::compile):
+        (TCompiler::InitBuiltInSymbolTable):
+        (TCompiler::detectCallDepth):
+        (TCompiler::limitExpressionComplexity):
+        (TCompiler::getResources):
+        * src/compiler/ConstantUnion.h:
+        (ConstantUnion::ConstantUnion):
+        * src/compiler/DetectCallDepth.cpp: Added.
+        (DetectCallDepth::FunctionNode::FunctionNode):
+        (DetectCallDepth::FunctionNode::getName):
+        (DetectCallDepth::FunctionNode::addCallee):
+        (DetectCallDepth::FunctionNode::detectCallDepth):
+        (DetectCallDepth::FunctionNode::reset):
+        (DetectCallDepth::DetectCallDepth):
+        (DetectCallDepth::~DetectCallDepth):
+        (DetectCallDepth::visitAggregate):
+        (DetectCallDepth::checkExceedsMaxDepth):
+        (DetectCallDepth::resetFunctionNodes):
+        (DetectCallDepth::detectCallDepthForFunction):
+        (DetectCallDepth::detectCallDepth):
+        (DetectCallDepth::findFunctionByName):
+        * src/compiler/DetectCallDepth.h: Added.
+        (DetectCallDepth::getInfoSink):
+        * src/compiler/DetectRecursion.cpp: Removed.
+        * src/compiler/DetectRecursion.h: Removed.
+        * src/compiler/Diagnostics.cpp:
+        (TDiagnostics::writeInfo):
+        * src/compiler/ForLoopUnroll.cpp:
+        (ForLoopUnroll::evaluateIntConstant):
+        * src/compiler/InfoSink.cpp:
+        (TInfoSinkBase::prefix):
+        (TInfoSinkBase::location):
+        (TInfoSinkBase::message):
+        * src/compiler/InfoSink.h:
+        * src/compiler/Initialize.cpp:
+        (InsertBuiltInFunctions):
+        (IdentifyBuiltIns):
+        (InitExtensionBehavior):
+        * src/compiler/Initialize.h:
+        * src/compiler/Intermediate.cpp:
+        (TIntermediate::addSymbol):
+        (TIntermediate::addBinaryMath):
+        (TIntermediate::addAssign):
+        (TIntermediate::addIndex):
+        (TIntermediate::addUnaryMath):
+        (TIntermediate::setAggregateOperator):
+        (TIntermediate::addConversion):
+        (TIntermediate::growAggregate):
+        (TIntermediate::makeAggregate):
+        (TIntermediate::addSelection):
+        (TIntermediate::addComma):
+        (TIntermediate::addConstantUnion):
+        (TIntermediate::addSwizzle):
+        (TIntermediate::addLoop):
+        (TIntermediate::addBranch):
+        (TIntermUnary::promote):
+        (TIntermBinary::promote):
+        (CompareStruct):
+        (CompareStructure):
+        (TIntermConstantUnion::fold): Added implied static_casts to fix compiling errors on Mac.
+        (TIntermediate::promoteConstantUnion):
+        * src/compiler/OutputGLSL.cpp:
+        (TOutputGLSL::visitSymbol):
+        * src/compiler/OutputGLSL.h:
+        * src/compiler/OutputGLSLBase.cpp:
+        (TOutputGLSLBase::writeVariableType):
+        (TOutputGLSLBase::writeConstantUnion):
+        (TOutputGLSLBase::visitBinary):
+        (TOutputGLSLBase::visitAggregate):
+        (TOutputGLSLBase::getTypeName):
+        (TOutputGLSLBase::structDeclared):
+        (TOutputGLSLBase::declareStruct):
+        * src/compiler/OutputGLSLBase.h:
+        * src/compiler/OutputHLSL.cpp:
+        (sh::OutputHLSL::OutputHLSL):
+        (sh::OutputHLSL::getUniforms):
+        (sh::OutputHLSL::header):
+        (sh::OutputHLSL::visitSymbol):
+        (sh::OutputHLSL::visitBinary):
+        (sh::OutputHLSL::visitAggregate):
+        (sh::OutputHLSL::visitSelection):
+        (sh::OutputHLSL::visitLoop):
+        (sh::OutputHLSL::handleExcessiveLoop):
+        (sh::OutputHLSL::argumentString):
+        (sh::OutputHLSL::typeString):
+        (sh::OutputHLSL::textureString):
+        (sh::OutputHLSL::initializer):
+        (sh::OutputHLSL::addConstructor):
+        (sh::OutputHLSL::writeConstantUnion):
+        (sh::OutputHLSL::decorateUniform):
+        (sh::OutputHLSL::decorateField):
+        (sh::OutputHLSL::registerString):
+        (sh::OutputHLSL::samplerRegister):
+        (sh::OutputHLSL::uniformRegister):
+        (sh::OutputHLSL::declareUniform):
+        (sh::OutputHLSL::glVariableType):
+        (sh::OutputHLSL::glVariablePrecision):
+        * src/compiler/OutputHLSL.h:
+        * src/compiler/ParseHelper.cpp:
+        (TParseContext::parseVectorFields):
+        (TParseContext::parseMatrixFields):
+        (TParseContext::error):
+        (TParseContext::warning):
+        (TParseContext::assignError):
+        (TParseContext::unaryOpError):
+        (TParseContext::binaryOpError):
+        (TParseContext::precisionErrorCheck):
+        (TParseContext::lValueErrorCheck):
+        (TParseContext::globalErrorCheck):
+        (TParseContext::reservedErrorCheck):
+        (TParseContext::constructorErrorCheck):
+        (TParseContext::voidErrorCheck):
+        (TParseContext::boolErrorCheck):
+        (TParseContext::samplerErrorCheck):
+        (TParseContext::structQualifierErrorCheck):
+        (TParseContext::parameterSamplerErrorCheck):
+        (TParseContext::containsSampler):
+        (TParseContext::arraySizeErrorCheck):
+        (TParseContext::arrayQualifierErrorCheck):
+        (TParseContext::arrayTypeErrorCheck):
+        (TParseContext::arrayErrorCheck):
+        (TParseContext::nonInitConstErrorCheck):
+        (TParseContext::nonInitErrorCheck):
+        (TParseContext::paramErrorCheck):
+        (TParseContext::extensionErrorCheck):
+        (TParseContext::isExtensionEnabled):
+        Replaced auto with std::map<std::string, TBehavior>::const_iterator to fix Qt and EFL compiling errors.
+        (TParseContext::findFunction):
+        (TParseContext::executeInitializer):
+        (TParseContext::addConstructor):
+        (TParseContext::constructBuiltIn):
+        (TParseContext::constructStruct):
+        (TParseContext::addConstVectorNode):
+        (TParseContext::addConstMatrixNode):
+        (TParseContext::addConstArrayNode):
+        (TParseContext::addConstStruct):
+        (TParseContext::enterStructDeclaration):
+        (TParseContext::structNestingErrorCheck):
+        (TParseContext::addIndexExpression):
+        * src/compiler/ParseHelper.h:
+        (TParseContext::TParseContext):
+        (TParseContext::pragma):
+        * src/compiler/PoolAlloc.cpp:
+        (TPoolAllocator::allocate):
+        * src/compiler/ShHandle.h:
+        (TShHandleBase::getAsTranslatorHLSL):
+        * src/compiler/ShaderLang.cpp:
+        (ShInitBuiltInResources):
+        (ShGetInfoPointer):
+        * src/compiler/SymbolTable.cpp:
+        (TType::TType):
+        (TType::buildMangledName):
+        (TType::getObjectSize):
+        (TStructure::containsArrays):
+        (TStructure::buildMangledName):
+        (TStructure::calculateObjectSize):
+        (TStructure::calculateDeepestNesting):
+        (TSymbolTableLevel::relateToExtension):
+        * src/compiler/SymbolTable.h:
+        (TSymbol::relateToExtension):
+        (TSymbol::getExtension):
+        (TVariable::TVariable):
+        (TVariable::setQualifier):
+        (TVariable::shareConstPointer):
+        (TSymbolTableLevel::insert):
+        (TSymbolTable::insertConstInt):
+        (TSymbolTable::insertBuiltIn):
+        * src/compiler/TranslatorHLSL.cpp:
+        (TranslatorHLSL::TranslatorHLSL):
+        (TranslatorHLSL::translate):
+        * src/compiler/TranslatorHLSL.h:
+        (TranslatorHLSL::getAsTranslatorHLSL):
+        (TranslatorHLSL::getUniforms):
+        * src/compiler/Types.h: Removed enum bit fields to fix gcc compiler errors.
+        (TField::TField):
+        (TField::type):
+        (TField::name):
+        (NewPoolTFieldList):
+        (TStructure::TStructure):
+        (TStructure::name):
+        (TStructure::fields):
+        (TStructure::mangledName):
+        (TStructure::objectSize):
+        (TStructure::deepestNesting):
+        (TType::TType):
+        (TType::elementRegisterCount):
+        (TType::totalRegisterCount):
+        (TType::clearArrayness):
+        (TType::getStruct):
+        (TType::setStruct):
+        (TType::getMangledName):
+        (TType::getDeepestStructNesting):
+        (TType::isStructureContainingArrays):
+        (TPublicType::setBasic):
+        * src/compiler/Uniform.cpp: Added.
+        (sh::Uniform::Uniform):
+        * src/compiler/Uniform.h: Added.
+        * src/compiler/VariableInfo.cpp:
+        (getUserDefinedVariableInfo):
+        * src/compiler/glslang.l:
+        * src/compiler/glslang.y: Moved YYLTYPE definition into %union to work with Bison 2.3.
+        * src/compiler/glslang_lex.cpp:
+        (yy_get_previous_state):
+        (yy_try_NUL_trans):
+        (yyget_lloc):
+        (yyset_lloc):
+        (string_input):
+        (check_type):
+        (reserved_word):
+        (glslang_scan):
+        * src/compiler/glslang_tab.cpp:
+        (yyerror):
+        * src/compiler/glslang_tab.h:
+        * src/compiler/intermOut.cpp:
+        (TOutputTraverser::visitUnary):
+        (TOutputTraverser::visitAggregate):
+        (TOutputTraverser::visitConstantUnion):
+        * src/compiler/intermediate.h:
+        (TIntermNode::TIntermNode):
+        (TIntermNode::~TIntermNode):
+        (TIntermNode::getLine):
+        (TIntermNode::setLine):
+        (TIntermNode::getAsLoopNode):
+        (TIntermTyped::totalRegisterCount):
+        (TIntermTyped::elementRegisterCount):
+        (TIntermTyped::getArraySize):
+        (TIntermConstantUnion::getIConst):
+        (TIntermConstantUnion::getFConst):
+        (TIntermConstantUnion::getBConst):
+        (TIntermAggregate::TIntermAggregate):
+        (TIntermTraverser::TIntermTraverser):
+        (TIntermTraverser::getMaxDepth):
+        (TIntermTraverser::incrementDepth):
+        * src/compiler/localintermediate.h:
+        * src/compiler/parseConst.cpp:
+        (TConstTraverser::visitSymbol):
+        (TConstTraverser::visitBinary):
+        (TConstTraverser::visitUnary):
+        (TConstTraverser::visitAggregate):
+        (TConstTraverser::visitSelection):
+        (TConstTraverser::visitConstantUnion):
+        (TConstTraverser::visitLoop):
+        (TConstTraverser::visitBranch):
+        (TIntermediate::parseConstTree):
+        * src/compiler/preprocessor/64bit-tokenizer-safety.patch: Added.
+        * src/compiler/preprocessor/Tokenizer.cpp:
+        (yy_get_previous_state):
+        (yy_try_NUL_trans):
+        * src/compiler/preprocessor/Tokenizer.l:
+        * src/compiler/preprocessor/preprocessor.vcxproj: Added.
+        * src/compiler/preprocessor/preprocessor.vcxproj.filters: Added.
+        * src/compiler/timing/RestrictVertexShaderTiming.cpp:
+        (RestrictVertexShaderTiming::visitSymbol):
+        * src/compiler/translator_common.vcxproj: Added.
+        * src/compiler/translator_common.vcxproj.filters: Added.
+        * src/compiler/translator_hlsl.vcxproj: Added.
+        * src/compiler/translator_hlsl.vcxproj.filters: Added.
+        * src/libEGL/Config.cpp: Added.
+        (egl::Config::Config):
+        (egl::Config::getHandle):
+        (egl::SortConfig::SortConfig):
+        (egl::SortConfig::scanForWantedComponents):
+        (egl::SortConfig::wantedComponentsSize):
+        (egl::SortConfig::operator()):
+        (egl::ConfigSet::ConfigSet):
+        (egl::ConfigSet::add):
+        (egl::ConfigSet::size):
+        (egl::ConfigSet::getConfigs):
+        (egl::ConfigSet::get):
+        * src/libEGL/Config.h: Added.
+        * src/libEGL/Display.cpp: Added.
+        (egl::Display::getDisplay):
+        (egl::Display::Display):
+        (egl::Display::~Display):
+        (egl::Display::initialize):
+        (egl::Display::terminate):
+        (egl::Display::getConfigs):
+        (egl::Display::getConfigAttrib):
+        (egl::Display::createWindowSurface):
+        (egl::Display::createOffscreenSurface):
+        (egl::Display::createContext):
+        (egl::Display::restoreLostDevice):
+        (egl::Display::destroySurface):
+        (egl::Display::destroyContext):
+        (egl::Display::notifyDeviceLost):
+        (egl::Display::recreateSwapChains):
+        (egl::Display::isInitialized):
+        (egl::Display::isValidConfig):
+        (egl::Display::isValidContext):
+        (egl::Display::isValidSurface):
+        (egl::Display::hasExistingWindowSurface):
+        (egl::Display::initExtensionString):
+        (egl::Display::getExtensionString):
+        (egl::Display::initVendorString):
+        (egl::Display::getVendorString):
+        * src/libEGL/Display.h: Added.
+        (egl::Display::getRenderer):
+        * src/libEGL/Surface.cpp: Added.
+        (egl::Surface::Surface):
+        (egl::Surface::~Surface):
+        (egl::Surface::initialize):
+        (egl::Surface::release):
+        (egl::Surface::resetSwapChain):
+        (egl::Surface::resizeSwapChain):
+        (egl::Surface::swapRect):
+        (egl::Surface::getWindowHandle):
+        (egl::SurfaceWindowProc):
+        (egl::Surface::subclassWindow):
+        (egl::Surface::unsubclassWindow):
+        (egl::Surface::checkForOutOfDateSwapChain):
+        (egl::Surface::swap):
+        (egl::Surface::postSubBuffer):
+        (egl::Surface::getWidth):
+        (egl::Surface::getHeight):
+        (egl::Surface::isPostSubBufferSupported):
+        (egl::Surface::getSwapChain):
+        (egl::Surface::setSwapInterval):
+        (egl::Surface::getTextureFormat):
+        (egl::Surface::getTextureTarget):
+        (egl::Surface::setBoundTexture):
+        (egl::Surface::getBoundTexture):
+        (egl::Surface::getFormat):
+        * src/libEGL/Surface.h: Added.
+        * src/libEGL/libEGL.cpp: Added.
+        (validateDisplay):
+        (validateConfig):
+        (validateContext):
+        (validateSurface):
+        * src/libEGL/libEGL.def: Added.
+        * src/libEGL/libEGL.rc: Added.
+        * src/libEGL/libEGL.vcxproj: Added.
+        * src/libEGL/libEGL.vcxproj.filters: Added.
+        * src/libEGL/main.cpp: Added.
+        (DllMain):
+        (egl::setCurrentError):
+        (egl::getCurrentError):
+        (egl::setCurrentAPI):
+        (egl::getCurrentAPI):
+        (egl::setCurrentDisplay):
+        (egl::getCurrentDisplay):
+        (egl::setCurrentDrawSurface):
+        (egl::getCurrentDrawSurface):
+        (egl::setCurrentReadSurface):
+        (egl::getCurrentReadSurface):
+        (egl::error):
+        * src/libEGL/main.h: Added.
+        (egl::error):
+        (egl::success):
+        * src/libEGL/resource.h: Added.
+        * src/libGLESv2/BinaryStream.h: Added.
+        (gl::BinaryInputStream::BinaryInputStream):
+        (gl::BinaryInputStream::read):
+        (gl::BinaryInputStream::skip):
+        (gl::BinaryInputStream::offset):
+        (gl::BinaryInputStream::error):
+        (gl::BinaryInputStream::endOfStream):
+        (gl::BinaryOutputStream::BinaryOutputStream):
+        (gl::BinaryOutputStream::write):
+        (gl::BinaryOutputStream::length):
+        (gl::BinaryOutputStream::data):
+        * src/libGLESv2/Buffer.cpp: Added.
+        (gl::Buffer::Buffer):
+        (gl::Buffer::~Buffer):
+        (gl::Buffer::bufferData):
+        (gl::Buffer::bufferSubData):
+        (gl::Buffer::getStorage):
+        (gl::Buffer::size):
+        (gl::Buffer::usage):
+        (gl::Buffer::getStaticVertexBuffer):
+        (gl::Buffer::getStaticIndexBuffer):
+        (gl::Buffer::invalidateStaticData):
+        (gl::Buffer::promoteStaticUsage):
+        * src/libGLESv2/Buffer.h: Added.
+        * src/libGLESv2/Context.cpp: Added.
+        (gl::makeStaticString):
+        (gl::Context::Context):
+        (gl::Context::~Context):
+        (gl::Context::makeCurrent):
+        (gl::Context::markContextLost):
+        (gl::Context::isContextLost):
+        (gl::Context::setClearColor):
+        (gl::Context::setClearDepth):
+        (gl::Context::setClearStencil):
+        (gl::Context::setCullFace):
+        (gl::Context::isCullFaceEnabled):
+        (gl::Context::setCullMode):
+        (gl::Context::setFrontFace):
+        (gl::Context::setDepthTest):
+        (gl::Context::isDepthTestEnabled):
+        (gl::Context::setDepthFunc):
+        (gl::Context::setDepthRange):
+        (gl::Context::setBlend):
+        (gl::Context::isBlendEnabled):
+        (gl::Context::setBlendFactors):
+        (gl::Context::setBlendColor):
+        (gl::Context::setBlendEquation):
+        (gl::Context::setStencilTest):
+        (gl::Context::isStencilTestEnabled):
+        (gl::Context::setStencilParams):
+        (gl::Context::setStencilBackParams):
+        (gl::Context::setStencilWritemask):
+        (gl::Context::setStencilBackWritemask):
+        (gl::Context::setStencilOperations):
+        (gl::Context::setStencilBackOperations):
+        (gl::Context::setPolygonOffsetFill):
+        (gl::Context::isPolygonOffsetFillEnabled):
+        (gl::Context::setPolygonOffsetParams):
+        (gl::Context::setSampleAlphaToCoverage):
+        (gl::Context::isSampleAlphaToCoverageEnabled):
+        (gl::Context::setSampleCoverage):
+        (gl::Context::isSampleCoverageEnabled):
+        (gl::Context::setSampleCoverageParams):
+        (gl::Context::setScissorTest):
+        (gl::Context::isScissorTestEnabled):
+        (gl::Context::setDither):
+        (gl::Context::isDitherEnabled):
+        (gl::Context::setLineWidth):
+        (gl::Context::setGenerateMipmapHint):
+        (gl::Context::setFragmentShaderDerivativeHint):
+        (gl::Context::setViewportParams):
+        (gl::Context::setScissorParams):
+        (gl::Context::setColorMask):
+        (gl::Context::setDepthMask):
+        (gl::Context::setActiveSampler):
+        (gl::Context::getReadFramebufferHandle):
+        (gl::Context::getDrawFramebufferHandle):
+        (gl::Context::getRenderbufferHandle):
+        (gl::Context::getArrayBufferHandle):
+        (gl::Context::getActiveQuery):
+        (gl::Context::setEnableVertexAttribArray):
+        (gl::Context::getVertexAttribState):
+        (gl::Context::setVertexAttribState):
+        (gl::Context::getVertexAttribPointer):
+        (gl::Context::setPackAlignment):
+        (gl::Context::getPackAlignment):
+        (gl::Context::setUnpackAlignment):
+        (gl::Context::getUnpackAlignment):
+        (gl::Context::setPackReverseRowOrder):
+        (gl::Context::getPackReverseRowOrder):
+        (gl::Context::createBuffer):
+        (gl::Context::createProgram):
+        (gl::Context::createShader):
+        (gl::Context::createTexture):
+        (gl::Context::createRenderbuffer):
+        (gl::Context::createFramebuffer):
+        (gl::Context::createFence):
+        (gl::Context::createQuery):
+        (gl::Context::deleteBuffer):
+        (gl::Context::deleteShader):
+        (gl::Context::deleteProgram):
+        (gl::Context::deleteTexture):
+        (gl::Context::deleteRenderbuffer):
+        (gl::Context::deleteFramebuffer):
+        (gl::Context::deleteFence):
+        (gl::Context::deleteQuery):
+        (gl::Context::getBuffer):
+        (gl::Context::getShader):
+        (gl::Context::getProgram):
+        (gl::Context::getTexture):
+        (gl::Context::getRenderbuffer):
+        (gl::Context::getReadFramebuffer):
+        (gl::Context::getDrawFramebuffer):
+        (gl::Context::bindArrayBuffer):
+        (gl::Context::bindElementArrayBuffer):
+        (gl::Context::bindTexture2D):
+        (gl::Context::bindTextureCubeMap):
+        (gl::Context::bindReadFramebuffer):
+        (gl::Context::bindDrawFramebuffer):
+        (gl::Context::bindRenderbuffer):
+        (gl::Context::useProgram):
+        (gl::Context::linkProgram):
+        (gl::Context::setProgramBinary):
+        (gl::Context::beginQuery):
+        (gl::Context::endQuery):
+        (gl::Context::setFramebufferZero):
+        (gl::Context::setRenderbufferStorage):
+        (gl::Context::getFramebuffer):
+        (gl::Context::getFence):
+        (gl::Context::getQuery):
+        (gl::Context::getArrayBuffer):
+        (gl::Context::getElementArrayBuffer):
+        (gl::Context::getCurrentProgramBinary):
+        (gl::Context::getTexture2D):
+        (gl::Context::getTextureCubeMap):
+        (gl::Context::getSamplerTexture):
+        (gl::Context::getBooleanv):
+        (gl::Context::getFloatv):
+        (gl::Context::getIntegerv):
+        (gl::Context::getQueryParameterInfo):
+        (gl::Context::applyRenderTarget):
+        (gl::Context::applyState):
+        (gl::Context::applyShaders):
+        (gl::Context::applyTextures):
+        (gl::Context::readPixels):
+        (gl::Context::clear):
+        (gl::Context::drawArrays):
+        (gl::Context::drawElements):
+        (gl::Context::sync):
+        (gl::Context::recordInvalidEnum):
+        (gl::Context::recordInvalidValue):
+        (gl::Context::recordInvalidOperation):
+        (gl::Context::recordOutOfMemory):
+        (gl::Context::recordInvalidFramebufferOperation):
+        (gl::Context::getError):
+        (gl::Context::getResetStatus):
+        (gl::Context::isResetNotificationEnabled):
+        (gl::Context::getMajorShaderModel):
+        (gl::Context::getMaximumPointSize):
+        (gl::Context::getMaximumCombinedTextureImageUnits):
+        (gl::Context::getMaxSupportedSamples):
+        (gl::Context::getMaximumRenderTargets):
+        (gl::Context::supportsEventQueries):
+        (gl::Context::supportsOcclusionQueries):
+        (gl::Context::supportsBGRATextures):
+        (gl::Context::supportsDXT1Textures):
+        (gl::Context::supportsDXT3Textures):
+        (gl::Context::supportsDXT5Textures):
+        (gl::Context::supportsFloat32Textures):
+        (gl::Context::supportsFloat32LinearFilter):
+        (gl::Context::supportsFloat32RenderableTextures):
+        (gl::Context::supportsFloat16Textures):
+        (gl::Context::supportsFloat16LinearFilter):
+        (gl::Context::supportsFloat16RenderableTextures):
+        (gl::Context::getMaximumRenderbufferDimension):
+        (gl::Context::getMaximumTextureDimension):
+        (gl::Context::getMaximumCubeTextureDimension):
+        (gl::Context::getMaximumTextureLevel):
+        (gl::Context::supportsLuminanceTextures):
+        (gl::Context::supportsLuminanceAlphaTextures):
+        (gl::Context::supportsDepthTextures):
+        (gl::Context::supports32bitIndices):
+        (gl::Context::supportsNonPower2Texture):
+        (gl::Context::supportsInstancing):
+        (gl::Context::supportsTextureFilterAnisotropy):
+        (gl::Context::getTextureMaxAnisotropy):
+        (gl::Context::getCurrentReadFormatType):
+        (gl::Context::detachBuffer):
+        (gl::Context::detachTexture):
+        (gl::Context::detachFramebuffer):
+        (gl::Context::detachRenderbuffer):
+        (gl::Context::getIncompleteTexture):
+        (gl::Context::skipDraw):
+        (gl::Context::setVertexAttrib):
+        (gl::Context::setVertexAttribDivisor):
+        (gl::Context::initExtensionString):
+        (gl::Context::getExtensionString):
+        (gl::Context::initRendererString):
+        (gl::Context::getRendererString):
+        (gl::Context::blitFramebuffer):
+        * src/libGLESv2/Context.h: Added.
+        (gl::VertexAttribute::VertexAttribute):
+        (gl::VertexAttribute::typeSize):
+        (gl::VertexAttribute::stride):
+        * src/libGLESv2/Fence.cpp: Added.
+        (gl::Fence::Fence):
+        (gl::Fence::~Fence):
+        (gl::Fence::isFence):
+        (gl::Fence::setFence):
+        (gl::Fence::testFence):
+        (gl::Fence::finishFence):
+        (gl::Fence::getFenceiv):
+        * src/libGLESv2/Fence.h: Added.
+        * src/libGLESv2/Float16ToFloat32.cpp: Added.
+        (gl::float16ToFloat32):
+        * src/libGLESv2/Float16ToFloat32.py: Added.
+        (convertMantissa):
+        (convertExponent):
+        (convertOffset):
+        * src/libGLESv2/Framebuffer.cpp: Added.
+        (gl::Framebuffer::Framebuffer):
+        (gl::Framebuffer::~Framebuffer):
+        (gl::Framebuffer::lookupRenderbuffer):
+        (gl::Framebuffer::setColorbuffer):
+        (gl::Framebuffer::setDepthbuffer):
+        (gl::Framebuffer::setStencilbuffer):
+        (gl::Framebuffer::detachTexture):
+        (gl::Framebuffer::detachRenderbuffer):
+        (gl::Framebuffer::getRenderTargetSerial):
+        (gl::Framebuffer::getDepthbufferSerial):
+        (gl::Framebuffer::getStencilbufferSerial):
+        (gl::Framebuffer::getColorbuffer):
+        (gl::Framebuffer::getDepthbuffer):
+        (gl::Framebuffer::getStencilbuffer):
+        (gl::Framebuffer::getDepthOrStencilbuffer):
+        (gl::Framebuffer::getReadColorbuffer):
+        (gl::Framebuffer::getReadColorbufferType):
+        (gl::Framebuffer::getFirstColorbuffer):
+        (gl::Framebuffer::getColorbufferType):
+        (gl::Framebuffer::getDepthbufferType):
+        (gl::Framebuffer::getStencilbufferType):
+        (gl::Framebuffer::getColorbufferHandle):
+        (gl::Framebuffer::getDepthbufferHandle):
+        (gl::Framebuffer::getStencilbufferHandle):
+        (gl::Framebuffer::getDrawBufferState):
+        (gl::Framebuffer::setDrawBufferState):
+        (gl::Framebuffer::isEnabledColorAttachment):
+        (gl::Framebuffer::hasEnabledColorAttachment):
+        (gl::Framebuffer::hasStencil):
+        (gl::Framebuffer::usingExtendedDrawBuffers):
+        (gl::Framebuffer::completeness):
+        (gl::DefaultFramebuffer::DefaultFramebuffer):
+        (gl::Framebuffer::getSamples):
+        (gl::DefaultFramebuffer::completeness):
+        * src/libGLESv2/Framebuffer.h: Added.
+        * src/libGLESv2/HandleAllocator.cpp: Added.
+        (gl::HandleAllocator::HandleAllocator):
+        (gl::HandleAllocator::~HandleAllocator):
+        (gl::HandleAllocator::setBaseHandle):
+        (gl::HandleAllocator::allocate):
+        (gl::HandleAllocator::release):
+        * src/libGLESv2/HandleAllocator.h: Added.
+        * src/libGLESv2/Program.cpp: Added.
+        (gl::AttributeBindings::AttributeBindings):
+        (gl::AttributeBindings::~AttributeBindings):
+        (gl::InfoLog::InfoLog):
+        (gl::InfoLog::~InfoLog):
+        (gl::InfoLog::getLength):
+        (gl::InfoLog::getLog):
+        (gl::InfoLog::appendSanitized):
+        (gl::InfoLog::append):
+        (gl::InfoLog::reset):
+        (gl::Program::Program):
+        (gl::Program::~Program):
+        (gl::Program::attachShader):
+        (gl::Program::detachShader):
+        (gl::Program::getAttachedShadersCount):
+        (gl::AttributeBindings::bindAttributeLocation):
+        (gl::Program::bindAttributeLocation):
+        (gl::Program::link):
+        (gl::AttributeBindings::getAttributeBinding):
+        (gl::Program::unlink):
+        (gl::Program::isLinked):
+        (gl::Program::getProgramBinary):
+        (gl::Program::setProgramBinary):
+        (gl::Program::release):
+        (gl::Program::addRef):
+        (gl::Program::getRefCount):
+        (gl::Program::getProgramBinaryLength):
+        (gl::Program::getInfoLogLength):
+        (gl::Program::getInfoLog):
+        (gl::Program::getAttachedShaders):
+        (gl::Program::getActiveAttribute):
+        (gl::Program::getActiveAttributeCount):
+        (gl::Program::getActiveAttributeMaxLength):
+        (gl::Program::getActiveUniform):
+        (gl::Program::getActiveUniformCount):
+        (gl::Program::getActiveUniformMaxLength):
+        (gl::Program::flagForDeletion):
+        (gl::Program::isFlaggedForDeletion):
+        (gl::Program::validate):
+        (gl::Program::isValidated):
+        * src/libGLESv2/Program.h: Added.
+        * src/libGLESv2/ProgramBinary.cpp: Added.
+        (gl::str):
+        (gl::UniformLocation::UniformLocation):
+        (gl::ProgramBinary::ProgramBinary):
+        (gl::ProgramBinary::~ProgramBinary):
+        (gl::ProgramBinary::getSerial):
+        (gl::ProgramBinary::issueSerial):
+        (gl::ProgramBinary::getPixelExecutable):
+        (gl::ProgramBinary::getVertexExecutable):
+        (gl::ProgramBinary::getGeometryExecutable):
+        (gl::ProgramBinary::getAttributeLocation):
+        (gl::ProgramBinary::getSemanticIndex):
+        (gl::ProgramBinary::getUsedSamplerRange):
+        (gl::ProgramBinary::usesPointSize):
+        (gl::ProgramBinary::usesPointSpriteEmulation):
+        (gl::ProgramBinary::usesGeometryShader):
+        (gl::ProgramBinary::getSamplerMapping):
+        (gl::ProgramBinary::getSamplerTextureType):
+        (gl::ProgramBinary::getUniformLocation):
+        (gl::ProgramBinary::setUniform1fv):
+        (gl::ProgramBinary::setUniform2fv):
+        (gl::ProgramBinary::setUniform3fv):
+        (gl::ProgramBinary::setUniform4fv):
+        (gl::transposeMatrix):
+        (gl::ProgramBinary::setUniformMatrix2fv):
+        (gl::ProgramBinary::setUniformMatrix3fv):
+        (gl::ProgramBinary::setUniformMatrix4fv):
+        (gl::ProgramBinary::setUniform1iv):
+        (gl::ProgramBinary::setUniform2iv):
+        (gl::ProgramBinary::setUniform3iv):
+        (gl::ProgramBinary::setUniform4iv):
+        (gl::ProgramBinary::getUniformfv):
+        (gl::ProgramBinary::getUniformiv):
+        (gl::ProgramBinary::dirtyAllUniforms):
+        (gl::ProgramBinary::applyUniforms):
+        (gl::ProgramBinary::packVaryings):
+        (gl::ProgramBinary::linkVaryings):
+        (gl::ProgramBinary::load):
+        (gl::ProgramBinary::save):
+        (gl::ProgramBinary::getLength):
+        (gl::ProgramBinary::link):
+        (gl::ProgramBinary::linkAttributes):
+        (gl::ProgramBinary::linkUniforms):
+        (gl::ProgramBinary::defineUniform):
+        (gl::ProgramBinary::generateGeometryShaderHLSL):
+        (gl::ProgramBinary::generatePointSpriteHLSL):
+        (gl::ProgramBinary::decorateAttribute):
+        (gl::ProgramBinary::isValidated):
+        (gl::ProgramBinary::getActiveAttribute):
+        (gl::ProgramBinary::getActiveAttributeCount):
+        (gl::ProgramBinary::getActiveAttributeMaxLength):
+        (gl::ProgramBinary::getActiveUniform):
+        (gl::ProgramBinary::getActiveUniformCount):
+        (gl::ProgramBinary::getActiveUniformMaxLength):
+        (gl::ProgramBinary::validate):
+        (gl::ProgramBinary::validateSamplers):
+        (gl::ProgramBinary::Sampler::Sampler):
+        (gl::AttributeSorter::AttributeSorter):
+        (gl::AttributeSorter::operator()):
+        (gl::ProgramBinary::sortAttributesByLayout):
+        * src/libGLESv2/ProgramBinary.h: Added.
+        (gl::UniformLocation::UniformLocation):
+        * src/libGLESv2/Query.cpp: Added.
+        (gl::Query::Query):
+        (gl::Query::~Query):
+        (gl::Query::begin):
+        (gl::Query::end):
+        (gl::Query::getResult):
+        (gl::Query::isResultAvailable):
+        (gl::Query::getType):
+        * src/libGLESv2/Query.h: Added.
+        * src/libGLESv2/Renderbuffer.cpp: Added.
+        (gl::RenderbufferInterface::RenderbufferInterface):
+        (gl::RenderbufferInterface::addProxyRef):
+        (gl::RenderbufferInterface::releaseProxy):
+        (gl::RenderbufferInterface::getRedSize):
+        (gl::RenderbufferInterface::getGreenSize):
+        (gl::RenderbufferInterface::getBlueSize):
+        (gl::RenderbufferInterface::getAlphaSize):
+        (gl::RenderbufferInterface::getDepthSize):
+        (gl::RenderbufferInterface::getStencilSize):
+        (gl::RenderbufferTexture2D::RenderbufferTexture2D):
+        (gl::RenderbufferTexture2D::~RenderbufferTexture2D):
+        (gl::RenderbufferTexture2D::addProxyRef):
+        (gl::RenderbufferTexture2D::releaseProxy):
+        (gl::RenderbufferTexture2D::getRenderTarget):
+        (gl::RenderbufferTexture2D::getDepthStencil):
+        (gl::RenderbufferTexture2D::getWidth):
+        (gl::RenderbufferTexture2D::getHeight):
+        (gl::RenderbufferTexture2D::getInternalFormat):
+        (gl::RenderbufferTexture2D::getActualFormat):
+        (gl::RenderbufferTexture2D::getSamples):
+        (gl::RenderbufferTexture2D::getSerial):
+        (gl::RenderbufferTextureCubeMap::RenderbufferTextureCubeMap):
+        (gl::RenderbufferTextureCubeMap::~RenderbufferTextureCubeMap):
+        (gl::RenderbufferTextureCubeMap::addProxyRef):
+        (gl::RenderbufferTextureCubeMap::releaseProxy):
+        (gl::RenderbufferTextureCubeMap::getRenderTarget):
+        (gl::RenderbufferTextureCubeMap::getDepthStencil):
+        (gl::RenderbufferTextureCubeMap::getWidth):
+        (gl::RenderbufferTextureCubeMap::getHeight):
+        (gl::RenderbufferTextureCubeMap::getInternalFormat):
+        (gl::RenderbufferTextureCubeMap::getActualFormat):
+        (gl::RenderbufferTextureCubeMap::getSamples):
+        (gl::RenderbufferTextureCubeMap::getSerial):
+        (gl::Renderbuffer::Renderbuffer):
+        (gl::Renderbuffer::~Renderbuffer):
+        (gl::Renderbuffer::addRef):
+        (gl::Renderbuffer::release):
+        (gl::Renderbuffer::getRenderTarget):
+        (gl::Renderbuffer::getDepthStencil):
+        (gl::Renderbuffer::getWidth):
+        (gl::Renderbuffer::getHeight):
+        (gl::Renderbuffer::getInternalFormat):
+        (gl::Renderbuffer::getActualFormat):
+        (gl::Renderbuffer::getRedSize):
+        (gl::Renderbuffer::getGreenSize):
+        (gl::Renderbuffer::getBlueSize):
+        (gl::Renderbuffer::getAlphaSize):
+        (gl::Renderbuffer::getDepthSize):
+        (gl::Renderbuffer::getStencilSize):
+        (gl::Renderbuffer::getSamples):
+        (gl::Renderbuffer::getSerial):
+        (gl::Renderbuffer::setStorage):
+        (gl::RenderbufferStorage::RenderbufferStorage):
+        (gl::RenderbufferStorage::~RenderbufferStorage):
+        (gl::RenderbufferStorage::getRenderTarget):
+        (gl::RenderbufferStorage::getDepthStencil):
+        (gl::RenderbufferStorage::getWidth):
+        (gl::RenderbufferStorage::getHeight):
+        (gl::RenderbufferStorage::getInternalFormat):
+        (gl::RenderbufferStorage::getActualFormat):
+        (gl::RenderbufferStorage::getSamples):
+        (gl::RenderbufferStorage::getSerial):
+        (gl::RenderbufferStorage::issueSerial):
+        (gl::RenderbufferStorage::issueCubeSerials):
+        (gl::Colorbuffer::Colorbuffer):
+        (gl::Colorbuffer::~Colorbuffer):
+        (gl::Colorbuffer::getRenderTarget):
+        (gl::DepthStencilbuffer::DepthStencilbuffer):
+        (gl::DepthStencilbuffer::~DepthStencilbuffer):
+        (gl::DepthStencilbuffer::getDepthStencil):
+        (gl::Depthbuffer::Depthbuffer):
+        (gl::Depthbuffer::~Depthbuffer):
+        (gl::Stencilbuffer::Stencilbuffer):
+        (gl::Stencilbuffer::~Stencilbuffer):
+        * src/libGLESv2/Renderbuffer.h: Added.
+        (gl::RenderbufferInterface::~RenderbufferInterface):
+        * src/libGLESv2/ResourceManager.cpp: Added.
+        (gl::ResourceManager::ResourceManager):
+        (gl::ResourceManager::~ResourceManager):
+        (gl::ResourceManager::addRef):
+        (gl::ResourceManager::release):
+        (gl::ResourceManager::createBuffer):
+        (gl::ResourceManager::createShader):
+        (gl::ResourceManager::createProgram):
+        (gl::ResourceManager::createTexture):
+        (gl::ResourceManager::createRenderbuffer):
+        (gl::ResourceManager::deleteBuffer):
+        (gl::ResourceManager::deleteShader):
+        (gl::ResourceManager::deleteProgram):
+        (gl::ResourceManager::deleteTexture):
+        (gl::ResourceManager::deleteRenderbuffer):
+        (gl::ResourceManager::getBuffer):
+        (gl::ResourceManager::getShader):
+        (gl::ResourceManager::getTexture):
+        (gl::ResourceManager::getProgram):
+        (gl::ResourceManager::getRenderbuffer):
+        (gl::ResourceManager::setRenderbuffer):
+        (gl::ResourceManager::checkBufferAllocation):
+        (gl::ResourceManager::checkTextureAllocation):
+        (gl::ResourceManager::checkRenderbufferAllocation):
+        * src/libGLESv2/ResourceManager.h: Added.
+        * src/libGLESv2/Shader.cpp: Added.
+        (gl::Shader::Shader):
+        (gl::Shader::~Shader):
+        (gl::Shader::getHandle):
+        (gl::Shader::setSource):
+        (gl::Shader::getInfoLogLength):
+        (gl::Shader::getInfoLog):
+        (gl::Shader::getSourceLength):
+        (gl::Shader::getTranslatedSourceLength):
+        (gl::Shader::getSourceImpl):
+        (gl::Shader::getSource):
+        (gl::Shader::getTranslatedSource):
+        (gl::Shader::getUniforms):
+        (gl::Shader::isCompiled):
+        (gl::Shader::getHLSL):
+        (gl::Shader::addRef):
+        (gl::Shader::release):
+        (gl::Shader::getRefCount):
+        (gl::Shader::isFlaggedForDeletion):
+        (gl::Shader::flagForDeletion):
+        (gl::Shader::initializeCompiler):
+        (gl::Shader::releaseCompiler):
+        (gl::Shader::parseVaryings):
+        (gl::Shader::resetVaryingsRegisterAssignment):
+        (gl::Shader::uncompile):
+        (gl::Shader::compileToHLSL):
+        (gl::Shader::parseType):
+        (gl::Shader::compareVarying):
+        (gl::VertexShader::VertexShader):
+        (gl::VertexShader::~VertexShader):
+        (gl::VertexShader::getType):
+        (gl::VertexShader::uncompile):
+        (gl::VertexShader::compile):
+        (gl::VertexShader::getSemanticIndex):
+        (gl::VertexShader::parseAttributes):
+        (gl::FragmentShader::FragmentShader):
+        (gl::FragmentShader::~FragmentShader):
+        (gl::FragmentShader::getType):
+        (gl::FragmentShader::compile):
+        * src/libGLESv2/Shader.h: Added.
+        (gl::Varying::Varying):
+        (gl::Attribute::Attribute):
+        * src/libGLESv2/Texture.cpp: Added.
+        (gl::Texture::Texture):
+        (gl::Texture::~Texture):
+        (gl::Texture::setMinFilter):
+        (gl::Texture::setMagFilter):
+        (gl::Texture::setWrapS):
+        (gl::Texture::setWrapT):
+        (gl::Texture::setMaxAnisotropy):
+        (gl::Texture::setUsage):
+        (gl::Texture::getMinFilter):
+        (gl::Texture::getMagFilter):
+        (gl::Texture::getWrapS):
+        (gl::Texture::getWrapT):
+        (gl::Texture::getMaxAnisotropy):
+        (gl::Texture::getLodOffset):
+        (gl::Texture::getSamplerState):
+        (gl::Texture::getUsage):
+        (gl::Texture::isMipmapFiltered):
+        (gl::Texture::setImage):
+        (gl::Texture::setCompressedImage):
+        (gl::Texture::subImage):
+        (gl::Texture::subImageCompressed):
+        (gl::Texture::getNativeTexture):
+        (gl::Texture::hasDirtyImages):
+        (gl::Texture::resetDirty):
+        (gl::Texture::getTextureSerial):
+        (gl::Texture::getRenderTargetSerial):
+        (gl::Texture::isImmutable):
+        (gl::Texture::creationLevels):
+        (gl::Texture2D::Texture2D):
+        (gl::Texture2D::~Texture2D):
+        (gl::Texture2D::addProxyRef):
+        (gl::Texture2D::releaseProxy):
+        (gl::Texture2D::getTarget):
+        (gl::Texture2D::getWidth):
+        (gl::Texture2D::getHeight):
+        (gl::Texture2D::getInternalFormat):
+        (gl::Texture2D::getActualFormat):
+        (gl::Texture2D::redefineImage):
+        (gl::Texture2D::setImage):
+        (gl::Texture2D::bindTexImage):
+        (gl::Texture2D::releaseTexImage):
+        (gl::Texture2D::setCompressedImage):
+        (gl::Texture2D::commitRect):
+        (gl::Texture2D::subImage):
+        (gl::Texture2D::subImageCompressed):
+        (gl::Texture2D::copyImage):
+        (gl::Texture2D::copySubImage):
+        (gl::Texture2D::storage):
+        (gl::Texture2D::isSamplerComplete):
+        (gl::Texture2D::isMipmapComplete):
+        (gl::Texture2D::isCompressed):
+        (gl::Texture2D::isDepth):
+        (gl::Texture2D::createTexture):
+        (gl::Texture2D::updateTexture):
+        (gl::Texture2D::convertToRenderTarget):
+        (gl::Texture2D::generateMipmaps):
+        (gl::Texture2D::getRenderbuffer):
+        (gl::Texture2D::getRenderTarget):
+        (gl::Texture2D::getDepthStencil):
+        (gl::Texture2D::levelCount):
+        (gl::Texture2D::getStorage):
+        (gl::TextureCubeMap::TextureCubeMap):
+        (gl::TextureCubeMap::~TextureCubeMap):
+        (gl::TextureCubeMap::addProxyRef):
+        (gl::TextureCubeMap::releaseProxy):
+        (gl::TextureCubeMap::getTarget):
+        (gl::TextureCubeMap::getWidth):
+        (gl::TextureCubeMap::getHeight):
+        (gl::TextureCubeMap::getInternalFormat):
+        (gl::TextureCubeMap::getActualFormat):
+        (gl::TextureCubeMap::setImagePosX):
+        (gl::TextureCubeMap::setImageNegX):
+        (gl::TextureCubeMap::setImagePosY):
+        (gl::TextureCubeMap::setImageNegY):
+        (gl::TextureCubeMap::setImagePosZ):
+        (gl::TextureCubeMap::setImageNegZ):
+        (gl::TextureCubeMap::setCompressedImage):
+        (gl::TextureCubeMap::commitRect):
+        (gl::TextureCubeMap::subImage):
+        (gl::TextureCubeMap::subImageCompressed):
+        (gl::TextureCubeMap::isSamplerComplete):
+        (gl::TextureCubeMap::isCubeComplete):
+        (gl::TextureCubeMap::isMipmapCubeComplete):
+        (gl::TextureCubeMap::isCompressed):
+        (gl::TextureCubeMap::createTexture):
+        (gl::TextureCubeMap::updateTexture):
+        (gl::TextureCubeMap::convertToRenderTarget):
+        (gl::TextureCubeMap::setImage):
+        (gl::TextureCubeMap::faceIndex):
+        (gl::TextureCubeMap::redefineImage):
+        (gl::TextureCubeMap::copyImage):
+        (gl::TextureCubeMap::copySubImage):
+        (gl::TextureCubeMap::storage):
+        (gl::TextureCubeMap::generateMipmaps):
+        (gl::TextureCubeMap::getRenderbuffer):
+        (gl::TextureCubeMap::getRenderTarget):
+        (gl::TextureCubeMap::levelCount):
+        (gl::TextureCubeMap::getStorage):
+        * src/libGLESv2/Texture.h: Added.
+        * src/libGLESv2/Uniform.cpp: Added.
+        (gl::Uniform::Uniform):
+        (gl::Uniform::~Uniform):
+        (gl::Uniform::isArray):
+        (gl::Uniform::elementCount):
+        * src/libGLESv2/Uniform.h: Added.
+        * src/libGLESv2/angletypes.h: Added.
+        * src/libGLESv2/constants.h: Added.
+        * src/libGLESv2/libGLESv2.cpp: Added.
+        (validImageSize):
+        (checkTextureFormatType):
+        (validateSubImageParams2D):
+        (validateSubImageParamsCube):
+        (validReadFormatType):
+        * src/libGLESv2/libGLESv2.def: Added.
+        * src/libGLESv2/libGLESv2.rc: Added.
+        * src/libGLESv2/libGLESv2.vcxproj: Added.
+        * src/libGLESv2/libGLESv2.vcxproj.filters: Added.
+        * src/libGLESv2/main.cpp: Added.
+        (DllMain):
+        (gl::makeCurrent):
+        (gl::getContext):
+        (gl::getNonLostContext):
+        (gl::getDisplay):
+        (gl::error):
+        * src/libGLESv2/main.h: Added.
+        (gl::error):
+        * src/libGLESv2/mathutil.h: Added.
+        (gl::Vector4::Vector4):
+        (gl::isPow2):
+        (gl::log2):
+        (gl::ceilPow2):
+        (gl::clamp):
+        (gl::clamp01):
+        (gl::unorm):
+        (gl::supportsSSE2):
+        (gl::float32ToFloat16):
+        (rx::Range::Range):
+        * src/libGLESv2/precompiled.cpp: Added.
+        * src/libGLESv2/precompiled.h: Added.
+        * src/libGLESv2/renderer: Added.
+        * src/libGLESv2/renderer/Blit.cpp: Added.
+        (rx::Blit::Blit):
+        (rx::Blit::~Blit):
+        (rx::Blit::initGeometry):
+        (rx::Blit::setShader):
+        (rx::Blit::setVertexShader):
+        (rx::Blit::setPixelShader):
+        (rx::Blit::getSurfaceRect):
+        (rx::Blit::boxFilter):
+        (rx::Blit::copy):
+        (rx::Blit::formatConvert):
+        (rx::Blit::setFormatConvertShaders):
+        (rx::Blit::copySurfaceToTexture):
+        (rx::Blit::setViewport):
+        (rx::Blit::setCommonBlitState):
+        (rx::Blit::render):
+        (rx::Blit::saveState):
+        (rx::Blit::restoreState):
+        * src/libGLESv2/renderer/Blit.h: Added.
+        * src/libGLESv2/renderer/BufferStorage.cpp: Added.
+        (rx::BufferStorage::BufferStorage):
+        (rx::BufferStorage::~BufferStorage):
+        (rx::BufferStorage::getSerial):
+        (rx::BufferStorage::updateSerial):
+        (rx::BufferStorage::markBufferUsage):
+        * src/libGLESv2/renderer/BufferStorage.h: Added.
+        * src/libGLESv2/renderer/BufferStorage11.cpp: Added.
+        (rx::BufferStorage11::BufferStorage11):
+        (rx::BufferStorage11::~BufferStorage11):
+        (rx::BufferStorage11::makeBufferStorage11):
+        (rx::BufferStorage11::getData):
+        (rx::BufferStorage11::setData):
+        (rx::BufferStorage11::clear):
+        (rx::BufferStorage11::getSize):
+        (rx::BufferStorage11::supportsDirectBinding):
+        (rx::BufferStorage11::markBufferUsage):
+        (rx::BufferStorage11::getBuffer):
+        * src/libGLESv2/renderer/BufferStorage11.h: Added.
+        * src/libGLESv2/renderer/BufferStorage9.cpp: Added.
+        (rx::BufferStorage9::BufferStorage9):
+        (rx::BufferStorage9::~BufferStorage9):
+        (rx::BufferStorage9::makeBufferStorage9):
+        (rx::BufferStorage9::getData):
+        (rx::BufferStorage9::setData):
+        (rx::BufferStorage9::clear):
+        (rx::BufferStorage9::getSize):
+        (rx::BufferStorage9::supportsDirectBinding):
+        * src/libGLESv2/renderer/BufferStorage9.h: Added.
+        * src/libGLESv2/renderer/Fence11.cpp: Added.
+        (rx::Fence11::Fence11):
+        (rx::Fence11::~Fence11):
+        (rx::Fence11::isFence):
+        (rx::Fence11::setFence):
+        (rx::Fence11::testFence):
+        (rx::Fence11::finishFence):
+        (rx::Fence11::getFenceiv):
+        * src/libGLESv2/renderer/Fence11.h: Added.
+        * src/libGLESv2/renderer/Fence9.cpp: Added.
+        (rx::Fence9::Fence9):
+        (rx::Fence9::~Fence9):
+        (rx::Fence9::isFence):
+        (rx::Fence9::setFence):
+        (rx::Fence9::testFence):
+        (rx::Fence9::finishFence):
+        (rx::Fence9::getFenceiv):
+        * src/libGLESv2/renderer/Fence9.h: Added.
+        * src/libGLESv2/renderer/FenceImpl.h: Added.
+        (rx::FenceImpl::FenceImpl):
+        (rx::FenceImpl::~FenceImpl):
+        (rx::FenceImpl::setStatus):
+        (rx::FenceImpl::getStatus):
+        (rx::FenceImpl::setCondition):
+        (rx::FenceImpl::getCondition):
+        * src/libGLESv2/renderer/Image.cpp: Added.
+        (rx::Image::Image):
+        (rx::Image::loadAlphaDataToBGRA):
+        (rx::Image::loadAlphaDataToNative):
+        (rx::Image::loadAlphaFloatDataToRGBA):
+        (rx::Image::loadAlphaHalfFloatDataToRGBA):
+        (rx::Image::loadLuminanceDataToNativeOrBGRA):
+        (rx::Image::loadLuminanceFloatDataToRGBA):
+        (rx::Image::loadLuminanceFloatDataToRGB):
+        (rx::Image::loadLuminanceHalfFloatDataToRGBA):
+        (rx::Image::loadLuminanceAlphaDataToNativeOrBGRA):
+        (rx::Image::loadLuminanceAlphaFloatDataToRGBA):
+        (rx::Image::loadLuminanceAlphaHalfFloatDataToRGBA):
+        (rx::Image::loadRGBUByteDataToBGRX):
+        (rx::Image::loadRGBUByteDataToRGBA):
+        (rx::Image::loadRGB565DataToBGRA):
+        (rx::Image::loadRGB565DataToRGBA):
+        (rx::Image::loadRGBFloatDataToRGBA):
+        (rx::Image::loadRGBFloatDataToNative):
+        (rx::Image::loadRGBHalfFloatDataToRGBA):
+        (rx::Image::loadRGBAUByteDataToBGRA):
+        (rx::Image::loadRGBAUByteDataToNative):
+        (rx::Image::loadRGBA4444DataToBGRA):
+        (rx::Image::loadRGBA4444DataToRGBA):
+        (rx::Image::loadRGBA5551DataToBGRA):
+        (rx::Image::loadRGBA5551DataToRGBA):
+        (rx::Image::loadRGBAFloatDataToRGBA):
+        (rx::Image::loadRGBAHalfFloatDataToRGBA):
+        (rx::Image::loadBGRADataToBGRA):
+        * src/libGLESv2/renderer/Image.h: Added.
+        (rx::Image::~Image):
+        (rx::Image::getWidth):
+        (rx::Image::getHeight):
+        (rx::Image::getInternalFormat):
+        (rx::Image::getActualFormat):
+        (rx::Image::markDirty):
+        (rx::Image::markClean):
+        (rx::Image::setManagedSurface):
+        * src/libGLESv2/renderer/Image11.cpp: Added.
+        (rx::Image11::Image11):
+        (rx::Image11::~Image11):
+        (rx::Image11::makeImage11):
+        (rx::Image11::generateMipmap):
+        (rx::Image11::isDirty):
+        (rx::Image11::updateSurface):
+        (rx::Image11::redefine):
+        (rx::Image11::isRenderableFormat):
+        (rx::Image11::getDXGIFormat):
+        (rx::Image11::loadData):
+        (rx::Image11::loadCompressedData):
+        (rx::Image11::copy):
+        (rx::Image11::getStagingTexture):
+        (rx::Image11::getStagingSubresource):
+        (rx::Image11::createStagingTexture):
+        (rx::Image11::map):
+        (rx::Image11::unmap):
+        * src/libGLESv2/renderer/Image11.h: Added.
+        * src/libGLESv2/renderer/Image9.cpp: Added.
+        (rx::Image9::Image9):
+        (rx::Image9::~Image9):
+        (rx::Image9::generateMip):
+        (rx::Image9::makeImage9):
+        (rx::Image9::generateMipmap):
+        (rx::Image9::copyLockableSurfaces):
+        (rx::Image9::redefine):
+        (rx::Image9::createSurface):
+        (rx::Image9::lock):
+        (rx::Image9::unlock):
+        (rx::Image9::isRenderableFormat):
+        (rx::Image9::getD3DFormat):
+        (rx::Image9::getSurface):
+        (rx::Image9::setManagedSurface):
+        (rx::Image9::updateSurface):
+        (rx::Image9::loadData):
+        (rx::Image9::loadCompressedData):
+        (rx::Image9::copy):
+        * src/libGLESv2/renderer/Image9.h: Added.
+        (rx::Image9::isDirty):
+        * src/libGLESv2/renderer/ImageSSE2.cpp: Added.
+        (rx::Image::loadRGBAUByteDataToBGRASSE2):
+        (rx::Image::loadAlphaDataToBGRASSE2):
+        * src/libGLESv2/renderer/IndexBuffer.cpp: Added.
+        (rx::IndexBuffer::IndexBuffer):
+        (rx::IndexBuffer::~IndexBuffer):
+        (rx::IndexBuffer::getSerial):
+        (rx::IndexBuffer::updateSerial):
+        (rx::IndexBufferInterface::IndexBufferInterface):
+        (rx::IndexBufferInterface::~IndexBufferInterface):
+        (rx::IndexBufferInterface::getIndexType):
+        (rx::IndexBufferInterface::getBufferSize):
+        (rx::IndexBufferInterface::getSerial):
+        (rx::IndexBufferInterface::mapBuffer):
+        (rx::IndexBufferInterface::unmapBuffer):
+        (rx::IndexBufferInterface::getIndexBuffer):
+        (rx::IndexBufferInterface::getWritePosition):
+        (rx::IndexBufferInterface::setWritePosition):
+        (rx::IndexBufferInterface::discard):
+        (rx::IndexBufferInterface::setBufferSize):
+        (rx::StreamingIndexBufferInterface::StreamingIndexBufferInterface):
+        (rx::StreamingIndexBufferInterface::~StreamingIndexBufferInterface):
+        (rx::StreamingIndexBufferInterface::reserveBufferSpace):
+        (rx::StaticIndexBufferInterface::StaticIndexBufferInterface):
+        (rx::StaticIndexBufferInterface::~StaticIndexBufferInterface):
+        (rx::StaticIndexBufferInterface::reserveBufferSpace):
+        (rx::StaticIndexBufferInterface::lookupRange):
+        (rx::StaticIndexBufferInterface::addRange):
+        * src/libGLESv2/renderer/IndexBuffer.h: Added.
+        (rx::StaticIndexBufferInterface::IndexRange::operator<):
+        * src/libGLESv2/renderer/IndexBuffer11.cpp: Added.
+        (rx::IndexBuffer11::IndexBuffer11):
+        (rx::IndexBuffer11::~IndexBuffer11):
+        (rx::IndexBuffer11::initialize):
+        (rx::IndexBuffer11::makeIndexBuffer11):
+        (rx::IndexBuffer11::mapBuffer):
+        (rx::IndexBuffer11::unmapBuffer):
+        (rx::IndexBuffer11::getIndexType):
+        (rx::IndexBuffer11::getBufferSize):
+        (rx::IndexBuffer11::setSize):
+        (rx::IndexBuffer11::discard):
+        (rx::IndexBuffer11::getIndexFormat):
+        (rx::IndexBuffer11::getBuffer):
+        * src/libGLESv2/renderer/IndexBuffer11.h: Added.
+        * src/libGLESv2/renderer/IndexBuffer9.cpp: Added.
+        (rx::IndexBuffer9::IndexBuffer9):
+        (rx::IndexBuffer9::~IndexBuffer9):
+        (rx::IndexBuffer9::initialize):
+        (rx::IndexBuffer9::makeIndexBuffer9):
+        (rx::IndexBuffer9::mapBuffer):
+        (rx::IndexBuffer9::unmapBuffer):
+        (rx::IndexBuffer9::getIndexType):
+        (rx::IndexBuffer9::getBufferSize):
+        (rx::IndexBuffer9::setSize):
+        (rx::IndexBuffer9::discard):
+        (rx::IndexBuffer9::getIndexFormat):
+        (rx::IndexBuffer9::getBuffer):
+        * src/libGLESv2/renderer/IndexBuffer9.h: Added.
+        * src/libGLESv2/renderer/IndexDataManager.cpp: Added.
+        (rx::IndexDataManager::IndexDataManager):
+        (rx::IndexDataManager::~IndexDataManager):
+        (rx::indexTypeSize):
+        (rx::convertIndices):
+        (rx::computeRange):
+        (rx::IndexDataManager::prepareIndexData):
+        (rx::IndexDataManager::getCountingIndices):
+        * src/libGLESv2/renderer/IndexDataManager.h: Added.
+        * src/libGLESv2/renderer/InputLayoutCache.cpp: Added.
+        (rx::InputLayoutCache::InputLayoutCache):
+        (rx::InputLayoutCache::~InputLayoutCache):
+        (rx::InputLayoutCache::initialize):
+        (rx::InputLayoutCache::clear):
+        (rx::InputLayoutCache::applyVertexBuffers):
+        (rx::InputLayoutCache::hashInputLayout):
+        (rx::InputLayoutCache::compareInputLayouts):
+        * src/libGLESv2/renderer/InputLayoutCache.h: Added.
+        * src/libGLESv2/renderer/Query11.cpp: Added.
+        (rx::Query11::Query11):
+        (rx::Query11::~Query11):
+        (rx::Query11::begin):
+        (rx::Query11::end):
+        (rx::Query11::getResult):
+        (rx::Query11::isResultAvailable):
+        (rx::Query11::testQuery):
+        * src/libGLESv2/renderer/Query11.h: Added.
+        * src/libGLESv2/renderer/Query9.cpp: Added.
+        (rx::Query9::Query9):
+        (rx::Query9::~Query9):
+        (rx::Query9::begin):
+        (rx::Query9::end):
+        (rx::Query9::getResult):
+        (rx::Query9::isResultAvailable):
+        (rx::Query9::testQuery):
+        * src/libGLESv2/renderer/Query9.h: Added.
+        * src/libGLESv2/renderer/QueryImpl.h: Added.
+        (rx::QueryImpl::QueryImpl):
+        (rx::QueryImpl::~QueryImpl):
+        (rx::QueryImpl::getType):
+        * src/libGLESv2/renderer/RenderStateCache.cpp: Added.
+        (rx::RenderStateCache::RenderStateCache):
+        (rx::RenderStateCache::~RenderStateCache):
+        (rx::RenderStateCache::initialize):
+        (rx::RenderStateCache::clear):
+        (rx::RenderStateCache::hashBlendState):
+        (rx::RenderStateCache::compareBlendStates):
+        (rx::RenderStateCache::getBlendState):
+        (rx::RenderStateCache::hashRasterizerState):
+        (rx::RenderStateCache::compareRasterizerStates):
+        (rx::RenderStateCache::getRasterizerState):
+        (rx::RenderStateCache::hashDepthStencilState):
+        (rx::RenderStateCache::compareDepthStencilStates):
+        (rx::RenderStateCache::getDepthStencilState):
+        (rx::RenderStateCache::hashSamplerState):
+        (rx::RenderStateCache::compareSamplerStates):
+        (rx::RenderStateCache::getSamplerState):
+        * src/libGLESv2/renderer/RenderStateCache.h: Added.
+        * src/libGLESv2/renderer/RenderTarget.h: Added.
+        (rx::RenderTarget::RenderTarget):
+        (rx::RenderTarget::~RenderTarget):
+        (rx::RenderTarget::getWidth):
+        (rx::RenderTarget::getHeight):
+        (rx::RenderTarget::getInternalFormat):
+        (rx::RenderTarget::getActualFormat):
+        (rx::RenderTarget::getSamples):
+        * src/libGLESv2/renderer/RenderTarget11.cpp: Added.
+        (rx::getRTVSubresourceIndex):
+        (rx::getDSVSubresourceIndex):
+        (rx::RenderTarget11::RenderTarget11):
+        (rx::RenderTarget11::~RenderTarget11):
+        (rx::RenderTarget11::makeRenderTarget11):
+        (rx::RenderTarget11::getTexture):
+        (rx::RenderTarget11::getRenderTargetView):
+        (rx::RenderTarget11::getDepthStencilView):
+        (rx::RenderTarget11::getShaderResourceView):
+        (rx::RenderTarget11::getSubresourceIndex):
+        * src/libGLESv2/renderer/RenderTarget11.h: Added.
+        * src/libGLESv2/renderer/RenderTarget9.cpp: Added.
+        (rx::RenderTarget9::RenderTarget9):
+        (rx::RenderTarget9::~RenderTarget9):
+        (rx::RenderTarget9::makeRenderTarget9):
+        (rx::RenderTarget9::getSurface):
+        * src/libGLESv2/renderer/RenderTarget9.h: Added.
+        * src/libGLESv2/renderer/Renderer.cpp: Added.
+        (rx::Renderer::Renderer):
+        (rx::Renderer::~Renderer):
+        (rx::Renderer::initializeCompiler):
+        (rx::Renderer::compileToBinary):
+        * src/libGLESv2/renderer/Renderer.h: Added.
+        (getComparableOSVersion):
+        (rx::Renderer::getVertexTextureSupport):
+        * src/libGLESv2/renderer/Renderer11.cpp: Added.
+        (rx::Renderer11::Renderer11):
+        (rx::Renderer11::~Renderer11):
+        (rx::Renderer11::makeRenderer11):
+        (rx::Renderer11::initialize):
+        (rx::Renderer11::initializeDevice):
+        (rx::Renderer11::generateConfigs):
+        (rx::Renderer11::deleteConfigs):
+        (rx::Renderer11::sync):
+        (rx::Renderer11::createSwapChain):
+        (rx::Renderer11::setSamplerState):
+        (rx::Renderer11::setTexture):
+        (rx::Renderer11::setRasterizerState):
+        (rx::Renderer11::setBlendState):
+        (rx::Renderer11::setDepthStencilState):
+        (rx::Renderer11::setScissorRectangle):
+        (rx::Renderer11::setViewport):
+        (rx::Renderer11::applyPrimitiveType):
+        (rx::Renderer11::applyRenderTarget):
+        (rx::Renderer11::applyVertexBuffer):
+        (rx::Renderer11::applyIndexBuffer):
+        (rx::Renderer11::drawArrays):
+        (rx::Renderer11::drawElements):
+        (rx::Renderer11::drawLineLoop):
+        (rx::Renderer11::drawTriangleFan):
+        (rx::Renderer11::applyShaders):
+        (rx::Renderer11::applyUniforms):
+        (rx::Renderer11::clear):
+        (rx::Renderer11::maskedClear):
+        (rx::Renderer11::markAllStateDirty):
+        (rx::Renderer11::releaseDeviceResources):
+        (rx::Renderer11::notifyDeviceLost):
+        (rx::Renderer11::isDeviceLost):
+        (rx::Renderer11::testDeviceLost):
+        (rx::Renderer11::testDeviceResettable):
+        (rx::Renderer11::release):
+        (rx::Renderer11::resetDevice):
+        (rx::Renderer11::getAdapterVendor):
+        (rx::Renderer11::getRendererDescription):
+        (rx::Renderer11::getAdapterIdentifier):
+        (rx::Renderer11::getBGRATextureSupport):
+        (rx::Renderer11::getDXT1TextureSupport):
+        (rx::Renderer11::getDXT3TextureSupport):
+        (rx::Renderer11::getDXT5TextureSupport):
+        (rx::Renderer11::getDepthTextureSupport):
+        (rx::Renderer11::getFloat32TextureSupport):
+        (rx::Renderer11::getFloat16TextureSupport):
+        (rx::Renderer11::getLuminanceTextureSupport):
+        (rx::Renderer11::getLuminanceAlphaTextureSupport):
+        (rx::Renderer11::getTextureFilterAnisotropySupport):
+        (rx::Renderer11::getTextureMaxAnisotropy):
+        (rx::Renderer11::getEventQuerySupport):
+        (rx::Renderer11::getViewportBounds):
+        (rx::Renderer11::getMaxVertexTextureImageUnits):
+        (rx::Renderer11::getMaxCombinedTextureImageUnits):
+        (rx::Renderer11::getReservedVertexUniformVectors):
+        (rx::Renderer11::getReservedFragmentUniformVectors):
+        (rx::Renderer11::getMaxVertexUniformVectors):
+        (rx::Renderer11::getMaxFragmentUniformVectors):
+        (rx::Renderer11::getMaxVaryingVectors):
+        (rx::Renderer11::getNonPower2TextureSupport):
+        (rx::Renderer11::getOcclusionQuerySupport):
+        (rx::Renderer11::getInstancingSupport):
+        (rx::Renderer11::getShareHandleSupport):
+        (rx::Renderer11::getDerivativeInstructionSupport):
+        (rx::Renderer11::getPostSubBufferSupport):
+        (rx::Renderer11::getMajorShaderModel):
+        (rx::Renderer11::getMinorShaderModel):
+        (rx::Renderer11::getMaxPointSize):
+        (rx::Renderer11::getMaxViewportDimension):
+        (rx::Renderer11::getMaxTextureWidth):
+        (rx::Renderer11::getMaxTextureHeight):
+        (rx::Renderer11::get32BitIndexSupport):
+        (rx::Renderer11::getMinSwapInterval):
+        (rx::Renderer11::getMaxSwapInterval):
+        (rx::Renderer11::getMaxSupportedSamples):
+        (rx::Renderer11::getNearestSupportedSamples):
+        (rx::Renderer11::getMaxRenderTargets):
+        (rx::Renderer11::copyToRenderTarget):
+        (rx::Renderer11::copyImage):
+        (rx::Renderer11::copyTexture):
+        (rx::Renderer11::unapplyRenderTargets):
+        (rx::Renderer11::setOneTimeRenderTarget):
+        (rx::Renderer11::createRenderTarget):
+        (rx::Renderer11::loadExecutable):
+        (rx::Renderer11::compileToExecutable):
+        (rx::Renderer11::createVertexBuffer):
+        (rx::Renderer11::createIndexBuffer):
+        (rx::Renderer11::createBufferStorage):
+        (rx::Renderer11::createQuery):
+        (rx::Renderer11::createFence):
+        (rx::Renderer11::getRenderTargetResource):
+        (rx::Renderer11::blitRect):
+        (rx::Renderer11::readPixels):
+        (rx::Renderer11::createImage):
+        (rx::Renderer11::generateMipmap):
+        (rx::Renderer11::createTextureStorage2D):
+        (rx::Renderer11::createTextureStorageCube):
+        (rx::getFastPixelCopySize):
+        (rx::readPixelColor):
+        (rx::writePixelColor):
+        (rx::Renderer11::readTextureData):
+        (rx::Renderer11::blitRenderbufferRect):
+        (rx::Renderer11::resolveMultisampledTexture):
+        (rx::Renderer11::getLUID):
+        * src/libGLESv2/renderer/Renderer11.h: Added.
+        (rx::Renderer11::getDevice):
+        (rx::Renderer11::getDeviceContext):
+        (rx::Renderer11::getDxgiFactory):
+        * src/libGLESv2/renderer/Renderer9.cpp: Added.
+        (rx::Renderer9::Renderer9):
+        (rx::Renderer9::~Renderer9):
+        (rx::Renderer9::makeRenderer9):
+        (rx::Renderer9::initialize):
+        (rx::Renderer9::initializeDevice):
+        (rx::Renderer9::getDefaultPresentParameters):
+        (rx::Renderer9::generateConfigs):
+        (rx::Renderer9::deleteConfigs):
+        (rx::Renderer9::startScene):
+        (rx::Renderer9::endScene):
+        (rx::Renderer9::sync):
+        (rx::Renderer9::createSwapChain):
+        (rx::Renderer9::allocateEventQuery):
+        (rx::Renderer9::freeEventQuery):
+        (rx::Renderer9::createVertexShader):
+        (rx::Renderer9::createPixelShader):
+        (rx::Renderer9::createVertexBuffer):
+        (rx::Renderer9::createIndexBuffer):
+        (rx::Renderer9::createBufferStorage):
+        (rx::Renderer9::createQuery):
+        (rx::Renderer9::createFence):
+        (rx::Renderer9::setSamplerState):
+        (rx::Renderer9::setTexture):
+        (rx::Renderer9::setRasterizerState):
+        (rx::Renderer9::setBlendState):
+        (rx::Renderer9::setDepthStencilState):
+        (rx::Renderer9::setScissorRectangle):
+        (rx::Renderer9::setViewport):
+        (rx::Renderer9::applyPrimitiveType):
+        (rx::Renderer9::getNullColorbuffer):
+        (rx::Renderer9::applyRenderTarget):
+        (rx::Renderer9::applyVertexBuffer):
+        (rx::Renderer9::applyIndexBuffer):
+        (rx::Renderer9::drawArrays):
+        (rx::Renderer9::drawElements):
+        (rx::Renderer9::drawLineLoop):
+        (rx::drawPoints):
+        (rx::Renderer9::drawIndexedPoints):
+        (rx::Renderer9::applyShaders):
+        (rx::Renderer9::applyUniforms):
+        (rx::Renderer9::applyUniformnfv):
+        (rx::Renderer9::applyUniformniv):
+        (rx::Renderer9::applyUniformnbv):
+        (rx::Renderer9::clear):
+        (rx::Renderer9::markAllStateDirty):
+        (rx::Renderer9::releaseDeviceResources):
+        (rx::Renderer9::notifyDeviceLost):
+        (rx::Renderer9::isDeviceLost):
+        (rx::Renderer9::testDeviceLost):
+        (rx::Renderer9::testDeviceResettable):
+        (rx::Renderer9::resetDevice):
+        (rx::Renderer9::getAdapterVendor):
+        (rx::Renderer9::getRendererDescription):
+        (rx::Renderer9::getAdapterIdentifier):
+        (rx::Renderer9::getMultiSampleSupport):
+        (rx::Renderer9::getBGRATextureSupport):
+        (rx::Renderer9::getDXT1TextureSupport):
+        (rx::Renderer9::getDXT3TextureSupport):
+        (rx::Renderer9::getDXT5TextureSupport):
+        (rx::Renderer9::getDepthTextureSupport):
+        (rx::Renderer9::getFloat32TextureSupport):
+        (rx::Renderer9::getFloat16TextureSupport):
+        (rx::Renderer9::getLuminanceTextureSupport):
+        (rx::Renderer9::getLuminanceAlphaTextureSupport):
+        (rx::Renderer9::getTextureFilterAnisotropySupport):
+        (rx::Renderer9::getTextureMaxAnisotropy):
+        (rx::Renderer9::getEventQuerySupport):
+        (rx::Renderer9::getMaxVertexTextureImageUnits):
+        (rx::Renderer9::getMaxCombinedTextureImageUnits):
+        (rx::Renderer9::getReservedVertexUniformVectors):
+        (rx::Renderer9::getReservedFragmentUniformVectors):
+        (rx::Renderer9::getMaxVertexUniformVectors):
+        (rx::Renderer9::getMaxFragmentUniformVectors):
+        (rx::Renderer9::getMaxVaryingVectors):
+        (rx::Renderer9::getNonPower2TextureSupport):
+        (rx::Renderer9::getOcclusionQuerySupport):
+        (rx::Renderer9::getInstancingSupport):
+        (rx::Renderer9::getShareHandleSupport):
+        (rx::Renderer9::getDerivativeInstructionSupport):
+        (rx::Renderer9::getPostSubBufferSupport):
+        (rx::Renderer9::getMajorShaderModel):
+        (rx::Renderer9::getMaxPointSize):
+        (rx::Renderer9::getMaxViewportDimension):
+        (rx::Renderer9::getMaxTextureWidth):
+        (rx::Renderer9::getMaxTextureHeight):
+        (rx::Renderer9::get32BitIndexSupport):
+        (rx::Renderer9::getCapsDeclTypes):
+        (rx::Renderer9::getMinSwapInterval):
+        (rx::Renderer9::getMaxSwapInterval):
+        (rx::Renderer9::getMaxSupportedSamples):
+        (rx::Renderer9::getNearestSupportedSamples):
+        (rx::Renderer9::getMaxRenderTargets):
+        (rx::Renderer9::ConvertTextureInternalFormat):
+        (rx::Renderer9::copyToRenderTarget):
+        (rx::Renderer9::getBufferPool):
+        (rx::Renderer9::copyImage):
+        (rx::Renderer9::blitRect):
+        (rx::Renderer9::readPixels):
+        (rx::Renderer9::createRenderTarget):
+        (rx::Renderer9::loadExecutable):
+        (rx::Renderer9::compileToExecutable):
+        (rx::Renderer9::boxFilter):
+        (rx::Renderer9::getTexturePool):
+        (rx::Renderer9::createImage):
+        (rx::Renderer9::generateMipmap):
+        (rx::Renderer9::createTextureStorage2D):
+        (rx::Renderer9::createTextureStorageCube):
+        (rx::Renderer9::getLUID):
+        * src/libGLESv2/renderer/Renderer9.h: Added.
+        (rx::Renderer9::getDevice):
+        * src/libGLESv2/renderer/ShaderCache.h: Added.
+        (rx::ShaderCache::ShaderCache):
+        (rx::ShaderCache::~ShaderCache):
+        (rx::ShaderCache::initialize):
+        (rx::ShaderCache::create):
+        (rx::ShaderCache::clear):
+        (rx::ShaderCache::createShader):
+        * src/libGLESv2/renderer/ShaderExecutable.h: Added.
+        (rx::ShaderExecutable::ShaderExecutable):
+        (rx::ShaderExecutable::~ShaderExecutable):
+        (rx::ShaderExecutable::getFunction):
+        (rx::ShaderExecutable::getLength):
+        * src/libGLESv2/renderer/ShaderExecutable11.cpp: Added.
+        (rx::ShaderExecutable11::ShaderExecutable11):
+        (rx::ShaderExecutable11::~ShaderExecutable11):
+        (rx::ShaderExecutable11::makeShaderExecutable11):
+        (rx::ShaderExecutable11::getVertexShader):
+        (rx::ShaderExecutable11::getPixelShader):
+        (rx::ShaderExecutable11::getGeometryShader):
+        (rx::ShaderExecutable11::getConstantBuffer):
+        * src/libGLESv2/renderer/ShaderExecutable11.h: Added.
+        * src/libGLESv2/renderer/ShaderExecutable9.cpp: Added.
+        (rx::ShaderExecutable9::ShaderExecutable9):
+        (rx::ShaderExecutable9::~ShaderExecutable9):
+        (rx::ShaderExecutable9::makeShaderExecutable9):
+        (rx::ShaderExecutable9::getVertexShader):
+        (rx::ShaderExecutable9::getPixelShader):
+        * src/libGLESv2/renderer/ShaderExecutable9.h: Added.
+        * src/libGLESv2/renderer/SwapChain.h: Added.
+        (rx::SwapChain::SwapChain):
+        (rx::SwapChain::~SwapChain):
+        (rx::SwapChain::getShareHandle):
+        * src/libGLESv2/renderer/SwapChain11.cpp: Added.
+        (rx::SwapChain11::SwapChain11):
+        (rx::SwapChain11::~SwapChain11):
+        (rx::SwapChain11::release):
+        (rx::SwapChain11::releaseOffscreenTexture):
+        (rx::SwapChain11::resetOffscreenTexture):
+        (rx::SwapChain11::resize):
+        (rx::SwapChain11::reset):
+        (rx::SwapChain11::initPassThroughResources):
+        (rx::SwapChain11::swapRect):
+        (rx::SwapChain11::getOffscreenTexture):
+        (rx::SwapChain11::getRenderTarget):
+        (rx::SwapChain11::getRenderTargetShaderResource):
+        (rx::SwapChain11::getDepthStencil):
+        (rx::SwapChain11::getDepthStencilTexture):
+        (rx::SwapChain11::makeSwapChain11):
+        (rx::SwapChain11::recreate):
+        * src/libGLESv2/renderer/SwapChain11.h: Added.
+        (rx::SwapChain11::getWidth):
+        (rx::SwapChain11::getHeight):
+        * src/libGLESv2/renderer/SwapChain9.cpp: Added.
+        (rx::SwapChain9::SwapChain9):
+        (rx::SwapChain9::~SwapChain9):
+        (rx::SwapChain9::release):
+        (rx::convertInterval):
+        (rx::SwapChain9::resize):
+        (rx::SwapChain9::reset):
+        (rx::SwapChain9::swapRect):
+        (rx::SwapChain9::getRenderTarget):
+        (rx::SwapChain9::getDepthStencil):
+        (rx::SwapChain9::getOffscreenTexture):
+        (rx::SwapChain9::makeSwapChain9):
+        (rx::SwapChain9::recreate):
+        * src/libGLESv2/renderer/SwapChain9.h: Added.
+        * src/libGLESv2/renderer/TextureStorage.cpp: Added.
+        (rx::TextureStorageInterface::TextureStorageInterface):
+        (rx::TextureStorageInterface::~TextureStorageInterface):
+        (rx::TextureStorageInterface::isRenderTarget):
+        (rx::TextureStorageInterface::isManaged):
+        (rx::TextureStorageInterface::getTextureSerial):
+        (rx::TextureStorageInterface::issueTextureSerial):
+        (rx::TextureStorageInterface::getLodOffset):
+        (rx::TextureStorageInterface::levelCount):
+        (rx::TextureStorageInterface2D::TextureStorageInterface2D):
+        (rx::TextureStorageInterface2D::~TextureStorageInterface2D):
+        (rx::TextureStorageInterface2D::getRenderTarget):
+        (rx::TextureStorageInterface2D::generateMipmap):
+        (rx::TextureStorageInterface2D::getRenderTargetSerial):
+        (rx::TextureStorageInterfaceCube::TextureStorageInterfaceCube):
+        (rx::TextureStorageInterfaceCube::~TextureStorageInterfaceCube):
+        (rx::TextureStorageInterfaceCube::getRenderTarget):
+        (rx::TextureStorageInterfaceCube::generateMipmap):
+        (rx::TextureStorageInterfaceCube::getRenderTargetSerial):
+        * src/libGLESv2/renderer/TextureStorage.h: Added.
+        (rx::TextureStorage::TextureStorage):
+        (rx::TextureStorage::~TextureStorage):
+        (rx::TextureStorageInterface::getStorageInstance):
+        * src/libGLESv2/renderer/TextureStorage11.cpp: Added.
+        (rx::TextureStorage11::TextureStorage11):
+        (rx::TextureStorage11::~TextureStorage11):
+        (rx::TextureStorage11::makeTextureStorage11):
+        (rx::TextureStorage11::GetTextureBindFlags):
+        (rx::TextureStorage11::IsTextureFormatRenderable):
+        (rx::TextureStorage11::getBindFlags):
+        (rx::TextureStorage11::getBaseTexture):
+        (rx::TextureStorage11::getLodOffset):
+        (rx::TextureStorage11::isRenderTarget):
+        (rx::TextureStorage11::isManaged):
+        (rx::TextureStorage11::levelCount):
+        (rx::TextureStorage11::getSubresourceIndex):
+        (rx::TextureStorage11::updateSubresourceLevel):
+        (rx::TextureStorage11::generateMipmapLayer):
+        (rx::TextureStorage11_2D::TextureStorage11_2D):
+        (rx::TextureStorage11_2D::~TextureStorage11_2D):
+        (rx::TextureStorage11_2D::makeTextureStorage11_2D):
+        (rx::TextureStorage11_2D::getRenderTarget):
+        (rx::TextureStorage11_2D::getSRV):
+        (rx::TextureStorage11_2D::generateMipmap):
+        (rx::TextureStorage11_Cube::TextureStorage11_Cube):
+        (rx::TextureStorage11_Cube::~TextureStorage11_Cube):
+        (rx::TextureStorage11_Cube::makeTextureStorage11_Cube):
+        (rx::TextureStorage11_Cube::getRenderTarget):
+        (rx::TextureStorage11_Cube::getSRV):
+        (rx::TextureStorage11_Cube::generateMipmap):
+        * src/libGLESv2/renderer/TextureStorage11.h: Added.
+        (rx::TextureStorage11::getRenderTarget):
+        (rx::TextureStorage11::generateMipmap):
+        * src/libGLESv2/renderer/TextureStorage9.cpp: Added.
+        (rx::TextureStorage9::TextureStorage9):
+        (rx::TextureStorage9::~TextureStorage9):
+        (rx::TextureStorage9::makeTextureStorage9):
+        (rx::TextureStorage9::GetTextureUsage):
+        (rx::TextureStorage9::IsTextureFormatRenderable):
+        (rx::TextureStorage9::isRenderTarget):
+        (rx::TextureStorage9::isManaged):
+        (rx::TextureStorage9::getPool):
+        (rx::TextureStorage9::getUsage):
+        (rx::TextureStorage9::getLodOffset):
+        (rx::TextureStorage9::levelCount):
+        (rx::TextureStorage9_2D::TextureStorage9_2D):
+        (rx::TextureStorage9_2D::~TextureStorage9_2D):
+        (rx::TextureStorage9_2D::makeTextureStorage9_2D):
+        (rx::TextureStorage9_2D::getSurfaceLevel):
+        (rx::TextureStorage9_2D::getRenderTarget):
+        (rx::TextureStorage9_2D::generateMipmap):
+        (rx::TextureStorage9_2D::getBaseTexture):
+        (rx::TextureStorage9_2D::initializeRenderTarget):
+        (rx::TextureStorage9_Cube::TextureStorage9_Cube):
+        (rx::TextureStorage9_Cube::~TextureStorage9_Cube):
+        (rx::TextureStorage9_Cube::makeTextureStorage9_Cube):
+        (rx::TextureStorage9_Cube::getCubeMapSurface):
+        (rx::TextureStorage9_Cube::getRenderTarget):
+        (rx::TextureStorage9_Cube::generateMipmap):
+        (rx::TextureStorage9_Cube::getBaseTexture):
+        (rx::TextureStorage9_Cube::initializeRenderTarget):
+        * src/libGLESv2/renderer/TextureStorage9.h: Added.
+        (rx::TextureStorage9::getRenderTarget):
+        (rx::TextureStorage9::generateMipmap):
+        * src/libGLESv2/renderer/VertexBuffer.cpp: Added.
+        (rx::VertexBuffer::VertexBuffer):
+        (rx::VertexBuffer::~VertexBuffer):
+        (rx::VertexBuffer::updateSerial):
+        (rx::VertexBuffer::getSerial):
+        (rx::VertexBufferInterface::VertexBufferInterface):
+        (rx::VertexBufferInterface::~VertexBufferInterface):
+        (rx::VertexBufferInterface::getSerial):
+        (rx::VertexBufferInterface::getBufferSize):
+        (rx::VertexBufferInterface::setBufferSize):
+        (rx::VertexBufferInterface::getWritePosition):
+        (rx::VertexBufferInterface::setWritePosition):
+        (rx::VertexBufferInterface::discard):
+        (rx::VertexBufferInterface::storeVertexAttributes):
+        (rx::VertexBufferInterface::storeRawData):
+        (rx::VertexBufferInterface::reserveVertexSpace):
+        (rx::VertexBufferInterface::reserveRawDataSpace):
+        (rx::VertexBufferInterface::getVertexBuffer):
+        (rx::StreamingVertexBufferInterface::StreamingVertexBufferInterface):
+        (rx::StreamingVertexBufferInterface::~StreamingVertexBufferInterface):
+        (rx::StreamingVertexBufferInterface::reserveSpace):
+        (rx::StaticVertexBufferInterface::StaticVertexBufferInterface):
+        (rx::StaticVertexBufferInterface::~StaticVertexBufferInterface):
+        (rx::StaticVertexBufferInterface::lookupAttribute):
+        (rx::StaticVertexBufferInterface::reserveSpace):
+        (rx::StaticVertexBufferInterface::storeVertexAttributes):
+        * src/libGLESv2/renderer/VertexBuffer.h: Added.
+        * src/libGLESv2/renderer/VertexBuffer11.cpp: Added.
+        (rx::VertexBuffer11::VertexBuffer11):
+        (rx::VertexBuffer11::~VertexBuffer11):
+        (rx::VertexBuffer11::initialize):
+        (rx::VertexBuffer11::makeVertexBuffer11):
+        (rx::VertexBuffer11::storeVertexAttributes):
+        (rx::VertexBuffer11::storeRawData):
+        (rx::VertexBuffer11::getSpaceRequired):
+        (rx::VertexBuffer11::requiresConversion):
+        (rx::VertexBuffer11::getBufferSize):
+        (rx::VertexBuffer11::setBufferSize):
+        (rx::VertexBuffer11::discard):
+        (rx::VertexBuffer11::getVertexSize):
+        (rx::VertexBuffer11::getDXGIFormat):
+        (rx::VertexBuffer11::getBuffer):
+        (rx::copyVertexData):
+        (rx::copyFixedVertexData):
+        (rx::copyToFloatVertexData):
+        (rx::VertexBuffer11::getVertexConversion):
+        * src/libGLESv2/renderer/VertexBuffer11.h: Added.
+        * src/libGLESv2/renderer/VertexBuffer9.cpp: Added.
+        (rx::VertexBuffer9::VertexBuffer9):
+        (rx::VertexBuffer9::~VertexBuffer9):
+        (rx::VertexBuffer9::initialize):
+        (rx::VertexBuffer9::makeVertexBuffer9):
+        (rx::VertexBuffer9::storeVertexAttributes):
+        (rx::VertexBuffer9::storeRawData):
+        (rx::VertexBuffer9::getSpaceRequired):
+        (rx::VertexBuffer9::requiresConversion):
+        (rx::VertexBuffer9::getVertexSize):
+        (rx::VertexBuffer9::getDeclType):
+        (rx::VertexBuffer9::getBufferSize):
+        (rx::VertexBuffer9::setBufferSize):
+        (rx::VertexBuffer9::discard):
+        (rx::VertexBuffer9::getBuffer):
+        (rx::VertexBuffer9::initializeTranslations):
+        (rx::VertexBuffer9::typeIndex):
+        (rx::VertexBuffer9::formatConverter):
+        (rx::VertexBuffer9::spaceRequired):
+        * src/libGLESv2/renderer/VertexBuffer9.h: Added.
+        * src/libGLESv2/renderer/VertexDataManager.cpp: Added.
+        (rx::elementsInBuffer):
+        (rx::VertexDataManager::VertexDataManager):
+        (rx::VertexDataManager::~VertexDataManager):
+        (rx::directStoragePossible):
+        (rx::VertexDataManager::prepareVertexData):
+        * src/libGLESv2/renderer/VertexDataManager.h: Added.
+        * src/libGLESv2/renderer/VertexDeclarationCache.cpp: Added.
+        (rx::VertexDeclarationCache::VertexDeclarationCache):
+        (rx::VertexDeclarationCache::~VertexDeclarationCache):
+        (rx::VertexDeclarationCache::applyDeclaration):
+        (rx::VertexDeclarationCache::markStateDirty):
+        * src/libGLESv2/renderer/VertexDeclarationCache.h: Added.
+        * src/libGLESv2/renderer/generatemip.h: Added.
+        (rx::L8::average):
+        (rx::A8L8::average):
+        (rx::A8R8G8B8::average):
+        (rx::A16B16G16R16F::average):
+        (rx::R16F::average):
+        (rx::R16G16F::average):
+        (rx::A32B32G32R32F::average):
+        (rx::R32F::average):
+        (rx::R32G32F::average):
+        (rx::R32G32B32F::average):
+        (rx::GenerateMip):
+        * src/libGLESv2/renderer/renderer11_utils.cpp: Added.
+        (gl_d3d11::ConvertBlendFunc):
+        (gl_d3d11::ConvertBlendOp):
+        (gl_d3d11::ConvertColorMask):
+        (gl_d3d11::ConvertCullMode):
+        (gl_d3d11::ConvertComparison):
+        (gl_d3d11::ConvertDepthMask):
+        (gl_d3d11::ConvertStencilMask):
+        (gl_d3d11::ConvertStencilOp):
+        (gl_d3d11::ConvertFilter):
+        (gl_d3d11::ConvertTextureWrap):
+        (gl_d3d11::ConvertMinLOD):
+        (gl_d3d11::ConvertMaxLOD):
+        (d3d11_gl::ConvertBackBufferFormat):
+        (d3d11_gl::ConvertDepthStencilFormat):
+        (d3d11_gl::ConvertRenderbufferFormat):
+        (d3d11_gl::ConvertTextureInternalFormat):
+        (gl_d3d11::ConvertRenderbufferFormat):
+        (gl_d3d11::ConvertTextureFormat):
+        (d3d11::SetPositionTexCoordVertex):
+        (d3d11::SetPositionDepthColorVertex):
+        (d3d11::ComputePixelSizeBits):
+        (d3d11::ComputeBlockSizeBits):
+        (d3d11::IsCompressed):
+        (d3d11::GetTextureFormatDimensionAlignment):
+        (d3d11::IsDepthStencilFormat):
+        (d3d11::GetDepthTextureFormat):
+        (d3d11::GetDepthShaderResourceFormat):
+        (d3d11::SetDebugName):
+        * src/libGLESv2/renderer/renderer11_utils.h: Added.
+        (d3d11::isDeviceLostError):
+        * src/libGLESv2/renderer/renderer9_utils.cpp: Added.
+        (gl_d3d9::ConvertComparison):
+        (gl_d3d9::ConvertColor):
+        (gl_d3d9::ConvertBlendFunc):
+        (gl_d3d9::ConvertBlendOp):
+        (gl_d3d9::ConvertStencilOp):
+        (gl_d3d9::ConvertTextureWrap):
+        (gl_d3d9::ConvertCullMode):
+        (gl_d3d9::ConvertCubeFace):
+        (gl_d3d9::ConvertColorMask):
+        (gl_d3d9::ConvertMagFilter):
+        (gl_d3d9::ConvertMinFilter):
+        (gl_d3d9::ConvertRenderbufferFormat):
+        (gl_d3d9::GetMultisampleTypeFromSamples):
+        (d3d9_gl::GetStencilSize):
+        (d3d9_gl::GetAlphaSize):
+        (d3d9_gl::GetSamplesFromMultisampleType):
+        (d3d9_gl::IsFormatChannelEquivalent):
+        (d3d9_gl::ConvertBackBufferFormat):
+        (d3d9_gl::ConvertDepthStencilFormat):
+        (d3d9_gl::ConvertRenderTargetFormat):
+        (d3d9_gl::GetEquivalentFormat):
+        (d3d9::IsCompressedFormat):
+        (d3d9::ComputeRowSize):
+        * src/libGLESv2/renderer/renderer9_utils.h: Added.
+        (d3d9::isDeviceLostError):
+        * src/libGLESv2/renderer/shaders: Added.
+        * src/libGLESv2/renderer/shaders/Blit.ps: Added.
+        * src/libGLESv2/renderer/shaders/Blit.vs: Added.
+        * src/libGLESv2/renderer/shaders/Clear11.hlsl: Added.
+        * src/libGLESv2/renderer/shaders/Passthrough11.hlsl: Added.
+        * src/libGLESv2/renderer/shaders/compiled: Added.
+        * src/libGLESv2/renderer/shaders/compiled/clear11vs.h: Added.
+        * src/libGLESv2/renderer/shaders/compiled/clearmultiple11ps.h: Added.
+        * src/libGLESv2/renderer/shaders/compiled/clearsingle11ps.h: Added.
+        * src/libGLESv2/renderer/shaders/compiled/componentmaskps.h: Added.
+        * src/libGLESv2/renderer/shaders/compiled/flipyvs.h: Added.
+        * src/libGLESv2/renderer/shaders/compiled/luminanceps.h: Added.
+        * src/libGLESv2/renderer/shaders/compiled/passthrough11vs.h: Added.
+        * src/libGLESv2/renderer/shaders/compiled/passthroughlum11ps.h: Added.
+        * src/libGLESv2/renderer/shaders/compiled/passthroughlumalpha11ps.h: Added.
+        * src/libGLESv2/renderer/shaders/compiled/passthroughps.h: Added.
+        * src/libGLESv2/renderer/shaders/compiled/passthroughrgb11ps.h: Added.
+        * src/libGLESv2/renderer/shaders/compiled/passthroughrgba11ps.h: Added.
+        * src/libGLESv2/renderer/shaders/compiled/standardvs.h: Added.
+        * src/libGLESv2/renderer/shaders/generate_shaders.bat: Added.
+        * src/libGLESv2/renderer/vertexconversion.h: Added.
+        (rx::Identity::convert):
+        (rx::Cast::convert):
+        (rx::Normalize::convert):
+        (rx::FixedToFloat::convert):
+        (rx::SimpleDefaultValues::zero):
+        (rx::SimpleDefaultValues::one):
+        (rx::NormalizedDefaultValues::zero):
+        (rx::NormalizedDefaultValues::one):
+        (rx::VertexDataConverter::convertArray):
+        (rx::VertexDataConverter::pointerAddBytes):
+        (rx::VertexDataConverter::copyComponent):
+        * src/libGLESv2/resource.h: Added.
+        * src/libGLESv2/utilities.cpp: Added.
+        (gl::UniformComponentCount):
+        (gl::UniformComponentType):
+        (gl::UniformComponentSize):
+        (gl::UniformInternalSize):
+        (gl::UniformExternalSize):
+        (gl::VariableRowCount):
+        (gl::VariableColumnCount):
+        (gl::AllocateFirstFreeBits):
+        (gl::ComputePitch):
+        (gl::ComputeCompressedPitch):
+        (gl::ComputeCompressedSize):
+        (gl::IsCompressed):
+        (gl::IsDepthTexture):
+        (gl::IsStencilTexture):
+        (gl::MakeValidSize):
+        (gl::ComputePixelSize):
+        (gl::IsCubemapTextureTarget):
+        (gl::IsInternalTextureTarget):
+        (gl::ConvertSizedInternalFormat):
+        (gl::ExtractFormat):
+        (gl::ExtractType):
+        (gl::IsColorRenderable):
+        (gl::IsDepthRenderable):
+        (gl::IsStencilRenderable):
+        (gl::IsFloat32Format):
+        (gl::IsFloat16Format):
+        (gl::GetAlphaSize):
+        (gl::GetRedSize):
+        (gl::GetGreenSize):
+        (gl::GetBlueSize):
+        (gl::GetDepthSize):
+        (gl::GetStencilSize):
+        (gl::IsTriangleMode):
+        (getTempPath):
+        (writeFile):
+        * src/libGLESv2/utilities.h: Added.
+        * src/third_party/murmurhash: Added.
+        * src/third_party/murmurhash/LICENSE: Added.
+        * src/third_party/murmurhash/MurmurHash3.cpp: Added, replaced tabs with spaces.
+        (rotl32):
+        (rotl64):
+        (getblock):
+        (fmix):
+        (MurmurHash3_x86_32):
+        (MurmurHash3_x86_128):
+        (MurmurHash3_x64_128):
+        * src/third_party/murmurhash/MurmurHash3.h: Added, replaced tabs with spaces.
+
+2013-07-20  Dean Jackson  <dino@apple.com>
+
+        Updated ANGLE is leaking like a sieve
+        https://bugs.webkit.org/show_bug.cgi?id=118939
+
+        Rollout 152863, r152821, r152929 and r152755.
+
+        * ANGLE.plist:
+        * ANGLE.xcodeproj/project.pbxproj:
+        * DerivedSources.make: Removed.
+        * GNUmakefile.am:
+        * Target.pri:
+        * include/GLSLANG/ShaderLang.h:
+        * src/compiler/BaseTypes.h:
+        (getQualifierString):
+        * src/compiler/Common.h:
+        (EncodeSourceLoc):
+        (DecodeSourceLoc):
+        * src/compiler/Compiler.cpp:
+        (TCompiler::TCompiler):
+        (TCompiler::Init):
+        (TCompiler::compile):
+        (TCompiler::detectRecursion):
+        * src/compiler/ConstantUnion.h:
+        (ConstantUnion::ConstantUnion):
+        * src/compiler/DetectCallDepth.cpp: Removed.
+        * src/compiler/DetectRecursion.cpp: Added.
+        (DetectRecursion::FunctionNode::FunctionNode):
+        (DetectRecursion::FunctionNode::getName):
+        (DetectRecursion::FunctionNode::addCallee):
+        (DetectRecursion::FunctionNode::detectRecursion):
+        (DetectRecursion::DetectRecursion):
+        (DetectRecursion::~DetectRecursion):
+        (DetectRecursion::visitAggregate):
+        (DetectRecursion::detectRecursion):
+        (DetectRecursion::findFunctionByName):
+        * src/compiler/DetectRecursion.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/DetectCallDepth.h.
+        * src/compiler/Diagnostics.cpp:
+        (TDiagnostics::writeInfo):
+        * src/compiler/ForLoopUnroll.cpp:
+        (ForLoopUnroll::evaluateIntConstant):
+        * src/compiler/InfoSink.cpp:
+        (TInfoSinkBase::prefix):
+        (TInfoSinkBase::location):
+        (TInfoSinkBase::message):
+        * src/compiler/InfoSink.h:
+        * src/compiler/Initialize.cpp:
+        (BuiltInFunctionsCommon):
+        (BuiltInFunctionsVertex):
+        (TBuiltIns::initialize):
+        (IdentifyBuiltIns):
+        (InitExtensionBehavior):
+        * src/compiler/Intermediate.cpp:
+        (TIntermediate::addSymbol):
+        (TIntermediate::addBinaryMath):
+        (TIntermediate::addAssign):
+        (TIntermediate::addIndex):
+        (TIntermediate::addUnaryMath):
+        (TIntermediate::setAggregateOperator):
+        (TIntermediate::addConversion):
+        (TIntermediate::growAggregate):
+        (TIntermediate::makeAggregate):
+        (TIntermediate::addSelection):
+        (TIntermediate::addComma):
+        (TIntermediate::addConstantUnion):
+        (TIntermediate::addSwizzle):
+        (TIntermediate::addLoop):
+        (TIntermediate::addBranch):
+        (TIntermUnary::promote):
+        (TIntermBinary::promote):
+        (CompareStruct):
+        (CompareStructure):
+        (TIntermConstantUnion::fold):
+        (TIntermediate::promoteConstantUnion):
+        * src/compiler/OutputGLSL.cpp:
+        (TOutputGLSL::writeVariablePrecision):
+        * src/compiler/OutputGLSL.h:
+        * src/compiler/OutputGLSLBase.cpp:
+        (TOutputGLSLBase::writeVariableType):
+        (TOutputGLSLBase::writeConstantUnion):
+        (TOutputGLSLBase::visitBinary):
+        (TOutputGLSLBase::visitAggregate):
+        (TOutputGLSLBase::getTypeName):
+        (TOutputGLSLBase::hashFunctionName):
+        * src/compiler/OutputGLSLBase.h:
+        * src/compiler/OutputHLSL.cpp:
+        (sh::OutputHLSL::OutputHLSL):
+        (sh::OutputHLSL::header):
+        (sh::OutputHLSL::visitSymbol):
+        (sh::OutputHLSL::visitBinary):
+        (sh::OutputHLSL::visitAggregate):
+        (sh::OutputHLSL::visitSelection):
+        (sh::OutputHLSL::visitLoop):
+        (sh::OutputHLSL::handleExcessiveLoop):
+        (sh::OutputHLSL::typeString):
+        (sh::OutputHLSL::initializer):
+        (sh::OutputHLSL::addConstructor):
+        (sh::OutputHLSL::writeConstantUnion):
+        (sh::OutputHLSL::decorateField):
+        * src/compiler/OutputHLSL.h:
+        * src/compiler/ParseHelper.cpp:
+        (TParseContext::parseVectorFields):
+        (TParseContext::parseMatrixFields):
+        (TParseContext::error):
+        (TParseContext::warning):
+        (TParseContext::assignError):
+        (TParseContext::unaryOpError):
+        (TParseContext::binaryOpError):
+        (TParseContext::precisionErrorCheck):
+        (TParseContext::lValueErrorCheck):
+        (TParseContext::globalErrorCheck):
+        (TParseContext::reservedErrorCheck):
+        (TParseContext::constructorErrorCheck):
+        (TParseContext::voidErrorCheck):
+        (TParseContext::boolErrorCheck):
+        (TParseContext::samplerErrorCheck):
+        (TParseContext::structQualifierErrorCheck):
+        (TParseContext::parameterSamplerErrorCheck):
+        (TParseContext::containsSampler):
+        (TParseContext::arraySizeErrorCheck):
+        (TParseContext::arrayQualifierErrorCheck):
+        (TParseContext::arrayTypeErrorCheck):
+        (TParseContext::arrayErrorCheck):
+        (TParseContext::arraySetMaxSize):
+        (TParseContext::nonInitConstErrorCheck):
+        (TParseContext::nonInitErrorCheck):
+        (TParseContext::paramErrorCheck):
+        (TParseContext::extensionErrorCheck):
+        (TParseContext::handleExtensionDirective):
+        (TParseContext::handlePragmaDirective):
+        (TParseContext::findFunction):
+        (TParseContext::executeInitializer):
+        (TParseContext::addConstructor):
+        (TParseContext::constructBuiltIn):
+        (TParseContext::constructStruct):
+        (TParseContext::addConstVectorNode):
+        (TParseContext::addConstMatrixNode):
+        (TParseContext::addConstArrayNode):
+        (TParseContext::addConstStruct):
+        (TParseContext::enterStructDeclaration):
+        (TParseContext::structNestingErrorCheck):
+        * src/compiler/ParseHelper.h:
+        (TParseContext::TParseContext):
+        (TParseContext::pragma):
+        * src/compiler/PoolAlloc.cpp:
+        (TPoolAllocator::allocate):
+        * src/compiler/ShHandle.h:
+        * src/compiler/ShaderLang.cpp:
+        (ShInitBuiltInResources):
+        * src/compiler/SymbolTable.cpp:
+        (TType::TType):
+        (TType::buildMangledName):
+        (TType::getStructSize):
+        (TType::computeDeepestStructNesting):
+        (TType::isStructureContainingArrays):
+        (TSymbolTableLevel::relateToExtension):
+        (TSymbol::TSymbol):
+        (TVariable::TVariable):
+        (TVariable::clone):
+        (TFunction::TFunction):
+        (TFunction::clone):
+        (TSymbolTableLevel::clone):
+        (TSymbolTable::copyTable):
+        * src/compiler/SymbolTable.h:
+        (TVariable::TVariable):
+        (TVariable::updateArrayInformationType):
+        (TVariable::getArrayInformationType):
+        (TParameter::copyParam):
+        (TFunction::relateToExtension):
+        (TFunction::getExtension):
+        * src/compiler/Types.h:
+        (NewPoolTTypeList):
+        (TType::TType):
+        (TType::copyType):
+        (TType::clone):
+        (TType::getObjectSize):
+        (TType::getMaxArraySize):
+        (TType::setMaxArraySize):
+        (TType::clearArrayness):
+        (TType::setArrayInformationType):
+        (TType::getArrayInformationType):
+        (TType::getStruct):
+        (TType::setStruct):
+        (TType::getTypeName):
+        (TType::setTypeName):
+        (TType::isField):
+        (TType::getFieldName):
+        (TType::setFieldName):
+        (TType::getMangledName):
+        (TType::getDeepestStructNesting):
+        (TPublicType::setBasic):
+        * src/compiler/VariableInfo.cpp:
+        (getUserDefinedVariableInfo):
+        * src/compiler/builtin_symbol_table.cpp: Removed.
+        * src/compiler/builtin_symbol_table.h: Removed.
+        * src/compiler/builtin_symbols.json: Removed.
+        * src/compiler/generate_builtin_symbol_table.py: Removed.
+        * src/compiler/glslang.l:
+        * src/compiler/glslang.y:
+        * src/compiler/glslang_lex.cpp:
+        (yy_get_previous_state):
+        (yy_try_NUL_trans):
+        (yy_push_state):
+        (yy_pop_state):
+        (yy_top_state):
+        (string_input):
+        (check_type):
+        (reserved_word):
+        (yyerror):
+        (glslang_scan):
+        * src/compiler/glslang_tab.cpp:
+        * src/compiler/glslang_tab.h:
+        * src/compiler/intermOut.cpp:
+        (TOutputTraverser::visitUnary):
+        (TOutputTraverser::visitAggregate):
+        (TOutputTraverser::visitConstantUnion):
+        * src/compiler/intermediate.h:
+        (TIntermNode::TIntermNode):
+        (TIntermNode::getLine):
+        (TIntermNode::setLine):
+        (TIntermNode::~TIntermNode):
+        (TIntermConstantUnion::setUnionArrayPointer):
+        (TIntermAggregate::TIntermAggregate):
+        (TIntermAggregate::setEndLine):
+        (TIntermAggregate::getEndLine):
+        (TIntermTraverser::TIntermTraverser):
+        (TIntermTraverser::incrementDepth):
+        * src/compiler/localintermediate.h:
+        * src/compiler/parseConst.cpp:
+        (TConstTraverser::visitSymbol):
+        (TConstTraverser::visitBinary):
+        (TConstTraverser::visitUnary):
+        (TConstTraverser::visitAggregate):
+        (TConstTraverser::visitSelection):
+        (TConstTraverser::visitConstantUnion):
+        (TConstTraverser::visitLoop):
+        (TConstTraverser::visitBranch):
+        (TIntermediate::parseConstTree):
+        * src/compiler/timing/RestrictVertexShaderTiming.cpp:
+        (RestrictVertexShaderTiming::visitSymbol):
+        * src/libEGL/Config.cpp: Removed.
+        * src/libEGL/Config.h: Removed.
+        * src/libEGL/Display.cpp: Removed.
+        * src/libEGL/Display.h: Removed.
+        * src/libEGL/README: Added.
+        * src/libEGL/ShaderCache.h: Removed.
+        * src/libEGL/Surface.cpp: Removed.
+        * src/libEGL/Surface.h: Removed.
+        * src/libEGL/libEGL.cpp: Removed.
+        * src/libEGL/libEGL.def: Removed.
+        * src/libEGL/libEGL.rc: Removed.
+        * src/libEGL/libEGL.vcxproj: Removed.
+        * src/libEGL/libEGL.vcxproj.filters: Removed.
+        * src/libEGL/main.cpp: Removed.
+        * src/libEGL/main.h: Removed.
+        * src/libEGL/resource.h: Removed.
+        * src/libGLESv2/BinaryStream.h: Removed.
+        * src/libGLESv2/Blit.cpp: Removed.
+        * src/libGLESv2/Blit.h: Removed.
+        * src/libGLESv2/Buffer.cpp: Removed.
+        * src/libGLESv2/Buffer.h: Removed.
+        * src/libGLESv2/Context.cpp: Removed.
+        * src/libGLESv2/Context.h: Removed.
+        * src/libGLESv2/D3DConstantTable.cpp: Removed.
+        * src/libGLESv2/D3DConstantTable.h: Removed.
+        * src/libGLESv2/Fence.cpp: Removed.
+        * src/libGLESv2/Fence.h: Removed.
+        * src/libGLESv2/Float16ToFloat32.cpp: Removed.
+        * src/libGLESv2/Float16ToFloat32.py: Removed.
+        * src/libGLESv2/Framebuffer.cpp: Removed.
+        * src/libGLESv2/Framebuffer.h: Removed.
+        * src/libGLESv2/HandleAllocator.cpp: Removed.
+        * src/libGLESv2/HandleAllocator.h: Removed.
+        * src/libGLESv2/IndexDataManager.cpp: Removed.
+        * src/libGLESv2/IndexDataManager.h: Removed.
+        * src/libGLESv2/Program.cpp: Removed.
+        * src/libGLESv2/Program.h: Removed.
+        * src/libGLESv2/ProgramBinary.cpp: Removed.
+        * src/libGLESv2/ProgramBinary.h: Removed.
+        * src/libGLESv2/Query.cpp: Removed.
+        * src/libGLESv2/Query.h: Removed.
+        * src/libGLESv2/README: Added.
+        * src/libGLESv2/Renderbuffer.cpp: Removed.
+        * src/libGLESv2/Renderbuffer.h: Removed.
+        * src/libGLESv2/ResourceManager.cpp: Removed.
+        * src/libGLESv2/ResourceManager.h: Removed.
+        * src/libGLESv2/Shader.cpp: Removed.
+        * src/libGLESv2/Shader.h: Removed.
+        * src/libGLESv2/Texture.cpp: Removed.
+        * src/libGLESv2/Texture.h: Removed.
+        * src/libGLESv2/TextureSSE2.cpp: Removed.
+        * src/libGLESv2/VertexDataManager.cpp: Removed.
+        * src/libGLESv2/VertexDataManager.h: Removed.
+        * src/libGLESv2/libGLESv2.cpp: Removed.
+        * src/libGLESv2/libGLESv2.def: Removed.
+        * src/libGLESv2/libGLESv2.rc: Removed.
+        * src/libGLESv2/libGLESv2.vcxproj: Removed.
+        * src/libGLESv2/libGLESv2.vcxproj.filters: Removed.
+        * src/libGLESv2/main.cpp: Removed.
+        * src/libGLESv2/main.h: Removed.
+        * src/libGLESv2/mathutil.h: Removed.
+        * src/libGLESv2/resource.h: Removed.
+        * src/libGLESv2/shaders/Blit.ps: Removed.
+        * src/libGLESv2/shaders/Blit.vs: Removed.
+        * src/libGLESv2/shaders/componentmaskps.h: Removed.
+        * src/libGLESv2/shaders/flipyvs.h: Removed.
+        * src/libGLESv2/shaders/generate_shaders.bat: Removed.
+        * src/libGLESv2/shaders/luminanceps.h: Removed.
+        * src/libGLESv2/shaders/passthroughps.h: Removed.
+        * src/libGLESv2/shaders/standardvs.h: Removed.
+        * src/libGLESv2/utilities.cpp: Removed.
+        * src/libGLESv2/utilities.h: Removed.
+        * src/libGLESv2/vertexconversion.h: Removed.
+
+2013-07-19  Alex Christensen  <achristensen@apple.com>
+
+        Generate derived files in ANGLE at build time rather than when updating from upstream.
+        https://bugs.webkit.org/show_bug.cgi?id=118872
+
+        Reviewed by Mark Rowe.
+
+        * ANGLE.xcodeproj/project.pbxproj: Made Derived Sources target which calls DerivedSources.make,
+        moved generated files into Derived Sources group.
+        * DerivedSources.make: Added.
+
+2013-07-18  Alex Christensen  <achristensen@apple.com>
+
+        Added previously unincluded files from ANGLE r2426 with these exceptions:
+        No gyp files are included.  No WebKit ports use them.
+        ANGLE.sln is not included.  I will not use that.
+        translator_common and translator_hlsl projects and filters are not included.
+        I will need to make a customized translator  project that uses the GLSL translator instead of the HLSL.
+        https://bugs.webkit.org/show_bug.cgi?id=118833
+
+        Reviewed by Dean Jackson.
+
+        * src/compiler/builtin_symbols.json: Added.
+        * src/compiler/generate_builtin_symbol_table.py: Added.
+        (parseBuiltin):
+        * src/libEGL: Replaced.
+        * src/libEGL/Config.cpp: Added.
+        (egl::Config::Config):
+        (egl::Config::setDefaults):
+        (egl::Config::set):
+        (egl::Config::getHandle):
+        (egl::SortConfig::SortConfig):
+        (egl::SortConfig::scanForWantedComponents):
+        (egl::SortConfig::wantedComponentsSize):
+        (egl::SortConfig::operator()):
+        (egl::ConfigSet::ConfigSet):
+        (egl::ConfigSet::add):
+        (egl::ConfigSet::size):
+        (egl::ConfigSet::getConfigs):
+        (egl::ConfigSet::get):
+        * src/libEGL/Config.h: Added.
+        * src/libEGL/Display.cpp: Added.
+        (egl::Display::getDisplay):
+        (egl::Display::Display):
+        (egl::Display::~Display):
+        (egl::Display::initialize):
+        (egl::Display::terminate):
+        (egl::Display::startScene):
+        (egl::Display::endScene):
+        (egl::Display::getConfigs):
+        (egl::Display::getConfigAttrib):
+        (egl::Display::createDevice):
+        (egl::Display::initializeDevice):
+        (egl::Display::resetDevice):
+        (egl::Display::createWindowSurface):
+        (egl::Display::createOffscreenSurface):
+        (egl::Display::createContext):
+        (egl::Display::restoreLostDevice):
+        (egl::Display::destroySurface):
+        (egl::Display::destroyContext):
+        (egl::Display::notifyDeviceLost):
+        (egl::Display::isDeviceLost):
+        (egl::Display::isInitialized):
+        (egl::Display::isValidConfig):
+        (egl::Display::isValidContext):
+        (egl::Display::isValidSurface):
+        (egl::Display::hasExistingWindowSurface):
+        (egl::Display::getMinSwapInterval):
+        (egl::Display::getMaxSwapInterval):
+        (egl::Display::getDevice):
+        (egl::Display::getDeviceCaps):
+        (egl::Display::getAdapterIdentifier):
+        (egl::Display::testDeviceLost):
+        (egl::Display::testDeviceResettable):
+        (egl::Display::sync):
+        (egl::Display::allocateEventQuery):
+        (egl::Display::freeEventQuery):
+        (egl::Display::getMultiSampleSupport):
+        (egl::Display::getDXT1TextureSupport):
+        (egl::Display::getDXT3TextureSupport):
+        (egl::Display::getDXT5TextureSupport):
+        (egl::Display::getDepthTextureSupport):
+        (egl::Display::getFloat32TextureSupport):
+        (egl::Display::getFloat16TextureSupport):
+        (egl::Display::getLuminanceTextureSupport):
+        (egl::Display::getLuminanceAlphaTextureSupport):
+        (egl::Display::getTextureFilterAnisotropySupport):
+        (egl::Display::getBufferPool):
+        (egl::Display::getTexturePool):
+        (egl::Display::getEventQuerySupport):
+        (egl::Display::getDefaultPresentParameters):
+        (egl::Display::initExtensionString):
+        (egl::Display::getExtensionString):
+        (egl::Display::initVendorString):
+        (egl::Display::getVendorString):
+        (egl::Display::shareHandleSupported):
+        (egl::Display::createVertexShader):
+        (egl::Display::compileShaderSource):
+        (egl::Display::createPixelShader):
+        (egl::Display::getVertexTextureSupport):
+        (egl::Display::getNonPower2TextureSupport):
+        (egl::Display::getOcclusionQuerySupport):
+        (egl::Display::getInstancingSupport):
+        * src/libEGL/Display.h: Added.
+        (getComparableOSVersion):
+        (egl::Display::isD3d9ExDevice):
+        * src/libEGL/README: Removed.
+        * src/libEGL/ShaderCache.h: Added.
+        (egl::ShaderCache::ShaderCache):
+        (egl::ShaderCache::~ShaderCache):
+        (egl::ShaderCache::initialize):
+        (egl::ShaderCache::create):
+        (egl::ShaderCache::clear):
+        (egl::ShaderCache::createShader):
+        * src/libEGL/Surface.cpp: Added.
+        (egl::Surface::Surface):
+        (egl::Surface::~Surface):
+        (egl::Surface::initialize):
+        (egl::Surface::release):
+        (egl::Surface::resetSwapChain):
+        (egl::Surface::swapRect):
+        (egl::Surface::getWindowHandle):
+        (egl::SurfaceWindowProc):
+        (egl::Surface::subclassWindow):
+        (egl::Surface::unsubclassWindow):
+        (egl::Surface::checkForOutOfDateSwapChain):
+        (egl::Surface::convertInterval):
+        (egl::Surface::swap):
+        (egl::Surface::postSubBuffer):
+        (egl::Surface::getWidth):
+        (egl::Surface::getHeight):
+        (egl::Surface::isPostSubBufferSupported):
+        (egl::Surface::getRenderTarget):
+        (egl::Surface::getDepthStencil):
+        (egl::Surface::getOffscreenTexture):
+        (egl::Surface::setSwapInterval):
+        (egl::Surface::getTextureFormat):
+        (egl::Surface::getTextureTarget):
+        (egl::Surface::setBoundTexture):
+        (egl::Surface::getBoundTexture):
+        (egl::Surface::getFormat):
+        * src/libEGL/Surface.h: Added.
+        (egl::Surface::getShareHandle):
+        * src/libEGL/libEGL.cpp: Added.
+        (validateDisplay):
+        (validateConfig):
+        (validateContext):
+        (validateSurface):
+        * src/libEGL/libEGL.def: Added.
+        * src/libEGL/libEGL.rc: Added.
+        * src/libEGL/libEGL.vcxproj: Added.
+        * src/libEGL/libEGL.vcxproj.filters: Added.
+        * src/libEGL/main.cpp: Added.
+        (DllMain):
+        (egl::setCurrentError):
+        (egl::getCurrentError):
+        (egl::setCurrentAPI):
+        (egl::getCurrentAPI):
+        (egl::setCurrentDisplay):
+        (egl::getCurrentDisplay):
+        (egl::setCurrentDrawSurface):
+        (egl::getCurrentDrawSurface):
+        (egl::setCurrentReadSurface):
+        (egl::getCurrentReadSurface):
+        (error):
+        * src/libEGL/main.h: Added.
+        (error):
+        (success):
+        * src/libEGL/resource.h: Added.
+        * src/libGLESv2: Replaced.
+        * src/libGLESv2/BinaryStream.h: Added.
+        (gl::BinaryInputStream::BinaryInputStream):
+        (gl::BinaryInputStream::read):
+        (gl::BinaryInputStream::skip):
+        (gl::BinaryInputStream::offset):
+        (gl::BinaryInputStream::error):
+        (gl::BinaryInputStream::endOfStream):
+        (gl::BinaryOutputStream::BinaryOutputStream):
+        (gl::BinaryOutputStream::write):
+        (gl::BinaryOutputStream::length):
+        (gl::BinaryOutputStream::data):
+        * src/libGLESv2/Blit.cpp: Added.
+        (gl::Blit::Blit):
+        (gl::Blit::~Blit):
+        (gl::Blit::initGeometry):
+        (gl::Blit::setShader):
+        (gl::Blit::setVertexShader):
+        (gl::Blit::setPixelShader):
+        (gl::Blit::getSurfaceRect):
+        (gl::Blit::boxFilter):
+        (gl::Blit::copy):
+        (gl::Blit::formatConvert):
+        (gl::Blit::setFormatConvertShaders):
+        (gl::Blit::copySurfaceToTexture):
+        (gl::Blit::setViewport):
+        (gl::Blit::setCommonBlitState):
+        (gl::Blit::render):
+        (gl::Blit::saveState):
+        (gl::Blit::restoreState):
+        * src/libGLESv2/Blit.h: Added.
+        * src/libGLESv2/Buffer.cpp: Added.
+        (gl::Buffer::Buffer):
+        (gl::Buffer::~Buffer):
+        (gl::Buffer::bufferData):
+        (gl::Buffer::bufferSubData):
+        (gl::Buffer::getStaticVertexBuffer):
+        (gl::Buffer::getStaticIndexBuffer):
+        (gl::Buffer::invalidateStaticData):
+        (gl::Buffer::promoteStaticUsage):
+        * src/libGLESv2/Buffer.h: Added.
+        (gl::Buffer::data):
+        (gl::Buffer::size):
+        (gl::Buffer::usage):
+        * src/libGLESv2/Context.cpp: Added.
+        (gl::makeStaticString):
+        (gl::Context::Context):
+        (gl::Context::~Context):
+        (gl::Context::makeCurrent):
+        (gl::Context::markAllStateDirty):
+        (gl::Context::markDxUniformsDirty):
+        (gl::Context::markContextLost):
+        (gl::Context::isContextLost):
+        (gl::Context::setClearColor):
+        (gl::Context::setClearDepth):
+        (gl::Context::setClearStencil):
+        (gl::Context::setCullFace):
+        (gl::Context::isCullFaceEnabled):
+        (gl::Context::setCullMode):
+        (gl::Context::setFrontFace):
+        (gl::Context::setDepthTest):
+        (gl::Context::isDepthTestEnabled):
+        (gl::Context::setDepthFunc):
+        (gl::Context::setDepthRange):
+        (gl::Context::setBlend):
+        (gl::Context::isBlendEnabled):
+        (gl::Context::setBlendFactors):
+        (gl::Context::setBlendColor):
+        (gl::Context::setBlendEquation):
+        (gl::Context::setStencilTest):
+        (gl::Context::isStencilTestEnabled):
+        (gl::Context::setStencilParams):
+        (gl::Context::setStencilBackParams):
+        (gl::Context::setStencilWritemask):
+        (gl::Context::setStencilBackWritemask):
+        (gl::Context::setStencilOperations):
+        (gl::Context::setStencilBackOperations):
+        (gl::Context::setPolygonOffsetFill):
+        (gl::Context::isPolygonOffsetFillEnabled):
+        (gl::Context::setPolygonOffsetParams):
+        (gl::Context::setSampleAlphaToCoverage):
+        (gl::Context::isSampleAlphaToCoverageEnabled):
+        (gl::Context::setSampleCoverage):
+        (gl::Context::isSampleCoverageEnabled):
+        (gl::Context::setSampleCoverageParams):
+        (gl::Context::setScissorTest):
+        (gl::Context::isScissorTestEnabled):
+        (gl::Context::setDither):
+        (gl::Context::isDitherEnabled):
+        (gl::Context::setLineWidth):
+        (gl::Context::setGenerateMipmapHint):
+        (gl::Context::setFragmentShaderDerivativeHint):
+        (gl::Context::setViewportParams):
+        (gl::Context::setScissorParams):
+        (gl::Context::setColorMask):
+        (gl::Context::setDepthMask):
+        (gl::Context::setActiveSampler):
+        (gl::Context::getReadFramebufferHandle):
+        (gl::Context::getDrawFramebufferHandle):
+        (gl::Context::getRenderbufferHandle):
+        (gl::Context::getArrayBufferHandle):
+        (gl::Context::getActiveQuery):
+        (gl::Context::setEnableVertexAttribArray):
+        (gl::Context::getVertexAttribState):
+        (gl::Context::setVertexAttribState):
+        (gl::Context::getVertexAttribPointer):
+        (gl::Context::getVertexAttributes):
+        (gl::Context::setPackAlignment):
+        (gl::Context::getPackAlignment):
+        (gl::Context::setUnpackAlignment):
+        (gl::Context::getUnpackAlignment):
+        (gl::Context::setPackReverseRowOrder):
+        (gl::Context::getPackReverseRowOrder):
+        (gl::Context::createBuffer):
+        (gl::Context::createProgram):
+        (gl::Context::createShader):
+        (gl::Context::createTexture):
+        (gl::Context::createRenderbuffer):
+        (gl::Context::createFramebuffer):
+        (gl::Context::createFence):
+        (gl::Context::createQuery):
+        (gl::Context::deleteBuffer):
+        (gl::Context::deleteShader):
+        (gl::Context::deleteProgram):
+        (gl::Context::deleteTexture):
+        (gl::Context::deleteRenderbuffer):
+        (gl::Context::deleteFramebuffer):
+        (gl::Context::deleteFence):
+        (gl::Context::deleteQuery):
+        (gl::Context::getBuffer):
+        (gl::Context::getShader):
+        (gl::Context::getProgram):
+        (gl::Context::getTexture):
+        (gl::Context::getRenderbuffer):
+        (gl::Context::getReadFramebuffer):
+        (gl::Context::getDrawFramebuffer):
+        (gl::Context::bindArrayBuffer):
+        (gl::Context::bindElementArrayBuffer):
+        (gl::Context::bindTexture2D):
+        (gl::Context::bindTextureCubeMap):
+        (gl::Context::bindReadFramebuffer):
+        (gl::Context::bindDrawFramebuffer):
+        (gl::Context::bindRenderbuffer):
+        (gl::Context::useProgram):
+        (gl::Context::linkProgram):
+        (gl::Context::setProgramBinary):
+        (gl::Context::beginQuery):
+        (gl::Context::endQuery):
+        (gl::Context::setFramebufferZero):
+        (gl::Context::setRenderbufferStorage):
+        (gl::Context::getFramebuffer):
+        (gl::Context::getFence):
+        (gl::Context::getQuery):
+        (gl::Context::getArrayBuffer):
+        (gl::Context::getElementArrayBuffer):
+        (gl::Context::getCurrentProgramBinary):
+        (gl::Context::getTexture2D):
+        (gl::Context::getTextureCubeMap):
+        (gl::Context::getSamplerTexture):
+        (gl::Context::getBooleanv):
+        (gl::Context::getFloatv):
+        (gl::Context::getIntegerv):
+        (gl::Context::getQueryParameterInfo):
+        (gl::Context::applyRenderTarget):
+        (gl::Context::applyState):
+        (gl::Context::applyVertexBuffer):
+        (gl::Context::applyIndexBuffer):
+        (gl::Context::applyShaders):
+        (gl::Context::applyTextures):
+        (gl::Context::readPixels):
+        (gl::Context::clear):
+        (gl::Context::drawArrays):
+        (gl::Context::drawElements):
+        (gl::Context::sync):
+        (gl::Context::drawLineLoop):
+        (gl::Context::recordInvalidEnum):
+        (gl::Context::recordInvalidValue):
+        (gl::Context::recordInvalidOperation):
+        (gl::Context::recordOutOfMemory):
+        (gl::Context::recordInvalidFramebufferOperation):
+        (gl::Context::getError):
+        (gl::Context::getResetStatus):
+        (gl::Context::isResetNotificationEnabled):
+        (gl::Context::supportsShaderModel3):
+        (gl::Context::getMaximumPointSize):
+        (gl::Context::getMaximumVaryingVectors):
+        (gl::Context::getMaximumVertexTextureImageUnits):
+        (gl::Context::getMaximumCombinedTextureImageUnits):
+        (gl::Context::getMaximumFragmentUniformVectors):
+        (gl::Context::getMaxSupportedSamples):
+        (gl::Context::getNearestSupportedSamples):
+        (gl::Context::supportsEventQueries):
+        (gl::Context::supportsOcclusionQueries):
+        (gl::Context::supportsDXT1Textures):
+        (gl::Context::supportsDXT3Textures):
+        (gl::Context::supportsDXT5Textures):
+        (gl::Context::supportsFloat32Textures):
+        (gl::Context::supportsFloat32LinearFilter):
+        (gl::Context::supportsFloat32RenderableTextures):
+        (gl::Context::supportsFloat16Textures):
+        (gl::Context::supportsFloat16LinearFilter):
+        (gl::Context::supportsFloat16RenderableTextures):
+        (gl::Context::getMaximumRenderbufferDimension):
+        (gl::Context::getMaximumTextureDimension):
+        (gl::Context::getMaximumCubeTextureDimension):
+        (gl::Context::getMaximumTextureLevel):
+        (gl::Context::supportsLuminanceTextures):
+        (gl::Context::supportsLuminanceAlphaTextures):
+        (gl::Context::supportsDepthTextures):
+        (gl::Context::supports32bitIndices):
+        (gl::Context::supportsNonPower2Texture):
+        (gl::Context::supportsInstancing):
+        (gl::Context::supportsTextureFilterAnisotropy):
+        (gl::Context::supportsDerivativeInstructions):
+        (gl::Context::getTextureMaxAnisotropy):
+        (gl::Context::getCurrentReadFormatType):
+        (gl::Context::detachBuffer):
+        (gl::Context::detachTexture):
+        (gl::Context::detachFramebuffer):
+        (gl::Context::detachRenderbuffer):
+        (gl::Context::getIncompleteTexture):
+        (gl::Context::skipDraw):
+        (gl::Context::isTriangleMode):
+        (gl::Context::setVertexAttrib):
+        (gl::Context::setVertexAttribDivisor):
+        (gl::Context::initExtensionString):
+        (gl::Context::getExtensionString):
+        (gl::Context::initRendererString):
+        (gl::Context::getRendererString):
+        (gl::Context::blitFramebuffer):
+        (gl::VertexDeclarationCache::VertexDeclarationCache):
+        (gl::VertexDeclarationCache::~VertexDeclarationCache):
+        (gl::VertexDeclarationCache::applyDeclaration):
+        (gl::VertexDeclarationCache::markStateDirty):
+        * src/libGLESv2/Context.h: Added.
+        (gl::VertexAttribute::VertexAttribute):
+        (gl::VertexAttribute::typeSize):
+        (gl::VertexAttribute::stride):
+        (gl::Context::getBlitter):
+        (gl::Context::getDeviceCaps):
+        * src/libGLESv2/D3DConstantTable.cpp: Added.
+        (gl::D3DConstant::D3DConstant):
+        (gl::D3DConstant::~D3DConstant):
+        (gl::D3DConstant::addStructMembers):
+        (gl::D3DConstantTable::D3DConstantTable):
+        (gl::D3DConstantTable::~D3DConstantTable):
+        (gl::D3DConstantTable::getConstant):
+        (gl::D3DConstantTable::getConstantByName):
+        * src/libGLESv2/D3DConstantTable.h: Added.
+        (gl::D3DConstantTable::error):
+        (gl::D3DConstantTable::constants):
+        * src/libGLESv2/Fence.cpp: Added.
+        (gl::Fence::Fence):
+        (gl::Fence::~Fence):
+        (gl::Fence::isFence):
+        (gl::Fence::setFence):
+        (gl::Fence::testFence):
+        (gl::Fence::finishFence):
+        (gl::Fence::getFenceiv):
+        * src/libGLESv2/Fence.h: Added.
+        * src/libGLESv2/Float16ToFloat32.cpp: Added.
+        (gl::float16ToFloat32):
+        * src/libGLESv2/Float16ToFloat32.py: Added.
+        (convertMantissa):
+        (convertExponent):
+        (convertOffset):
+        * src/libGLESv2/Framebuffer.cpp: Added.
+        (gl::Framebuffer::Framebuffer):
+        (gl::Framebuffer::~Framebuffer):
+        (gl::Framebuffer::lookupRenderbuffer):
+        (gl::Framebuffer::setColorbuffer):
+        (gl::Framebuffer::setDepthbuffer):
+        (gl::Framebuffer::setStencilbuffer):
+        (gl::Framebuffer::detachTexture):
+        (gl::Framebuffer::detachRenderbuffer):
+        (gl::Framebuffer::getRenderTargetSerial):
+        (gl::Framebuffer::getRenderTarget):
+        (gl::Framebuffer::getDepthStencil):
+        (gl::Framebuffer::getDepthbufferSerial):
+        (gl::Framebuffer::getStencilbufferSerial):
+        (gl::Framebuffer::getColorbuffer):
+        (gl::Framebuffer::getDepthbuffer):
+        (gl::Framebuffer::getStencilbuffer):
+        (gl::Framebuffer::getNullColorbuffer):
+        (gl::Framebuffer::getColorbufferType):
+        (gl::Framebuffer::getDepthbufferType):
+        (gl::Framebuffer::getStencilbufferType):
+        (gl::Framebuffer::getColorbufferHandle):
+        (gl::Framebuffer::getDepthbufferHandle):
+        (gl::Framebuffer::getStencilbufferHandle):
+        (gl::Framebuffer::hasStencil):
+        (gl::Framebuffer::completeness):
+        (gl::DefaultFramebuffer::DefaultFramebuffer):
+        (gl::Framebuffer::getSamples):
+        (gl::DefaultFramebuffer::completeness):
+        * src/libGLESv2/Framebuffer.h: Added.
+        * src/libGLESv2/HandleAllocator.cpp: Added.
+        (gl::HandleAllocator::HandleAllocator):
+        (gl::HandleAllocator::~HandleAllocator):
+        (gl::HandleAllocator::setBaseHandle):
+        (gl::HandleAllocator::allocate):
+        (gl::HandleAllocator::release):
+        * src/libGLESv2/HandleAllocator.h: Added.
+        * src/libGLESv2/IndexDataManager.cpp: Added.
+        (gl::IndexDataManager::IndexDataManager):
+        (gl::IndexDataManager::~IndexDataManager):
+        (gl::convertIndices):
+        (gl::computeRange):
+        (gl::IndexDataManager::prepareIndexData):
+        (gl::IndexDataManager::indexSize):
+        (gl::IndexDataManager::typeSize):
+        (gl::IndexDataManager::getCountingIndices):
+        (gl::IndexBuffer::IndexBuffer):
+        (gl::IndexBuffer::~IndexBuffer):
+        (gl::IndexBuffer::getBuffer):
+        (gl::IndexBuffer::getSerial):
+        (gl::IndexBuffer::issueSerial):
+        (gl::IndexBuffer::unmap):
+        (gl::StreamingIndexBuffer::StreamingIndexBuffer):
+        (gl::StreamingIndexBuffer::~StreamingIndexBuffer):
+        (gl::StreamingIndexBuffer::map):
+        (gl::StreamingIndexBuffer::reserveSpace):
+        (gl::StaticIndexBuffer::StaticIndexBuffer):
+        (gl::StaticIndexBuffer::~StaticIndexBuffer):
+        (gl::StaticIndexBuffer::map):
+        (gl::StaticIndexBuffer::reserveSpace):
+        (gl::StaticIndexBuffer::lookupType):
+        (gl::StaticIndexBuffer::lookupRange):
+        (gl::StaticIndexBuffer::addRange):
+        * src/libGLESv2/IndexDataManager.h: Added.
+        (gl::IndexBuffer::size):
+        (gl::StaticIndexBuffer::IndexRange::operator<):
+        * src/libGLESv2/Program.cpp: Added.
+        (gl::AttributeBindings::AttributeBindings):
+        (gl::AttributeBindings::~AttributeBindings):
+        (gl::InfoLog::InfoLog):
+        (gl::InfoLog::~InfoLog):
+        (gl::InfoLog::getLength):
+        (gl::InfoLog::getLog):
+        (gl::InfoLog::appendSanitized):
+        (gl::InfoLog::append):
+        (gl::InfoLog::reset):
+        (gl::Program::Program):
+        (gl::Program::~Program):
+        (gl::Program::attachShader):
+        (gl::Program::detachShader):
+        (gl::Program::getAttachedShadersCount):
+        (gl::AttributeBindings::bindAttributeLocation):
+        (gl::Program::bindAttributeLocation):
+        (gl::Program::link):
+        (gl::AttributeBindings::getAttributeBinding):
+        (gl::Program::unlink):
+        (gl::Program::isLinked):
+        (gl::Program::getProgramBinary):
+        (gl::Program::setProgramBinary):
+        (gl::Program::release):
+        (gl::Program::addRef):
+        (gl::Program::getRefCount):
+        (gl::Program::getProgramBinaryLength):
+        (gl::Program::getInfoLogLength):
+        (gl::Program::getInfoLog):
+        (gl::Program::getAttachedShaders):
+        (gl::Program::getActiveAttribute):
+        (gl::Program::getActiveAttributeCount):
+        (gl::Program::getActiveAttributeMaxLength):
+        (gl::Program::getActiveUniform):
+        (gl::Program::getActiveUniformCount):
+        (gl::Program::getActiveUniformMaxLength):
+        (gl::Program::flagForDeletion):
+        (gl::Program::isFlaggedForDeletion):
+        (gl::Program::validate):
+        (gl::Program::isValidated):
+        * src/libGLESv2/Program.h: Added.
+        * src/libGLESv2/ProgramBinary.cpp: Added.
+        (gl::str):
+        (gl::Uniform::Uniform):
+        (gl::Uniform::~Uniform):
+        (gl::Uniform::isArray):
+        (gl::UniformLocation::UniformLocation):
+        (gl::ProgramBinary::ProgramBinary):
+        (gl::ProgramBinary::~ProgramBinary):
+        (gl::ProgramBinary::getSerial):
+        (gl::ProgramBinary::issueSerial):
+        (gl::ProgramBinary::getPixelShader):
+        (gl::ProgramBinary::getVertexShader):
+        (gl::ProgramBinary::getAttributeLocation):
+        (gl::ProgramBinary::getSemanticIndex):
+        (gl::ProgramBinary::getUsedSamplerRange):
+        (gl::ProgramBinary::usesPointSize):
+        (gl::ProgramBinary::getSamplerMapping):
+        (gl::ProgramBinary::getSamplerTextureType):
+        (gl::ProgramBinary::getUniformLocation):
+        (gl::ProgramBinary::setUniform1fv):
+        (gl::ProgramBinary::setUniform2fv):
+        (gl::ProgramBinary::setUniform3fv):
+        (gl::ProgramBinary::setUniform4fv):
+        (gl::transposeMatrix):
+        (gl::ProgramBinary::setUniformMatrix2fv):
+        (gl::ProgramBinary::setUniformMatrix3fv):
+        (gl::ProgramBinary::setUniformMatrix4fv):
+        (gl::ProgramBinary::setUniform1iv):
+        (gl::ProgramBinary::setUniform2iv):
+        (gl::ProgramBinary::setUniform3iv):
+        (gl::ProgramBinary::setUniform4iv):
+        (gl::ProgramBinary::getUniformfv):
+        (gl::ProgramBinary::getUniformiv):
+        (gl::ProgramBinary::dirtyAllUniforms):
+        (gl::ProgramBinary::applyUniforms):
+        (gl::ProgramBinary::compileToBinary):
+        (gl::ProgramBinary::packVaryings):
+        (gl::ProgramBinary::linkVaryings):
+        (gl::ProgramBinary::load):
+        (gl::ProgramBinary::save):
+        (gl::ProgramBinary::getLength):
+        (gl::ProgramBinary::link):
+        (gl::ProgramBinary::linkAttributes):
+        (gl::ProgramBinary::linkUniforms):
+        (gl::ProgramBinary::defineUniform):
+        (gl::ProgramBinary::createUniform):
+        (gl::ProgramBinary::decorateAttribute):
+        (gl::ProgramBinary::undecorateUniform):
+        (gl::ProgramBinary::applyUniformnbv):
+        (gl::ProgramBinary::applyUniformnfv):
+        (gl::ProgramBinary::applyUniform1iv):
+        (gl::ProgramBinary::applyUniform2iv):
+        (gl::ProgramBinary::applyUniform3iv):
+        (gl::ProgramBinary::applyUniform4iv):
+        (gl::ProgramBinary::applyUniformniv):
+        (gl::ProgramBinary::isValidated):
+        (gl::ProgramBinary::getActiveAttribute):
+        (gl::ProgramBinary::getActiveAttributeCount):
+        (gl::ProgramBinary::getActiveAttributeMaxLength):
+        (gl::ProgramBinary::getActiveUniform):
+        (gl::ProgramBinary::getActiveUniformCount):
+        (gl::ProgramBinary::getActiveUniformMaxLength):
+        (gl::ProgramBinary::validate):
+        (gl::ProgramBinary::validateSamplers):
+        (gl::ProgramBinary::getDxDepthRangeLocation):
+        (gl::ProgramBinary::getDxDepthLocation):
+        (gl::ProgramBinary::getDxCoordLocation):
+        (gl::ProgramBinary::getDxHalfPixelSizeLocation):
+        (gl::ProgramBinary::getDxFrontCCWLocation):
+        (gl::ProgramBinary::getDxPointsOrLinesLocation):
+        (gl::ProgramBinary::Sampler::Sampler):
+        * src/libGLESv2/ProgramBinary.h: Added.
+        (gl::Uniform::RegisterInfo::RegisterInfo):
+        (gl::Uniform::RegisterInfo::set):
+        (gl::UniformLocation::UniformLocation):
+        * src/libGLESv2/Query.cpp: Added.
+        (gl::Query::Query):
+        (gl::Query::~Query):
+        (gl::Query::begin):
+        (gl::Query::end):
+        (gl::Query::getResult):
+        (gl::Query::isResultAvailable):
+        (gl::Query::getType):
+        (gl::Query::testQuery):
+        * src/libGLESv2/Query.h: Added.
+        * src/libGLESv2/README: Removed.
+        * src/libGLESv2/Renderbuffer.cpp: Added.
+        (gl::RenderbufferInterface::RenderbufferInterface):
+        (gl::RenderbufferInterface::addProxyRef):
+        (gl::RenderbufferInterface::releaseProxy):
+        (gl::RenderbufferInterface::getRedSize):
+        (gl::RenderbufferInterface::getGreenSize):
+        (gl::RenderbufferInterface::getBlueSize):
+        (gl::RenderbufferInterface::getAlphaSize):
+        (gl::RenderbufferInterface::getDepthSize):
+        (gl::RenderbufferInterface::getStencilSize):
+        (gl::RenderbufferTexture2D::RenderbufferTexture2D):
+        (gl::RenderbufferTexture2D::~RenderbufferTexture2D):
+        (gl::RenderbufferTexture2D::addProxyRef):
+        (gl::RenderbufferTexture2D::releaseProxy):
+        (gl::RenderbufferTexture2D::getRenderTarget):
+        (gl::RenderbufferTexture2D::getDepthStencil):
+        (gl::RenderbufferTexture2D::getWidth):
+        (gl::RenderbufferTexture2D::getHeight):
+        (gl::RenderbufferTexture2D::getInternalFormat):
+        (gl::RenderbufferTexture2D::getD3DFormat):
+        (gl::RenderbufferTexture2D::getSamples):
+        (gl::RenderbufferTexture2D::getSerial):
+        (gl::RenderbufferTextureCubeMap::RenderbufferTextureCubeMap):
+        (gl::RenderbufferTextureCubeMap::~RenderbufferTextureCubeMap):
+        (gl::RenderbufferTextureCubeMap::addProxyRef):
+        (gl::RenderbufferTextureCubeMap::releaseProxy):
+        (gl::RenderbufferTextureCubeMap::getRenderTarget):
+        (gl::RenderbufferTextureCubeMap::getDepthStencil):
+        (gl::RenderbufferTextureCubeMap::getWidth):
+        (gl::RenderbufferTextureCubeMap::getHeight):
+        (gl::RenderbufferTextureCubeMap::getInternalFormat):
+        (gl::RenderbufferTextureCubeMap::getD3DFormat):
+        (gl::RenderbufferTextureCubeMap::getSamples):
+        (gl::RenderbufferTextureCubeMap::getSerial):
+        (gl::Renderbuffer::Renderbuffer):
+        (gl::Renderbuffer::~Renderbuffer):
+        (gl::Renderbuffer::addRef):
+        (gl::Renderbuffer::release):
+        (gl::Renderbuffer::getRenderTarget):
+        (gl::Renderbuffer::getDepthStencil):
+        (gl::Renderbuffer::getWidth):
+        (gl::Renderbuffer::getHeight):
+        (gl::Renderbuffer::getInternalFormat):
+        (gl::Renderbuffer::getD3DFormat):
+        (gl::Renderbuffer::getRedSize):
+        (gl::Renderbuffer::getGreenSize):
+        (gl::Renderbuffer::getBlueSize):
+        (gl::Renderbuffer::getAlphaSize):
+        (gl::Renderbuffer::getDepthSize):
+        (gl::Renderbuffer::getStencilSize):
+        (gl::Renderbuffer::getSamples):
+        (gl::Renderbuffer::getSerial):
+        (gl::Renderbuffer::setStorage):
+        (gl::RenderbufferStorage::RenderbufferStorage):
+        (gl::RenderbufferStorage::~RenderbufferStorage):
+        (gl::RenderbufferStorage::getRenderTarget):
+        (gl::RenderbufferStorage::getDepthStencil):
+        (gl::RenderbufferStorage::getWidth):
+        (gl::RenderbufferStorage::getHeight):
+        (gl::RenderbufferStorage::getInternalFormat):
+        (gl::RenderbufferStorage::getD3DFormat):
+        (gl::RenderbufferStorage::getSamples):
+        (gl::RenderbufferStorage::getSerial):
+        (gl::RenderbufferStorage::issueSerial):
+        (gl::RenderbufferStorage::issueCubeSerials):
+        (gl::Colorbuffer::Colorbuffer):
+        (gl::Colorbuffer::~Colorbuffer):
+        (gl::Colorbuffer::getRenderTarget):
+        (gl::DepthStencilbuffer::DepthStencilbuffer):
+        (gl::DepthStencilbuffer::~DepthStencilbuffer):
+        (gl::DepthStencilbuffer::getDepthStencil):
+        (gl::Depthbuffer::Depthbuffer):
+        (gl::Depthbuffer::~Depthbuffer):
+        (gl::Stencilbuffer::Stencilbuffer):
+        (gl::Stencilbuffer::~Stencilbuffer):
+        * src/libGLESv2/Renderbuffer.h: Added.
+        (gl::RenderbufferInterface::~RenderbufferInterface):
+        * src/libGLESv2/ResourceManager.cpp: Added.
+        (gl::ResourceManager::ResourceManager):
+        (gl::ResourceManager::~ResourceManager):
+        (gl::ResourceManager::addRef):
+        (gl::ResourceManager::release):
+        (gl::ResourceManager::createBuffer):
+        (gl::ResourceManager::createShader):
+        (gl::ResourceManager::createProgram):
+        (gl::ResourceManager::createTexture):
+        (gl::ResourceManager::createRenderbuffer):
+        (gl::ResourceManager::deleteBuffer):
+        (gl::ResourceManager::deleteShader):
+        (gl::ResourceManager::deleteProgram):
+        (gl::ResourceManager::deleteTexture):
+        (gl::ResourceManager::deleteRenderbuffer):
+        (gl::ResourceManager::getBuffer):
+        (gl::ResourceManager::getShader):
+        (gl::ResourceManager::getTexture):
+        (gl::ResourceManager::getProgram):
+        (gl::ResourceManager::getRenderbuffer):
+        (gl::ResourceManager::setRenderbuffer):
+        (gl::ResourceManager::checkBufferAllocation):
+        (gl::ResourceManager::checkTextureAllocation):
+        (gl::ResourceManager::checkRenderbufferAllocation):
+        * src/libGLESv2/ResourceManager.h: Added.
+        * src/libGLESv2/Shader.cpp: Added.
+        (gl::Shader::Shader):
+        (gl::Shader::~Shader):
+        (gl::Shader::getHandle):
+        (gl::Shader::setSource):
+        (gl::Shader::getInfoLogLength):
+        (gl::Shader::getInfoLog):
+        (gl::Shader::getSourceLength):
+        (gl::Shader::getTranslatedSourceLength):
+        (gl::Shader::getSourceImpl):
+        (gl::Shader::getSource):
+        (gl::Shader::getTranslatedSource):
+        (gl::Shader::isCompiled):
+        (gl::Shader::getHLSL):
+        (gl::Shader::addRef):
+        (gl::Shader::release):
+        (gl::Shader::getRefCount):
+        (gl::Shader::isFlaggedForDeletion):
+        (gl::Shader::flagForDeletion):
+        (gl::Shader::initializeCompiler):
+        (gl::Shader::releaseCompiler):
+        (gl::Shader::parseVaryings):
+        (gl::Shader::uncompile):
+        (gl::Shader::compileToHLSL):
+        (gl::Shader::parseType):
+        (gl::Shader::compareVarying):
+        (gl::VertexShader::VertexShader):
+        (gl::VertexShader::~VertexShader):
+        (gl::VertexShader::getType):
+        (gl::VertexShader::uncompile):
+        (gl::VertexShader::compile):
+        (gl::VertexShader::getSemanticIndex):
+        (gl::VertexShader::parseAttributes):
+        (gl::FragmentShader::FragmentShader):
+        (gl::FragmentShader::~FragmentShader):
+        (gl::FragmentShader::getType):
+        (gl::FragmentShader::compile):
+        * src/libGLESv2/Shader.h: Added.
+        (gl::Varying::Varying):
+        (gl::Attribute::Attribute):
+        * src/libGLESv2/Texture.cpp: Added.
+        (gl::ConvertTextureInternalFormat):
+        (gl::IsTextureFormatRenderable):
+        (gl::GetTextureUsage):
+        (gl::MakeValidSize):
+        (gl::CopyLockableSurfaces):
+        (gl::Image::Image):
+        (gl::Image::~Image):
+        (gl::Image::redefine):
+        (gl::Image::createSurface):
+        (gl::Image::lock):
+        (gl::Image::unlock):
+        (gl::Image::isRenderableFormat):
+        (gl::Image::getD3DFormat):
+        (gl::Image::getSurface):
+        (gl::Image::setManagedSurface):
+        (gl::Image::updateSurface):
+        (gl::Image::loadData):
+        (gl::Image::loadAlphaData):
+        (gl::Image::loadAlphaFloatData):
+        (gl::Image::loadAlphaHalfFloatData):
+        (gl::Image::loadLuminanceData):
+        (gl::Image::loadLuminanceFloatData):
+        (gl::Image::loadLuminanceHalfFloatData):
+        (gl::Image::loadLuminanceAlphaData):
+        (gl::Image::loadLuminanceAlphaFloatData):
+        (gl::Image::loadLuminanceAlphaHalfFloatData):
+        (gl::Image::loadRGBUByteData):
+        (gl::Image::loadRGB565Data):
+        (gl::Image::loadRGBFloatData):
+        (gl::Image::loadRGBHalfFloatData):
+        (gl::Image::loadRGBAUByteData):
+        (gl::Image::loadRGBA4444Data):
+        (gl::Image::loadRGBA5551Data):
+        (gl::Image::loadRGBAFloatData):
+        (gl::Image::loadRGBAHalfFloatData):
+        (gl::Image::loadBGRAData):
+        (gl::Image::loadCompressedData):
+        (gl::Image::copy):
+        (gl::TextureStorage::TextureStorage):
+        (gl::TextureStorage::~TextureStorage):
+        (gl::TextureStorage::isRenderTarget):
+        (gl::TextureStorage::isManaged):
+        (gl::TextureStorage::getPool):
+        (gl::TextureStorage::getUsage):
+        (gl::TextureStorage::getTextureSerial):
+        (gl::TextureStorage::issueTextureSerial):
+        (gl::TextureStorage::getLodOffset):
+        (gl::Texture::Texture):
+        (gl::Texture::~Texture):
+        (gl::Texture::setMinFilter):
+        (gl::Texture::setMagFilter):
+        (gl::Texture::setWrapS):
+        (gl::Texture::setWrapT):
+        (gl::Texture::setMaxAnisotropy):
+        (gl::Texture::setUsage):
+        (gl::Texture::getMinFilter):
+        (gl::Texture::getMagFilter):
+        (gl::Texture::getWrapS):
+        (gl::Texture::getWrapT):
+        (gl::Texture::getMaxAnisotropy):
+        (gl::Texture::getUsage):
+        (gl::Texture::isMipmapFiltered):
+        (gl::Texture::setImage):
+        (gl::Texture::setCompressedImage):
+        (gl::Texture::subImage):
+        (gl::Texture::subImageCompressed):
+        (gl::Texture::getTexture):
+        (gl::Texture::hasDirtyParameters):
+        (gl::Texture::hasDirtyImages):
+        (gl::Texture::resetDirty):
+        (gl::Texture::getTextureSerial):
+        (gl::Texture::getRenderTargetSerial):
+        (gl::Texture::isImmutable):
+        (gl::Texture::getLodOffset):
+        (gl::Texture::creationLevels):
+        (gl::Texture::levelCount):
+        (gl::Texture::getBlitter):
+        (gl::Texture::copyToRenderTarget):
+        (gl::TextureStorage2D::TextureStorage2D):
+        (gl::TextureStorage2D::~TextureStorage2D):
+        (gl::TextureStorage2D::getSurfaceLevel):
+        (gl::TextureStorage2D::getBaseTexture):
+        (gl::TextureStorage2D::getRenderTargetSerial):
+        (gl::Texture2D::Texture2D):
+        (gl::Texture2D::~Texture2D):
+        (gl::Texture2D::addProxyRef):
+        (gl::Texture2D::releaseProxy):
+        (gl::Texture2D::getTarget):
+        (gl::Texture2D::getWidth):
+        (gl::Texture2D::getHeight):
+        (gl::Texture2D::getInternalFormat):
+        (gl::Texture2D::getD3DFormat):
+        (gl::Texture2D::redefineImage):
+        (gl::Texture2D::setImage):
+        (gl::Texture2D::bindTexImage):
+        (gl::Texture2D::releaseTexImage):
+        (gl::Texture2D::setCompressedImage):
+        (gl::Texture2D::commitRect):
+        (gl::Texture2D::subImage):
+        (gl::Texture2D::subImageCompressed):
+        (gl::Texture2D::copyImage):
+        (gl::Texture2D::copySubImage):
+        (gl::Texture2D::storage):
+        (gl::Texture2D::isSamplerComplete):
+        (gl::Texture2D::isMipmapComplete):
+        (gl::Texture2D::isCompressed):
+        (gl::Texture2D::isDepth):
+        (gl::Texture2D::getBaseTexture):
+        (gl::Texture2D::createTexture):
+        (gl::Texture2D::updateTexture):
+        (gl::Texture2D::convertToRenderTarget):
+        (gl::Texture2D::generateMipmaps):
+        (gl::Texture2D::getRenderbuffer):
+        (gl::Texture2D::getRenderTarget):
+        (gl::Texture2D::getDepthStencil):
+        (gl::Texture2D::getStorage):
+        (gl::TextureStorageCubeMap::TextureStorageCubeMap):
+        (gl::TextureStorageCubeMap::~TextureStorageCubeMap):
+        (gl::TextureStorageCubeMap::getCubeMapSurface):
+        (gl::TextureStorageCubeMap::getBaseTexture):
+        (gl::TextureStorageCubeMap::getRenderTargetSerial):
+        (gl::TextureCubeMap::TextureCubeMap):
+        (gl::TextureCubeMap::~TextureCubeMap):
+        (gl::TextureCubeMap::addProxyRef):
+        (gl::TextureCubeMap::releaseProxy):
+        (gl::TextureCubeMap::getTarget):
+        (gl::TextureCubeMap::getWidth):
+        (gl::TextureCubeMap::getHeight):
+        (gl::TextureCubeMap::getInternalFormat):
+        (gl::TextureCubeMap::getD3DFormat):
+        (gl::TextureCubeMap::setImagePosX):
+        (gl::TextureCubeMap::setImageNegX):
+        (gl::TextureCubeMap::setImagePosY):
+        (gl::TextureCubeMap::setImageNegY):
+        (gl::TextureCubeMap::setImagePosZ):
+        (gl::TextureCubeMap::setImageNegZ):
+        (gl::TextureCubeMap::setCompressedImage):
+        (gl::TextureCubeMap::commitRect):
+        (gl::TextureCubeMap::subImage):
+        (gl::TextureCubeMap::subImageCompressed):
+        (gl::TextureCubeMap::isSamplerComplete):
+        (gl::TextureCubeMap::isCubeComplete):
+        (gl::TextureCubeMap::isMipmapCubeComplete):
+        (gl::TextureCubeMap::isCompressed):
+        (gl::TextureCubeMap::getBaseTexture):
+        (gl::TextureCubeMap::createTexture):
+        (gl::TextureCubeMap::updateTexture):
+        (gl::TextureCubeMap::convertToRenderTarget):
+        (gl::TextureCubeMap::setImage):
+        (gl::TextureCubeMap::faceIndex):
+        (gl::TextureCubeMap::redefineImage):
+        (gl::TextureCubeMap::copyImage):
+        (gl::TextureCubeMap::copySubImage):
+        (gl::TextureCubeMap::storage):
+        (gl::TextureCubeMap::generateMipmaps):
+        (gl::TextureCubeMap::getRenderbuffer):
+        (gl::TextureCubeMap::getRenderTarget):
+        (gl::TextureCubeMap::getStorage):
+        * src/libGLESv2/Texture.h: Added.
+        (gl::Image::markDirty):
+        (gl::Image::markClean):
+        (gl::Image::getWidth):
+        (gl::Image::getHeight):
+        (gl::Image::getInternalFormat):
+        (gl::Image::isDirty):
+        * src/libGLESv2/TextureSSE2.cpp: Added.
+        (gl::Image::loadRGBAUByteDataSSE2):
+        (gl::Image::loadAlphaDataSSE2):
+        * src/libGLESv2/VertexDataManager.cpp: Added.
+        (gl::elementsInBuffer):
+        (gl::VertexDataManager::VertexDataManager):
+        (gl::VertexDataManager::~VertexDataManager):
+        (gl::VertexDataManager::writeAttributeData):
+        (gl::VertexDataManager::prepareVertexData):
+        (gl::VertexDataManager::spaceRequired):
+        (gl::VertexDataManager::checkVertexCaps):
+        (gl::VertexDataManager::typeIndex):
+        (gl::VertexBuffer::VertexBuffer):
+        (gl::VertexBuffer::~VertexBuffer):
+        (gl::VertexBuffer::unmap):
+        (gl::VertexBuffer::getBuffer):
+        (gl::VertexBuffer::getSerial):
+        (gl::VertexBuffer::issueSerial):
+        (gl::ArrayVertexBuffer::ArrayVertexBuffer):
+        (gl::ArrayVertexBuffer::~ArrayVertexBuffer):
+        (gl::ArrayVertexBuffer::addRequiredSpace):
+        (gl::StreamingVertexBuffer::StreamingVertexBuffer):
+        (gl::StreamingVertexBuffer::~StreamingVertexBuffer):
+        (gl::StreamingVertexBuffer::map):
+        (gl::StreamingVertexBuffer::reserveRequiredSpace):
+        (gl::StaticVertexBuffer::StaticVertexBuffer):
+        (gl::StaticVertexBuffer::~StaticVertexBuffer):
+        (gl::StaticVertexBuffer::map):
+        (gl::StaticVertexBuffer::reserveRequiredSpace):
+        (gl::StaticVertexBuffer::lookupAttribute):
+        (gl::VertexDataManager::formatConverter):
+        * src/libGLESv2/VertexDataManager.h: Added.
+        (gl::ArrayVertexBuffer::size):
+        (gl::VertexDataManager::dirtyCurrentValue):
+        * src/libGLESv2/libGLESv2.cpp: Added.
+        (validImageSize):
+        (checkTextureFormatType):
+        (validateSubImageParams2D):
+        (validateSubImageParamsCube):
+        (validReadFormatType):
+        * src/libGLESv2/libGLESv2.def: Added.
+        * src/libGLESv2/libGLESv2.rc: Added.
+        * src/libGLESv2/libGLESv2.vcxproj: Added.
+        * src/libGLESv2/libGLESv2.vcxproj.filters: Added.
+        * src/libGLESv2/main.cpp: Added.
+        (DllMain):
+        (gl::makeCurrent):
+        (gl::getContext):
+        (gl::getNonLostContext):
+        (gl::getDisplay):
+        (gl::getDevice):
+        (gl::checkDeviceLost):
+        (error):
+        * src/libGLESv2/main.h: Added.
+        (error):
+        * src/libGLESv2/mathutil.h: Added.
+        (gl::Vector4::Vector4):
+        (gl::isPow2):
+        (gl::log2):
+        (gl::ceilPow2):
+        (gl::clamp):
+        (gl::clamp01):
+        (gl::unorm):
+        (gl::supportsSSE2):
+        (gl::float32ToFloat16):
+        * src/libGLESv2/resource.h: Added.
+        * src/libGLESv2/shaders: Added.
+        * src/libGLESv2/shaders/Blit.ps: Added.
+        * src/libGLESv2/shaders/Blit.vs: Added.
+        * src/libGLESv2/shaders/componentmaskps.h: Added.
+        * src/libGLESv2/shaders/flipyvs.h: Added.
+        * src/libGLESv2/shaders/generate_shaders.bat: Added.
+        * src/libGLESv2/shaders/luminanceps.h: Added.
+        * src/libGLESv2/shaders/passthroughps.h: Added.
+        * src/libGLESv2/shaders/standardvs.h: Added.
+        * src/libGLESv2/utilities.cpp: Added.
+        (gl::UniformExternalComponentCount):
+        (gl::UniformInternalComponentCount):
+        (gl::UniformComponentType):
+        (gl::UniformComponentSize):
+        (gl::UniformInternalSize):
+        (gl::UniformExternalSize):
+        (gl::VariableRowCount):
+        (gl::VariableColumnCount):
+        (gl::AllocateFirstFreeBits):
+        (gl::ComputePitch):
+        (gl::ComputeCompressedPitch):
+        (gl::ComputeCompressedSize):
+        (gl::IsCompressed):
+        (gl::IsDepthTexture):
+        (gl::IsStencilTexture):
+        (gl::ComputePixelSize):
+        (gl::IsCubemapTextureTarget):
+        (gl::IsInternalTextureTarget):
+        (gl::ConvertSizedInternalFormat):
+        (gl::ExtractFormat):
+        (gl::ExtractType):
+        (gl::IsColorRenderable):
+        (gl::IsDepthRenderable):
+        (gl::IsStencilRenderable):
+        (gl::IsFloat32Format):
+        (gl::IsFloat16Format):
+        (es2dx::ConvertComparison):
+        (es2dx::ConvertColor):
+        (es2dx::ConvertBlendFunc):
+        (es2dx::ConvertBlendOp):
+        (es2dx::ConvertStencilOp):
+        (es2dx::ConvertTextureWrap):
+        (es2dx::ConvertCullMode):
+        (es2dx::ConvertCubeFace):
+        (es2dx::ConvertColorMask):
+        (es2dx::ConvertMagFilter):
+        (es2dx::ConvertMinFilter):
+        (es2dx::ConvertPrimitiveType):
+        (es2dx::ConvertRenderbufferFormat):
+        (es2dx::GetMultisampleTypeFromSamples):
+        (dx2es::GetStencilSize):
+        (dx2es::GetAlphaSize):
+        (dx2es::GetRedSize):
+        (dx2es::GetGreenSize):
+        (dx2es::GetBlueSize):
+        (dx2es::GetDepthSize):
+        (dx2es::GetSamplesFromMultisampleType):
+        (dx2es::IsFormatChannelEquivalent):
+        (dx2es::ConvertReadBufferFormat):
+        (dx2es::ConvertBackBufferFormat):
+        (dx2es::ConvertDepthStencilFormat):
+        (dx::IsCompressedFormat):
+        (dx::ComputeRowSize):
+        (getTempPath):
+        (writeFile):
+        * src/libGLESv2/utilities.h: Added.
+        (isDeviceLostError):
+        * src/libGLESv2/vertexconversion.h: Added.
+        (gl::Identity::convert):
+        (gl::Cast::convert):
+        (gl::Normalize::convert):
+        (gl::FixedToFloat::convert):
+        (gl::SimpleDefaultValues::zero):
+        (gl::SimpleDefaultValues::one):
+        (gl::NormalizedDefaultValues::zero):
+        (gl::NormalizedDefaultValues::one):
+        (gl::VertexDataConverter::convertArray):
+        (gl::VertexDataConverter::pointerAddBytes):
+        (gl::VertexDataConverter::copyComponent):
+
+2013-07-17  Alex Christensen  <achristensen@apple.com>
+
+        Made a repeatable process for updating ANGLE that does not include manually editing any files.
+        https://bugs.webkit.org/show_bug.cgi?id=118815
+
+        Reviewed by Dean Jackson.
+
+        * src/compiler/glslang.y:
+        * src/compiler/glslang_lex.cpp:
+        * src/compiler/glslang_tab.cpp:
+        * src/compiler/glslang_tab.h: Put YYLTYPE definition in %union instead of prologue and ran Bison.
+
+2013-07-16  Alex Christensen  <achristensen@apple.com>
+
+        Update ANGLE from r1987 to r2426 while keeping these changes:
+        Keeping #if defined(_MSC_VER) around #pragma warning(disable: 4718) in DependencyGraph.cpp.
+        Keeping include khrplatform.h instead of KHR/khrplatform.h in ShaderLang.h.
+        Added static_casts in Intermediate.cpp to fix compiling on Mac.
+        Changed enum bit fields to just enums for GCC in Types.h to fix compiling for GTK.
+        Ran Bison on Mac after removing the unsupported %code tag (See diff uploaded to bug for details).
+        Added YYLTYPE definition to glslang_tab.h which would have been put there by the unsupported %code tag.
+
+        https://bugs.webkit.org/show_bug.cgi?id=118550
+
+        Reviewed by Dean Jackson.
+
+        * ANGLE.plist: Updated revision of ANGLE to 2426.
+        * ANGLE.xcodeproj/project.pbxproj:
+        * GNUmakefile.am:
+        * Target.pri:
+            Renamed DetectRecursion to DetectCallDepth and added builtin_symbol_table.
+        * include/GLSLANG/ShaderLang.h:
+        * src/common/version.h:
+        * src/compiler/BaseTypes.h:
+        (getQualifierString):
+        * src/compiler/Common.h:
+        * src/compiler/Compiler.cpp:
+        (TCompiler::TCompiler):
+        (TCompiler::Init):
+        (TCompiler::compile):
+        (TCompiler::detectCallDepth):
+        (TCompiler::enforceTimingRestrictions):
+        (TCompiler::limitExpressionComplexity):
+        * src/compiler/ConstantUnion.h:
+        (ConstantUnion::ConstantUnion):
+        * src/compiler/DetectCallDepth.cpp: Added.
+        (DetectCallDepth::FunctionNode::FunctionNode):
+        (DetectCallDepth::FunctionNode::getName):
+        (DetectCallDepth::FunctionNode::addCallee):
+        (DetectCallDepth::FunctionNode::detectCallDepth):
+        (DetectCallDepth::FunctionNode::reset):
+        (DetectCallDepth::DetectCallDepth):
+        (DetectCallDepth::~DetectCallDepth):
+        (DetectCallDepth::visitAggregate):
+        (DetectCallDepth::checkExceedsMaxDepth):
+        (DetectCallDepth::resetFunctionNodes):
+        (DetectCallDepth::detectCallDepthForFunction):
+        (DetectCallDepth::detectCallDepth):
+        (DetectCallDepth::findFunctionByName):
+        * src/compiler/DetectCallDepth.h: Added.
+        (DetectCallDepth::getInfoSink):
+        * src/compiler/DetectRecursion.cpp: Removed.
+        * src/compiler/DetectRecursion.h: Removed.
+        * src/compiler/Diagnostics.cpp:
+        (TDiagnostics::writeInfo):
+        * src/compiler/ForLoopUnroll.cpp:
+        (ForLoopUnroll::evaluateIntConstant):
+        * src/compiler/InfoSink.cpp:
+        (TInfoSinkBase::prefix):
+        (TInfoSinkBase::location):
+        (TInfoSinkBase::message):
+        * src/compiler/InfoSink.h:
+        * src/compiler/Initialize.cpp:
+        (TBuiltIns::initialize):
+        (IdentifyBuiltIns):
+        (InitExtensionBehavior):
+        * src/compiler/Intermediate.cpp: Updated and added static_casts to fix build errors on Mac.
+        (TIntermediate::addSymbol):
+        (TIntermediate::addBinaryMath):
+        (TIntermediate::addAssign):
+        (TIntermediate::addIndex):
+        (TIntermediate::addUnaryMath):
+        (TIntermediate::setAggregateOperator):
+        (TIntermediate::addConversion):
+        (TIntermediate::growAggregate):
+        (TIntermediate::makeAggregate):
+        (TIntermediate::addSelection):
+        (TIntermediate::addComma):
+        (TIntermediate::addConstantUnion):
+        (TIntermediate::addSwizzle):
+        (TIntermediate::addLoop):
+        (TIntermediate::addBranch):
+        (TIntermUnary::promote):
+        (TIntermBinary::promote):
+        (CompareStruct):
+        (CompareStructure):
+        (TIntermConstantUnion::fold):
+        (TIntermediate::promoteConstantUnion):
+        * src/compiler/OutputGLSL.cpp:
+        (TOutputGLSL::visitSymbol):
+        * src/compiler/OutputGLSL.h:
+        * src/compiler/OutputGLSLBase.cpp:
+        (TOutputGLSLBase::writeVariableType):
+        (TOutputGLSLBase::writeConstantUnion):
+        (TOutputGLSLBase::visitBinary):
+        (TOutputGLSLBase::visitAggregate):
+        (TOutputGLSLBase::getTypeName):
+        (TOutputGLSLBase::hashFunctionName):
+        (TOutputGLSLBase::structDeclared):
+        (TOutputGLSLBase::declareStruct):
+        * src/compiler/OutputGLSLBase.h:
+        * src/compiler/OutputHLSL.cpp:
+        (sh::OutputHLSL::OutputHLSL):
+        (sh::OutputHLSL::header):
+        (sh::OutputHLSL::visitSymbol):
+        (sh::OutputHLSL::visitBinary):
+        (sh::OutputHLSL::visitAggregate):
+        (sh::OutputHLSL::visitSelection):
+        (sh::OutputHLSL::visitLoop):
+        (sh::OutputHLSL::handleExcessiveLoop):
+        (sh::OutputHLSL::typeString):
+        (sh::OutputHLSL::initializer):
+        (sh::OutputHLSL::addConstructor):
+        (sh::OutputHLSL::writeConstantUnion):
+        (sh::OutputHLSL::decorateField):
+        * src/compiler/OutputHLSL.h:
+        * src/compiler/ParseHelper.cpp:
+        (TParseContext::parseVectorFields):
+        (TParseContext::parseMatrixFields):
+        (TParseContext::error):
+        (TParseContext::warning):
+        (TParseContext::assignError):
+        (TParseContext::unaryOpError):
+        (TParseContext::binaryOpError):
+        (TParseContext::precisionErrorCheck):
+        (TParseContext::lValueErrorCheck):
+        (TParseContext::globalErrorCheck):
+        (TParseContext::reservedErrorCheck):
+        (TParseContext::constructorErrorCheck):
+        (TParseContext::voidErrorCheck):
+        (TParseContext::boolErrorCheck):
+        (TParseContext::samplerErrorCheck):
+        (TParseContext::structQualifierErrorCheck):
+        (TParseContext::parameterSamplerErrorCheck):
+        (TParseContext::containsSampler):
+        (TParseContext::arraySizeErrorCheck):
+        (TParseContext::arrayQualifierErrorCheck):
+        (TParseContext::arrayTypeErrorCheck):
+        (TParseContext::arrayErrorCheck):
+        (TParseContext::nonInitConstErrorCheck):
+        (TParseContext::nonInitErrorCheck):
+        (TParseContext::paramErrorCheck):
+        (TParseContext::extensionErrorCheck):
+        (TParseContext::findFunction):
+        (TParseContext::isVariableBuiltIn):
+        (TParseContext::executeInitializer):
+        (TParseContext::addConstructor):
+        (TParseContext::constructBuiltIn):
+        (TParseContext::constructStruct):
+        (TParseContext::addConstVectorNode):
+        (TParseContext::addConstMatrixNode):
+        (TParseContext::addConstArrayNode):
+        (TParseContext::addConstStruct):
+        (TParseContext::enterStructDeclaration):
+        (TParseContext::structNestingErrorCheck):
+        * src/compiler/ParseHelper.h:
+        (TParseContext::TParseContext):
+        (TParseContext::pragma):
+        * src/compiler/PoolAlloc.cpp:
+        (TPoolAllocator::allocate):
+        * src/compiler/ShHandle.h:
+        * src/compiler/ShaderLang.cpp:
+        (ShInitBuiltInResources):
+        * src/compiler/SymbolTable.cpp:
+        (TType::TType):
+        (TType::buildMangledName):
+        (TType::getObjectSize):
+        (TStructure::containsArrays):
+        (TStructure::buildMangledName):
+        (TStructure::calculateObjectSize):
+        (TStructure::calculateDeepestNesting):
+        (TSymbolTableLevel::relateToExtension):
+        * src/compiler/SymbolTable.h:
+        (TSymbol::relateToExtension):
+        (TSymbol::getExtension):
+        (TVariable::TVariable):
+        (TVariable::setQualifier):
+        (TVariable::shareConstPointer):
+        * src/compiler/Types.h: Updated and changed enum bit fields to enums to fix compiling with GCC.
+        (TField::TField):
+        (TField::type):
+        (TField::name):
+        (NewPoolTFieldList):
+        (TStructure::TStructure):
+        (TStructure::name):
+        (TStructure::fields):
+        (TStructure::mangledName):
+        (TStructure::objectSize):
+        (TStructure::deepestNesting):
+        (TType::TType):
+        (TType::clearArrayness):
+        (TType::getStruct):
+        (TType::setStruct):
+        (TType::getMangledName):
+        (TType::getDeepestStructNesting):
+        (TType::isStructureContainingArrays):
+        (TPublicType::setBasic):
+        * src/compiler/VariableInfo.cpp:
+        (getUserDefinedVariableInfo):
+        * src/compiler/builtin_symbol_table.cpp: Added.
+        (builtin1):
+        (builtin2):
+        (builtin3):
+        (InsertBuiltInFunctionsCommon):
+        (InsertBuiltInFunctionsVertex):
+        * src/compiler/builtin_symbol_table.h: Added.
+        * src/compiler/glslang.l:
+        * src/compiler/glslang.y:
+        * src/compiler/glslang_lex.cpp:
+        (yy_get_previous_state):
+        (yy_try_NUL_trans):
+        (yyget_lloc):
+        (yyset_lloc):
+        (string_input):
+        (check_type):
+        (reserved_word):
+        (glslang_scan):
+        * src/compiler/glslang_tab.cpp:
+        (yysyntax_error):
+        (yyerror):
+        (glslang_parse):
+        * src/compiler/glslang_tab.h: Readded YYLTYPE definition after Bison removed it.
+        * src/compiler/intermOut.cpp:
+        (TOutputTraverser::visitUnary):
+        (TOutputTraverser::visitAggregate):
+        (TOutputTraverser::visitConstantUnion):
+        * src/compiler/intermediate.h:
+        (TIntermNode::TIntermNode):
+        (TIntermNode::~TIntermNode):
+        (TIntermNode::getLine):
+        (TIntermNode::setLine):
+        (TIntermNode::getAsLoopNode):
+        (TIntermConstantUnion::getIConst):
+        (TIntermConstantUnion::getFConst):
+        (TIntermConstantUnion::getBConst):
+        (TIntermAggregate::TIntermAggregate):
+        (TIntermTraverser::TIntermTraverser):
+        (TIntermTraverser::getMaxDepth):
+        (TIntermTraverser::incrementDepth):
+        * src/compiler/localintermediate.h:
+        * src/compiler/parseConst.cpp:
+        (TConstTraverser::visitSymbol):
+        (TConstTraverser::visitBinary):
+        (TConstTraverser::visitUnary):
+        (TConstTraverser::visitAggregate):
+        (TConstTraverser::visitSelection):
+        (TConstTraverser::visitConstantUnion):
+        (TConstTraverser::visitLoop):
+        (TConstTraverser::visitBranch):
+        (TIntermediate::parseConstTree):
+        * src/compiler/preprocessor/ExpressionParser.cpp:
+        * src/compiler/timing/RestrictVertexShaderTiming.cpp:
+        (RestrictVertexShaderTiming::visitSymbol):
+            Updated ANGLE to r2426 and ran Bison.
+
+2013-06-17  Darin Adler  <darin@apple.com>
+
+        Sort all the Xcode project files
+        https://bugs.webkit.org/show_bug.cgi?id=117696
+
+        Reviewed by Anders Carlsson.
+
+        * ANGLE.xcodeproj/project.pbxproj: Ran the sort-Xcode-project-file script.
+
+2013-04-18  Krzysztof Wolanski  <k.wolanski@samsung.com>
+
+        Add checking whether the compiler allows to use #pragma directive.
+        https://bugs.webkit.org/show_bug.cgi?id=114740
+
+        Reviewed by Andreas Kling.
+
+        Some compilers may complain that #pragma warning is an undefined macro.
+
+        * src/compiler/depgraph/DependencyGraph.cpp:
+
+2013-04-11  Andras Becsi  <andras.becsi@digia.com>
+
+        [Qt][Mac] Linking fails with Qt 5.1
+        https://bugs.webkit.org/show_bug.cgi?id=114435
+
+        Reviewed by Tor Arne Vestbø.
+
+        Qt 5.1 enables C++11 by default when using clang on Mac
+        and links against the libc++ standard library. As a result
+        building the QtWebKit shared library fails when linking
+        agains the ANGLE intermediate static library because libc++
+        misses some symbols needed by ANGLE.
+        Disable C++11 for the ANGLE intermediate library to fix the build.
+
+        * ANGLE.pri:
+
+2013-04-10  Benjamin Poulain  <bpoulain@apple.com>
+
+        Mass remove all the empty directories
+
+        Rubberstamped by Ryosuke Niwa.
+
+        * src/libGLESv2/geometry: Removed.
+
+2013-04-08  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Remove ANGLE.gyp
+        https://bugs.webkit.org/show_bug.cgi?id=114245
+
+        Unreviewed. Just removing an empty directory.
+
+        * ANGLE.gyp: Removed.
+
+2013-04-04  Martin Robinson  <mrobinson@igalia.com>
+
+        [GTK] Remove the gyp build
+        https://bugs.webkit.org/show_bug.cgi?id=113942
+
+        Reviewed by Gustavo Noronha Silva.
+
+        * ANGLE.gyp/ANGLE.gyp: Removed.
+        * ANGLE.gypi: Removed.
+
+2013-03-20  Zan Dobersek  <zdobersek@igalia.com>
+
+        [GTK] Build ANGLE sources into a separate library from libWebCore.la
+        https://bugs.webkit.org/show_bug.cgi?id=112778
+
+        Reviewed by Martin Robinson.
+
+        * GNUmakefile.am: Added, sets up the libANGLE.la library.
+
+2013-03-05  Kenneth Russell  <kbr@google.com>
+
+        Upgrade ANGLE to r1987
+        https://bugs.webkit.org/show_bug.cgi?id=111381
+
+        Reviewed by Dean Jackson.
+
+        * include/GLSLANG/ShaderLang.h:
+        * src/common/version.h:
+        * src/compiler/Compiler.cpp:
+        (TCompiler::TCompiler):
+        (TCompiler::Init):
+        (TCompiler::compile):
+        * src/compiler/ParseHelper.h:
+        (TParseContext):
+        * src/compiler/ShHandle.h:
+        (TCompiler):
+        * src/compiler/ShaderLang.cpp:
+        (ShInitBuiltInResources):
+        * src/compiler/UnfoldShortCircuit.cpp:
+        (sh::UnfoldShortCircuit::visitSelection):
+        * src/compiler/glslang.l:
+        * src/compiler/glslang.y:
+        * src/compiler/glslang_lex.cpp:
+        (glslang_scan):
+        * src/compiler/glslang_tab.cpp:
+             Updated ANGLE to r1987.
+
+2013-03-01  Martin Robinson  <mrobinson@igalia.com>
+
+        [GTK] Add ANGLE to the GTK+ gyp build
+        https://bugs.webkit.org/show_bug.cgi?id=111128
+
+        Reviewed by Dirk Pranke.
+
+        Add files that build an ANGLE static library for GTK+ using gyp.
+
+        * ANGLE.gyp/ANGLE.gyp: Added.
+        * ANGLE.gypi: Added.
+
+2013-02-22  Kenneth Russell  <kbr@google.com>
+
+        Mac OS build broken by new ExpressionParser.cpp
+        https://bugs.webkit.org/show_bug.cgi?id=110629
+
+        Unreviewed build fix. Regenerated ExpressionParser with Bison 2.3.
+
+        * src/compiler/preprocessor/ExpressionParser.cpp:
+
+2013-02-21  Zhenyao Mo  <zmo@google.com>
+
+        Roll ANGLE to r1833
+        https://bugs.webkit.org/show_bug.cgi?id=110513
+
+        Reviewed by Kenneth Russell.
+
+        Upstream ANGLE r1833 includes webkit side local fixes
+        1) r139758 build fix for -Wshorten-64-to-32
+        2) r139665 build fix for uninitialized variables
+
+        After this roll, WebKit side ANGLE is the same as upstream ANGLE r1833, except:
+        1) include/GLSLANG/ShaderLang.h, where "KHR" is removed from include path.
+
+        With this roll, we have EXT_draw_buffers support.
+        
+        * ANGLE.xcodeproj/project.pbxproj:
+        * Target.pri:
+        * include/GLSLANG/ShaderLang.h:
+        * src/common/debug.cpp:
+        * src/common/system.h: Added.
+        * src/common/version.h:
+        * src/compiler/ArrayBoundsClamper.cpp: Removed.
+        * src/compiler/ArrayBoundsClamper.h: Removed.
+        * src/compiler/Compiler.cpp:
+        (TCompiler::TCompiler):
+        (TCompiler::Init):
+        (TCompiler::compile):
+        (TCompiler::getArrayBoundsClamper):
+        (TCompiler::getArrayIndexClampingStrategy):
+        (TCompiler::getBuiltInFunctionEmulator):
+        * src/compiler/DetectDiscontinuity.cpp:
+        (sh::DetectLoopDiscontinuity::traverse):
+        (sh::DetectLoopDiscontinuity::visitLoop):
+        (sh):
+        (sh::DetectLoopDiscontinuity::visitBranch):
+        * src/compiler/DetectDiscontinuity.h:
+        (DetectLoopDiscontinuity):
+        * src/compiler/Initialize.cpp:
+        (InitExtensionBehavior):
+        * src/compiler/Intermediate.cpp:
+        (TIntermConstantUnion::fold):
+        (TIntermTraverser::hash):
+        * src/compiler/MapLongVariableNames.cpp:
+        (LongNameMap::Size):
+        (MapLongVariableNames::mapGlobalLongName):
+        * src/compiler/MapLongVariableNames.h:
+        (LongNameMap):
+        * src/compiler/OutputESSL.cpp:
+        (TOutputESSL::TOutputESSL):
+        * src/compiler/OutputESSL.h:
+        (TOutputESSL):
+        * src/compiler/OutputGLSL.cpp:
+        (TOutputGLSL::TOutputGLSL):
+        * src/compiler/OutputGLSL.h:
+        (TOutputGLSL):
+        * src/compiler/OutputGLSLBase.cpp:
+        (TOutputGLSLBase::TOutputGLSLBase):
+        (TOutputGLSLBase::writeConstantUnion):
+        (TOutputGLSLBase::visitBinary):
+        * src/compiler/OutputGLSLBase.h:
+        (TOutputGLSLBase):
+        * src/compiler/OutputHLSL.cpp:
+        (sh::OutputHLSL::output):
+        (sh::OutputHLSL::visitLoop):
+        (sh::OutputHLSL::writeConstantUnion):
+        * src/compiler/ParseHelper.cpp:
+        (TParseContext::constructorErrorCheck):
+        (PaParseStrings):
+        * src/compiler/ParseHelper.h:
+        * src/compiler/ShHandle.h:
+        (TCompiler):
+        * src/compiler/ShaderLang.cpp:
+        (checkActiveUniformAndAttribMaxLengths):
+        (checkMappedNameMaxLength):
+        (getVariableInfo):
+        (ShInitBuiltInResources):
+        (ShCompile):
+        (ShGetInfo):
+        (ShGetActiveAttrib):
+        (ShGetActiveUniform):
+        (ShGetNameHashingEntry):
+        * src/compiler/SymbolTable.h:
+        (TFunction::getParamCount):
+        (TFunction::getParam):
+        (TSymbolTable::setDefaultPrecision):
+        * src/compiler/TranslatorESSL.cpp:
+        (TranslatorESSL::translate):
+        * src/compiler/TranslatorGLSL.cpp:
+        (TranslatorGLSL::translate):
+        * src/compiler/ValidateLimitations.cpp:
+        (ValidateLimitations::validateFunctionCall):
+        * src/compiler/VariablePacker.cpp:
+        (VariablePacker::GetNumRows):
+        * src/compiler/glslang.h:
+        * src/compiler/glslang.l:
+        * src/compiler/glslang.y:
+        * src/compiler/glslang_lex.cpp:
+        (string_input):
+        (glslang_scan):
+        * src/compiler/glslang_tab.cpp:
+        * src/compiler/preprocessor/ExpressionParser.cpp:
+        * src/compiler/preprocessor/ExpressionParser.y:
+        * src/compiler/preprocessor/Input.cpp:
+        (pp::Input::Input):
+        (pp::Input::read):
+        * src/compiler/preprocessor/Input.h:
+        (Input):
+        (pp::Input::count):
+        (pp::Input::string):
+        (pp::Input::length):
+        (Location):
+        * src/compiler/preprocessor/Preprocessor.cpp:
+        (pp::Preprocessor::init):
+        * src/compiler/preprocessor/Preprocessor.h:
+        (Preprocessor):
+        * src/compiler/preprocessor/Tokenizer.cpp:
+        (pp::Tokenizer::init):
+        * src/compiler/preprocessor/Tokenizer.h:
+        (Tokenizer):
+        * src/compiler/preprocessor/Tokenizer.l:
+        * src/third_party: Added.
+        * src/third_party/compiler: Added.
+        * src/third_party/compiler/ArrayBoundsClamper.cpp: Added.
+        (ArrayBoundsClamper::ArrayBoundsClamper):
+        (ArrayBoundsClamper::SetClampingStrategy):
+        (ArrayBoundsClamper::MarkIndirectArrayBoundsForClamping):
+        (ArrayBoundsClamper::OutputClampingFunctionDefinition):
+        * src/third_party/compiler/ArrayBoundsClamper.h: Added.
+        (ArrayBoundsClamper):
+        (ArrayBoundsClamper::Cleanup):
+        (ArrayBoundsClamper::GetArrayBoundsClampDefinitionNeeded):
+        (ArrayBoundsClamper::SetArrayBoundsClampDefinitionNeeded):
+        * src/third_party/compiler/LICENSE: Added.
+        * src/third_party/compiler/README.angle: Added.
+
+2013-02-04  David Kilzer  <ddkilzer@apple.com>
+
+        Sort ANGLE Xcode project file.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+
+2013-01-30  David Kilzer  <ddkilzer@apple.com>
+
+        Remove useless comment from Base.xcconfig
+
+        Rubber-stamped by Mark Rowe.
+
+        * Configurations/Base.xcconfig: Remove comment.
+
+2013-01-16  Allan Sandfeld Jensen  <allan.jensen@digia.com>
+
+        Doesn't build with GCC 4.7+
+        https://bugs.webkit.org/show_bug.cgi?id=106999
+
+        Reviewed by Csaba Osztrogonác.
+
+        Correct __GNU_C_MINOR__ macro to __GNUC_MINOR__.
+
+        * src/compiler/preprocessor/ExpressionParser.y:
+
+2013-01-15  David Kilzer  <ddkilzer@apple.com>
+
+        BUILD FIX: Add SUPPORTED_PLATFORMS to Base.xcconfig
+
+        * Configurations/Base.xcconfig: Add SUPPORTED_PLATFORMS so that
+        Xcode knows we can build this project for all three platforms.
+        Previously the Mac OS X SDKs were missing in the scheme picker.
+
+2013-01-15  David Kilzer  <ddkilzer@apple.com>
+
+        Upstream iOS changes for ANGLE project
+        <http://webkit.org/b/106913>
+
+        Reviewed by Joseph Pecoraro.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        - Use $(INSTALL_PATH_PREFIX) with CopyFiles build phase paths.
+        - Add iOS.xcconfig to project.
+        * Configurations/ANGLE.xcconfig:
+        - Use INSTALL_PATH_ACTUAL instead of INSTALL_PATH.  (See below.)
+        - Use $(INSTALL_PATH_PREFIX) with PUBLIC_HEADERS_FOLDER_PATH.
+        * Configurations/Base.xcconfig:
+        - Include iOS.xcconfig.
+        - Add per-platform values for GCC_ENABLE_OBJC_GC and
+          GCC_MODEL_TUNING.
+        - Define INSTALL_PATH when building for macosx SDK.
+        * Configurations/iOS.xcconfig: Add.  Note that missing include
+        files are simply ignored without an error by Xcode.
+
+2013-01-15  David Kilzer  <ddkilzer@apple.com>
+
+        ANGLE should build with -Wshorten-64-to-32
+        <http://webkit.org/b/106798>
+        <http://code.google.com/p/angleproject/issues/detail?id=396>
+
+        Reviewed by Kenneth Russell.
+
+        Most changes below are simply to document issues with #pragma
+        statements per request by upstream.  The change to osinclude.h
+        is the only bug fix, which defines OS_TLSIndex in terms of
+        pthread_key_t instead of unsigned int since pthread_key_t is a
+        64-bit value on 64-bit Mac OS X.
+
+        * Configurations/Base.xcconfig: Enable -Wshorten-64-to-32 by
+        setting GCC_WARN_64_TO_32_BIT_CONVERSION to YES.
+        * src/compiler/Intermediate.cpp:
+        (TIntermTraverser::hash): Add #pragmas for clang to ignore
+        -Wshorten-64-to-32 warning.
+        * src/compiler/MapLongVariableNames.cpp:
+        (LongNameMap::Size): Ditto.
+        * src/compiler/ShaderLang.cpp:
+        (getVariableInfo): Ditto.
+        (ShGetInfo): Ditto.
+        * src/compiler/ValidateLimitations.cpp:
+        (ValidateLimitations::validateFunctionCall): Ditto.
+        * src/compiler/glslang.l: Ditto.
+        * src/compiler/glslang_lex.cpp: Ditto.
+        * src/compiler/osinclude.h: Change type of OS_TLSIndex to
+        pthread_key_t.  Define OS_INVALID_TLS_INDEX by using
+        static_cast<OS_TLSIndex>(-1).
+        * src/compiler/preprocessor/Input.cpp:
+        (pp::Input::Input): Add #pragmas for clang to ignore
+        -Wshorten-64-to-32 warning.
+        * src/compiler/preprocessor/Tokenizer.cpp: Ditto.
+        * src/compiler/preprocessor/Tokenizer.l: Ditto.
+
+2013-01-14  David Kilzer  <ddkilzer@apple.com>
+
+        Remove nonexistent file in ANGLE Xcode project
+
+        * ANGLE.xcodeproj/project.pbxproj: Remove references to
+        ossource_nspr.cpp which was removed in r139665.
+
+2013-01-14  Dean Jackson  <dino@apple.com>
+
+        Unreviewed QT build fix.
+
+        * ANGLE.pri:
+
+2013-01-14  Dean Jackson  <dino@apple.com>
+
+        [ANGLE] Update ANGLE in WebKit
+        https://bugs.webkit.org/show_bug.cgi?id=106274
+
+        Unreviewed attempted build fix.
+
+        Remove the copy files stage. Make khrplatform.h a public header.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * include/GLSLANG/ShaderLang.h:
+
+2013-01-14  Max Vujovic  <mvujovic@adobe.com>
+
+        [ANGLE] Update ANGLE in WebKit
+        https://bugs.webkit.org/show_bug.cgi?id=106274
+
+        Reviewed by Dean Jackson.
+
+        Update ANGLE to r1641.
+
+        ANGLE parsers were generated with Bison 2.3.
+
+        Additionally, perform the following changes to WebKit's ANGLE build system. Note that these
+        changes only apply to WebKit's copy of ANGLE, and do not need to be upstreamed to ANGLE.
+        (a) Remove all files in the libEGL and libGLESv2 directories because nobody is using them. 
+            Add a README in each directory to explain why their contents are not copied over from
+            ANGLE. This simplifies updating ANGLE in the future.
+        (b) Remove the build_angle.xcodeproj file that no-one is using. It appears it was copied
+            over from a gyp build of ANGLE. The Mac build uses ANGLE.xcodeproj.
+        (c) Remove duplicate file entries in ANGLE.xcodeproj. Change its Xcode group structure to
+            match ANGLE's directory structure.
+        (d) Add a Copy Files task to ANGLE.xcodeproj to put the khrplatform.h header in the right
+            place so ShaderLang.h can find it. ShaderLang.h is copied to
+            <BuildDir>/usr/local/include/ANGLE/ShaderLang.h during the Copy Headers task, and it
+            includes "KHR/khrplatform.h". Thus, we need to copy khrplatform.h to
+            <BuildDir>/usr/local/include/ANGLE/KHR/khrplatform.h.
+
+        Additionally, make one build fix in ANGLE source that should be upstreamed to ANGLE:
+        (1) Before this patch in ExpressionParser.y, we toggled the "-Wpragmas" flag so compilers
+            could ignore the pragmas that they didn't understand instead of generating an error.
+            However, clang does not understand "-Wpragmas" itself. Instead, tt understands
+            "-Wunknown-pragmas". Now, instead of trying to temporarily ignore pragmas, we apply the
+            right flags to the right compiler versions. The new code in ExpressionParser.y looks
+            like:
+
+        """
+        // Turn off uninitialized variable warnings triggered by the auto-generated pplval variable.
+        // On gcc 4.7+, The flag is called "-Wmaybe-uninitialized".
+        // On clang and gcc < 4.7, the flag is called "-Wuninitialized".
+        #if !defined(__clang__) && ((__GNUC__ == 4 && __GNU_C_MINOR__ >= 7) || __GNUC__ >= 5)
+        #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
+        #else
+        #pragma GCC diagnostic ignored "-Wuninitialized"
+        #endif
+        """
+
+        * ANGLE.plist:
+        * ANGLE.pri:
+        * ANGLE.xcodeproj/project.pbxproj:
+        * DerivedSources.pri:
+        * Target.pri:
+        * include/GLSLANG/ShaderLang.h:
+        * src/build_angle.xcodeproj/project.pbxproj: Removed.
+        * src/common/angleutils.h:
+        * src/common/debug.cpp:
+        (gl::ScopedPerfEventHelper::ScopedPerfEventHelper):
+        * src/common/debug.h:
+        * src/common/version.h:
+        * src/compiler/Compiler.cpp:
+        (TCompiler::Init):
+        (TCompiler::compile):
+        (TCompiler::clearResults):
+        (TCompiler::collectAttribsUniforms):
+        (TCompiler::enforcePackingRestrictions):
+        * src/compiler/Diagnostics.cpp:
+        (TDiagnostics::TDiagnostics):
+        (TDiagnostics::writeInfo):
+        (TDiagnostics::print):
+        * src/compiler/Diagnostics.h:
+        (TDiagnostics::numErrors):
+        (TDiagnostics::numWarnings):
+        (TDiagnostics):
+        * src/compiler/DirectiveHandler.h:
+        * src/compiler/HashNames.h: Added.
+        * src/compiler/Intermediate.cpp:
+        (TIntermTraverser::hash):
+        * src/compiler/OutputESSL.cpp:
+        (TOutputESSL::TOutputESSL):
+        * src/compiler/OutputESSL.h:
+        (TOutputESSL):
+        * src/compiler/OutputGLSL.cpp:
+        (TOutputGLSL::TOutputGLSL):
+        * src/compiler/OutputGLSL.h:
+        (TOutputGLSL):
+        * src/compiler/OutputGLSLBase.cpp:
+        (TOutputGLSLBase::TOutputGLSLBase):
+        (TOutputGLSLBase::writeVariableType):
+        (TOutputGLSLBase::writeFunctionParameters):
+        (TOutputGLSLBase::writeConstantUnion):
+        (TOutputGLSLBase::visitSymbol):
+        (TOutputGLSLBase::visitBinary):
+        (TOutputGLSLBase::visitAggregate):
+        (TOutputGLSLBase::getTypeName):
+        (TOutputGLSLBase::hashName):
+        (TOutputGLSLBase::hashVariableName):
+        (TOutputGLSLBase::hashFunctionName):
+        * src/compiler/OutputGLSLBase.h:
+        (TOutputGLSLBase):
+        * src/compiler/OutputHLSL.cpp:
+        (sh::OutputHLSL::OutputHLSL):
+        (sh::OutputHLSL::header):
+        (sh::OutputHLSL::visitAggregate):
+        (sh::OutputHLSL::visitBranch):
+        (sh::OutputHLSL::handleExcessiveLoop):
+        * src/compiler/OutputHLSL.h:
+        (OutputHLSL):
+        * src/compiler/ParseHelper.cpp:
+        (TParseContext::error):
+        (TParseContext::nonInitConstErrorCheck):
+        (PaParseStrings):
+        * src/compiler/ParseHelper.h:
+        (TParseContext::TParseContext):
+        (TParseContext):
+        (TParseContext::numErrors):
+        * src/compiler/RenameFunction.h:
+        (RenameFunction::visitAggregate):
+        * src/compiler/ShHandle.h:
+        (TCompiler::getHashFunction):
+        (TCompiler::getNameMap):
+        (TCompiler::getSymbolTable):
+        (TCompiler):
+        * src/compiler/ShaderLang.cpp:
+        (ShInitBuiltInResources):
+        (ShGetInfo):
+        (ShGetNameHashingEntry):
+        * src/compiler/SymbolTable.cpp:
+        (TType::TType):
+        (TType::isStructureContainingArrays):
+        * src/compiler/SymbolTable.h:
+        (TSymbolTable::findBuiltIn):
+        (TSymbolTable):
+        * src/compiler/TranslatorESSL.cpp:
+        (TranslatorESSL::translate):
+        * src/compiler/TranslatorGLSL.cpp:
+        (TranslatorGLSL::translate):
+        * src/compiler/Types.h:
+        (TType):
+        (TPublicType):
+        (TPublicType::setBasic):
+        (TPublicType::setAggregate):
+        (TPublicType::setArray):
+        (TPublicType::isStructureContainingArrays):
+        * src/compiler/UnfoldShortCircuit.cpp:
+        (sh::UnfoldShortCircuit::visitBinary):
+        * src/compiler/VariableInfo.cpp:
+        (getVariableInfo):
+        (getUserDefinedVariableInfo):
+        (TVariableInfo::TVariableInfo):
+        (CollectAttribsUniforms::CollectAttribsUniforms):
+        (CollectAttribsUniforms::visitAggregate):
+        * src/compiler/VariableInfo.h:
+        (TVariableInfo):
+        (CollectAttribsUniforms):
+        * src/compiler/VariablePacker.cpp: Added.
+        (VariablePacker::GetNumComponentsPerRow):
+        (VariablePacker::GetNumRows):
+        (TVariableInfoComparer::operator()):
+        (VariablePacker::makeColumnFlags):
+        (VariablePacker::fillColumns):
+        (VariablePacker::searchColumn):
+        (VariablePacker::CheckVariablesWithinPackingLimits):
+        * src/compiler/VariablePacker.h: Added.
+        (VariablePacker):
+        * src/compiler/VersionGLSL.cpp:
+        (TVersionGLSL::visitAggregate):
+        * src/compiler/VersionGLSL.h:
+        (TVersionGLSL):
+        * src/compiler/glslang.l:
+        * src/compiler/glslang.y:
+        * src/compiler/glslang_lex.cpp:
+        (string_input):
+        (glslang_finalize):
+        (glslang_scan):
+        * src/compiler/glslang_tab.cpp:
+        * src/compiler/intermediate.h:
+        (TIntermTraverser):
+        * src/compiler/osinclude.h:
+        (OS_GetTLSValue):
+        * src/compiler/ossource_nspr.cpp:
+        * src/compiler/preprocessor/DiagnosticsBase.cpp: Added.
+        (pp):
+        (pp::Diagnostics::~Diagnostics):
+        (pp::Diagnostics::report):
+        (pp::Diagnostics::severity):
+        (pp::Diagnostics::message):
+        * src/compiler/preprocessor/DiagnosticsBase.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Diagnostics.h.
+        (pp):
+        (Diagnostics):
+        * src/compiler/preprocessor/DirectiveHandlerBase.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/DirectiveHandlerBase.cpp.
+        (pp):
+        (pp::DirectiveHandler::~DirectiveHandler):
+        * src/compiler/preprocessor/DirectiveHandlerBase.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/DirectiveHandler.h.
+        (pp):
+        (DirectiveHandler):
+        * src/compiler/preprocessor/DirectiveParser.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/DirectiveParser.cpp.
+        (getDirective):
+        (isConditionalDirective):
+        (isEOD):
+        (skipUntilEOD):
+        (isMacroNameReserved):
+        (isMacroPredefined):
+        (pp):
+        (DefinedParser):
+        (pp::DefinedParser::DefinedParser):
+        (pp::DefinedParser::lex):
+        (pp::DirectiveParser::DirectiveParser):
+        (pp::DirectiveParser::lex):
+        (pp::DirectiveParser::parseDirective):
+        (pp::DirectiveParser::parseDefine):
+        (pp::DirectiveParser::parseUndef):
+        (pp::DirectiveParser::parseIf):
+        (pp::DirectiveParser::parseIfdef):
+        (pp::DirectiveParser::parseIfndef):
+        (pp::DirectiveParser::parseElse):
+        (pp::DirectiveParser::parseElif):
+        (pp::DirectiveParser::parseEndif):
+        (pp::DirectiveParser::parseError):
+        (pp::DirectiveParser::parsePragma):
+        (pp::DirectiveParser::parseExtension):
+        (pp::DirectiveParser::parseVersion):
+        (pp::DirectiveParser::parseLine):
+        (pp::DirectiveParser::skipping):
+        (pp::DirectiveParser::parseConditionalIf):
+        (pp::DirectiveParser::parseExpressionIf):
+        (pp::DirectiveParser::parseExpressionIfdef):
+        * src/compiler/preprocessor/DirectiveParser.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/DirectiveParser.h.
+        (pp):
+        (DirectiveParser):
+        (ConditionalBlock):
+        (pp::DirectiveParser::ConditionalBlock::ConditionalBlock):
+        * src/compiler/preprocessor/ExpressionParser.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/ExpressionParser.cpp.
+        (yysyntax_error):
+        (yylex):
+        (yyerror):
+        (pp):
+        (pp::ExpressionParser::ExpressionParser):
+        (pp::ExpressionParser::parse):
+        * src/compiler/preprocessor/ExpressionParser.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/ExpressionParser.h.
+        (pp):
+        (ExpressionParser):
+        * src/compiler/preprocessor/ExpressionParser.y: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/ExpressionParser.y.
+        * src/compiler/preprocessor/Input.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Input.cpp.
+        (pp):
+        (pp::Input::Input):
+        (pp::Input::read):
+        * src/compiler/preprocessor/Input.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Input.h.
+        (pp):
+        (Input):
+        (pp::Input::count):
+        (pp::Input::string):
+        (pp::Input::length):
+        (Location):
+        (pp::Input::Location::Location):
+        (pp::Input::readLoc):
+        * src/compiler/preprocessor/Lexer.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Lexer.cpp.
+        (pp):
+        (pp::Lexer::~Lexer):
+        * src/compiler/preprocessor/Lexer.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Lexer.h.
+        (pp):
+        (Lexer):
+        * src/compiler/preprocessor/Macro.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Macro.cpp.
+        (pp):
+        (pp::Macro::equals):
+        * src/compiler/preprocessor/Macro.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Macro.h.
+        (pp):
+        (pp::Macro::Macro):
+        (Macro):
+        * src/compiler/preprocessor/MacroExpander.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/MacroExpander.cpp.
+        (pp):
+        (TokenLexer):
+        (pp::TokenLexer::TokenLexer):
+        (pp::TokenLexer::lex):
+        (pp::MacroExpander::MacroExpander):
+        (pp::MacroExpander::~MacroExpander):
+        (pp::MacroExpander::lex):
+        (pp::MacroExpander::getToken):
+        (pp::MacroExpander::ungetToken):
+        (pp::MacroExpander::isNextTokenLeftParen):
+        (pp::MacroExpander::pushMacro):
+        (pp::MacroExpander::popMacro):
+        (pp::MacroExpander::expandMacro):
+        (pp::MacroExpander::collectMacroArgs):
+        (pp::MacroExpander::replaceMacroParams):
+        * src/compiler/preprocessor/MacroExpander.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/MacroExpander.h.
+        (pp):
+        (MacroExpander):
+        (MacroContext):
+        (pp::MacroExpander::MacroContext::MacroContext):
+        (pp::MacroExpander::MacroContext::empty):
+        (pp::MacroExpander::MacroContext::get):
+        (pp::MacroExpander::MacroContext::unget):
+        * src/compiler/preprocessor/Preprocessor.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Preprocessor.cpp.
+        (pp):
+        (PreprocessorImpl):
+        (pp::PreprocessorImpl::PreprocessorImpl):
+        (pp::Preprocessor::Preprocessor):
+        (pp::Preprocessor::~Preprocessor):
+        (pp::Preprocessor::init):
+        (pp::Preprocessor::predefineMacro):
+        (pp::Preprocessor::lex):
+        * src/compiler/preprocessor/Preprocessor.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Preprocessor.h.
+        (pp):
+        (Preprocessor):
+        * src/compiler/preprocessor/SourceLocation.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/SourceLocation.h.
+        (pp):
+        (pp::SourceLocation::SourceLocation):
+        (SourceLocation):
+        (pp::SourceLocation::equals):
+        (pp::operator==):
+        (pp::operator!=):
+        * src/compiler/preprocessor/Token.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Token.cpp.
+        (pp):
+        (pp::Token::reset):
+        (pp::Token::equals):
+        (pp::Token::setAtStartOfLine):
+        (pp::Token::setHasLeadingSpace):
+        (pp::Token::setExpansionDisabled):
+        (pp::Token::iValue):
+        (pp::Token::uValue):
+        (pp::Token::fValue):
+        (pp::operator<<):
+        * src/compiler/preprocessor/Token.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Token.h.
+        (pp):
+        (pp::Token::Token):
+        (Token):
+        (pp::Token::atStartOfLine):
+        (pp::Token::hasLeadingSpace):
+        (pp::Token::expansionDisabled):
+        (pp::operator==):
+        (pp::operator!=):
+        * src/compiler/preprocessor/Tokenizer.cpp: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Tokenizer.cpp.
+        (yy_buffer_state):
+        (yy_trans_info):
+        (yyguts_t):
+        (yy_get_previous_state):
+        (yy_try_NUL_trans):
+        (input):
+        (pprestart):
+        (pp_switch_to_buffer):
+        (pp_load_buffer_state):
+        (pp_create_buffer):
+        (pp_delete_buffer):
+        (pp_init_buffer):
+        (pp_flush_buffer):
+        (pppush_buffer_state):
+        (pppop_buffer_state):
+        (ppensure_buffer_stack):
+        (pp_scan_buffer):
+        (pp_scan_string):
+        (pp_scan_bytes):
+        (yy_fatal_error):
+        (ppget_extra):
+        (ppget_lineno):
+        (ppget_column):
+        (ppget_in):
+        (ppget_out):
+        (ppget_leng):
+        (ppget_text):
+        (ppset_extra):
+        (ppset_lineno):
+        (ppset_column):
+        (ppset_in):
+        (ppset_out):
+        (ppget_debug):
+        (ppset_debug):
+        (ppget_lval):
+        (ppset_lval):
+        (ppget_lloc):
+        (ppset_lloc):
+        (pplex_init):
+        (pplex_init_extra):
+        (yy_init_globals):
+        (pplex_destroy):
+        (yy_flex_strncpy):
+        (yy_flex_strlen):
+        (ppalloc):
+        (pprealloc):
+        (ppfree):
+        (pp):
+        (pp::Tokenizer::Tokenizer):
+        (pp::Tokenizer::~Tokenizer):
+        (pp::Tokenizer::init):
+        (pp::Tokenizer::setFileNumber):
+        (pp::Tokenizer::setLineNumber):
+        (pp::Tokenizer::lex):
+        (pp::Tokenizer::initScanner):
+        (pp::Tokenizer::destroyScanner):
+        * src/compiler/preprocessor/Tokenizer.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Tokenizer.h.
+        (pp):
+        (Tokenizer):
+        (Context):
+        * src/compiler/preprocessor/Tokenizer.l: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Tokenizer.l.
+        * src/compiler/preprocessor/atom.c: Removed.
+        * src/compiler/preprocessor/atom.h: Removed.
+        * src/compiler/preprocessor/compile.h: Removed.
+        * src/compiler/preprocessor/cpp.c: Removed.
+        * src/compiler/preprocessor/cpp.h: Removed.
+        * src/compiler/preprocessor/cppstruct.c: Removed.
+        * src/compiler/preprocessor/generate_parser.sh: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/generate_parser.sh.
+        * src/compiler/preprocessor/memory.c: Removed.
+        * src/compiler/preprocessor/memory.h: Removed.
+        * src/compiler/preprocessor/new/DiagnosticsBase.cpp: Removed.
+        * src/compiler/preprocessor/new/new_file.cpp: Removed.
+        * src/compiler/preprocessor/new/new_file2.cpp: Removed.
+        * src/compiler/preprocessor/new/preprocessor.vcproj: Removed.
+        * src/compiler/preprocessor/numeric_lex.h: Added.
+        (pp):
+        (pp::numeric_base_int):
+        (pp::numeric_lex_int):
+        (pp::numeric_lex_float):
+        * src/compiler/preprocessor/parser.h: Removed.
+        * src/compiler/preprocessor/pp_utils.h: Renamed from Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/pp_utils.h.
+        * src/compiler/preprocessor/preprocess.h: Removed.
+        * src/compiler/preprocessor/scanner.c: Removed.
+        * src/compiler/preprocessor/scanner.h: Removed.
+        * src/compiler/preprocessor/slglobals.h: Removed.
+        * src/compiler/preprocessor/symbols.c: Removed.
+        * src/compiler/preprocessor/symbols.h: Removed.
+        * src/compiler/preprocessor/tokens.c: Removed.
+        * src/compiler/preprocessor/tokens.h: Removed.
+        * src/libEGL/Config.cpp: Removed.
+        * src/libEGL/Config.h: Removed.
+        * src/libEGL/Display.cpp: Removed.
+        * src/libEGL/Display.h: Removed.
+        * src/libEGL/README: Added.
+        * src/libEGL/Surface.cpp: Removed.
+        * src/libEGL/Surface.h: Removed.
+        * src/libEGL/libEGL.cpp: Removed.
+        * src/libEGL/libEGL.def: Removed.
+        * src/libEGL/libEGL.rc: Removed.
+        * src/libEGL/libEGL.vcproj: Removed.
+        * src/libEGL/main.cpp: Removed.
+        * src/libEGL/main.h: Removed.
+        * src/libEGL/resource.h: Removed.
+        * src/libGLESv2/Blit.cpp: Removed.
+        * src/libGLESv2/Blit.h: Removed.
+        * src/libGLESv2/Buffer.cpp: Removed.
+        * src/libGLESv2/Buffer.h: Removed.
+        * src/libGLESv2/Context.cpp: Removed.
+        * src/libGLESv2/Context.h: Removed.
+        * src/libGLESv2/Fence.cpp: Removed.
+        * src/libGLESv2/Fence.h: Removed.
+        * src/libGLESv2/Framebuffer.cpp: Removed.
+        * src/libGLESv2/Framebuffer.h: Removed.
+        * src/libGLESv2/HandleAllocator.cpp: Removed.
+        * src/libGLESv2/HandleAllocator.h: Removed.
+        * src/libGLESv2/IndexDataManager.cpp: Removed.
+        * src/libGLESv2/IndexDataManager.h: Removed.
+        * src/libGLESv2/Program.cpp: Removed.
+        * src/libGLESv2/Program.h: Removed.
+        * src/libGLESv2/ProgramBinary.cpp: Removed.
+        * src/libGLESv2/ProgramBinary.h: Removed.
+        * src/libGLESv2/Query.cpp: Removed.
+        * src/libGLESv2/Query.h: Removed.
+        * src/libGLESv2/README: Added.
+        * src/libGLESv2/Renderbuffer.cpp: Removed.
+        * src/libGLESv2/Renderbuffer.h: Removed.
+        * src/libGLESv2/ResourceManager.cpp: Removed.
+        * src/libGLESv2/ResourceManager.h: Removed.
+        * src/libGLESv2/Shader.cpp: Removed.
+        * src/libGLESv2/Shader.h: Removed.
+        * src/libGLESv2/Texture.cpp: Removed.
+        * src/libGLESv2/Texture.h: Removed.
+        * src/libGLESv2/VertexDataManager.cpp: Removed.
+        * src/libGLESv2/VertexDataManager.h: Removed.
+        * src/libGLESv2/libGLESv2.cpp: Removed.
+        * src/libGLESv2/libGLESv2.def: Removed.
+        * src/libGLESv2/libGLESv2.rc: Removed.
+        * src/libGLESv2/libGLESv2.vcproj: Removed.
+        * src/libGLESv2/main.cpp: Removed.
+        * src/libGLESv2/main.h: Removed.
+        * src/libGLESv2/mathutil.h: Removed.
+        * src/libGLESv2/resource.h: Removed.
+        * src/libGLESv2/utilities.cpp: Removed.
+        * src/libGLESv2/utilities.h: Removed.
+        * src/libGLESv2/vertexconversion.h: Removed.
+
+2012-12-18  Max Vujovic  <mvujovic@adobe.com>
+
+        [ANGLE] Use of uninitialized memory in ArrayBoundsClamper
+        https://bugs.webkit.org/show_bug.cgi?id=105218
+
+        Reviewed by Dean Jackson.
+
+        TIntermBinary::addIndexClamp is uninitialized when the compile flag 
+        SH_CLAMP_INDIRECT_ARRAY_BOUNDS is not set. Then, addIndexClamp is used in OutputGLSLBase. 
+        CSS Shaders needs to do a first validation pass without the SH_CLAMP_INDIRECT_ARRAY_BOUNDS 
+        flag and its effects. However, sometimes addIndexClamp is true, which inserts clamping code
+        that causes a shader to fail compilation at the WebGL level.
+
+        * src/compiler/intermediate.h:
+        (TIntermBinary::TIntermBinary):
+
+2012-10-29  Anders Carlsson  <andersca@apple.com>
+
+        Build WebKit as C++11 on Mac
+        https://bugs.webkit.org/show_bug.cgi?id=100720
+
+        Reviewed by Daniel Bates.
+
+        * Configurations/Base.xcconfig:
+        Add CLANG_CXX_LANGUAGE_STANDARD=gnu++0x.
+
+2012-10-28  Mark Rowe  <mrowe@apple.com>
+
+        Simplify Xcode configuration settings that used to vary between OS versions.
+
+        Reviewed by Dan Bernstein.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+
+2012-10-28  Mark Rowe  <mrowe@apple.com>
+
+        Remove references to unsupported OS and Xcode versions.
+
+        Reviewed by Anders Carlsson.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/CompilerVersion.xcconfig: Removed.
+        * Configurations/DebugRelease.xcconfig:
+
+2012-10-27  Dan Bernstein  <mitz@apple.com>
+
+        REAL_PLATFORM_NAME build setting is no longer needed
+        https://bugs.webkit.org/show_bug.cgi?id=100587
+
+        Reviewed by Mark Rowe.
+
+        Removed the definition of REAL_PLATFORM_NAME and replaced references to it with references
+        to PLATFORM_NAME.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/CompilerVersion.xcconfig:
+
+2012-10-18  Dean Jackson  <dino@apple.com>
+
+        Shader translator needs option to clamp uniform array accesses in vertex shaders
+        https://bugs.webkit.org/show_bug.cgi?id=98977
+        https://code.google.com/p/angleproject/issues/detail?id=49
+
+        Reviewed by Alok Priyadarshi and Ken Russell.
+
+        WebGL does not allow GLSL code to index a uniform array outside its bounds. Add a
+        flag to the ANGLE compiler to insert clamp statements around such indexing.
+        Since it is possible to access vec2/3/4 and mat2/3/4 components by array indexing,
+        they must be similarly clamped.
+
+        Unfortunately, it is currently not possible to always determine that the indexing is
+        operating on a uniform variable. For example, suppose we have "uniform mat4 a". ANGLE
+        is currently not able to tell us that the rvalue of "a[0]" is a uniform, just that
+        it has a size of 4. Therefore, the clamping is done on all indirect array indexing.
+
+        This will have a performance impact. Future enhancements may be able to determine
+        cases where the clamping is not necessary. Currently only direct indexing is skipped
+        (i.e. looking up a value using a constant index).
+
+        The clamp insertion is only performed on the GLSL output. Direct3D already guarantees
+        that out-of-bounds uniform array access returns a zero value.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * Target.pri:
+        * include/GLSLANG/ShaderLang.h: New compiler option.
+        * src/compiler/ArrayBoundsClamper.cpp: Added.
+        (ArrayBoundsClamper::ArrayBoundsClamper):
+        (ArrayBoundsClamper::OutputClampingFunctionDefinition): Injects a clamping function for integers into GLSL source.
+        (ArrayBoundsClamper::MarkIndirectArrayBoundsForClamping): Examines the AST looking for non-direct array indexing.
+        * src/compiler/ArrayBoundsClamper.h: Added.
+        (ArrayBoundsClamper):
+        (ArrayBoundsClamper::GetArrayBoundsClampDefinitionNeeded):
+        (ArrayBoundsClamper::SetArrayBoundsClampDefinitionNeeded): Marks the object as needing to output the clamping function.
+        (ArrayBoundsClamper::Cleanup): Resets the state so that subsequent runs start fresh.
+        * src/compiler/Compiler.cpp:
+        (TCompiler::compile): Run the clamping code if the compile option was set.
+        (TCompiler::clearResults):
+        (TCompiler::getArrayBoundsClamper):
+        * src/compiler/OutputGLSLBase.cpp:
+        (TOutputGLSLBase::visitBinary): If the expression has been flagged, insert an appropriate "clamp" statement.
+        * src/compiler/ShHandle.h:
+        (TCompiler):
+        * src/compiler/TranslatorESSL.cpp:
+        (TranslatorESSL::translate):
+        * src/compiler/TranslatorGLSL.cpp:
+        (TranslatorGLSL::translate):
+        * src/compiler/intermOut.cpp:
+        (TType::getCompleteString): Add array size to intermediate tree output.
+        * src/compiler/intermediate.h:
+        (TIntermBinary::setAddIndexClamp): New flag for indicating a binary expression needs clamping.
+        (TIntermBinary::getAddIndexClamp):
+        (TIntermBinary):
+
+2012-09-13  Mark Rowe  <mrowe@apple.com>
+
+        <rdar://problem/12255720> Fix the build with newer Clang
+
+        Reviewed by Sam Weinig.
+        
+        Clang generates a warning about the inclusion of trailing commas on the final enum item as it's apparently
+        a C++11 extension. Remove them.
+        
+        * src/compiler/BaseTypes.h:
+        * src/compiler/ExtensionBehavior.h:
+        * src/compiler/ParseHelper.cpp:
+        (TParseContext::parseVectorFields):
+        * src/compiler/intermediate.h:
+
+2012-09-13  Simon Hausmann  <simon.hausmann@nokia.com>
+
+        [Qt] The ANGLE build on Windows breaks with GnuWin32's flex because it is too old
+        https://bugs.webkit.org/show_bug.cgi?id=96359
+
+        Reviewed by Tor Arne Vestbø.
+
+        GnuWin32's flex is 2.5.4 and that is too old for ANGLE's preprocessor
+        lexer. The only viable alternative I could find on Windows that provides
+        binaries is the winflexbison distribution (http://sourceforge.net/projects/winflexbison/),
+        so let's use that one instead.
+
+        * DerivedSources.pri:
+
+2012-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
+
+        [Qt] Build on Windows requires bison/flex in PATH
+        https://bugs.webkit.org/show_bug.cgi?id=96358
+
+        Reviewed by Tor Arne Vestbø.
+
+        Use MAKEFILE_NOOP_COMMAND instead of the \n\t trick to generate a dummy command. Otherwise
+        the PATH prepend trick will break because it generates a command line along the lines of
+        (set PATH="...") && with just that trailing ampersand pair.
+
+        * DerivedSources.pri:
+
+2012-09-10  Dean Jackson  <dino@apple.com>
+
+        [Apple] Install plist for Apple Open Source build system
+        https://bugs.webkit.org/show_bug.cgi?id=96345
+
+        Reviewed by Mark Rowe.
+
+        Apple's build system requires a couple of files that describe where
+        the 3rd party Open Source library came from, and what license it
+        uses. These files are copied into /usr/local when the project is
+        being installed.
+
+        * ANGLE.plist: Added.
+        * ANGLE.txt: Added.
+        * ANGLE.xcodeproj/project.pbxproj:
+
+2012-09-06  Andras Becsi  <andras.becsi@nokia.com>
+
+        [ANGLE] Fix the build with gcc 4.7
+        https://bugs.webkit.org/show_bug.cgi?id=95989
+
+        Reviewed by Csaba Osztrogonác.
+
+        The build fails because of a bogus warning about the auto-generated
+        pplval variable. Unfortunately the warning is called -Wuninitialized
+        in gcc 4.6 and -Wmaybe-uninitialized in gcc 4.7 thus we also need to
+        ignore unknown pragmas not to break the build with compilers that do
+        not recognize these options.
+
+        * src/compiler/preprocessor/new/ExpressionParser.y:
+
+2012-09-06  Simon Hausmann  <simon.hausmann@nokia.com>
+
+        [Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2
+        https://bugs.webkit.org/show_bug.cgi?id=95965
+
+        Reviewed by Tor Arne Vestbø.
+
+        Add build rules to build ANGLE as a static library for the Qt port.
+
+        * ANGLE.pri: Added.
+        * ANGLE.pro: Added.
+        * DerivedSources.pri: Added.
+        * Target.pri: Added.
+
+2012-08-24  Joshua Netterfield  <jnetterfield@rim.com>
+
+        [CSS Shaders] [ANGLE] RenameFunction::RenameFunction may store references to temporary string
+        https://bugs.webkit.org/show_bug.cgi?id=94736
+        http://code.google.com/p/angleproject/issues/detail?id=360
+
+        Reviewed by George Staikos.
+
+        When RenameFunction::RenameFunction(const TString& oldFunctionName, const TString&
+        newFunctionName) is called from TCompiler::rewriteCSSShader(TIntermNode*), references to
+        the temporaries oldFunctionName and newFunctionName are stored as mOldFunctionName and
+        mNewFunctionName. This results in undefined behaviour in visitAggregate.
+
+        This same patch is being applied in upstream ANGLE, and is needed for CSS Shader
+        sanitization.
+
+        * src/compiler/RenameFunction.h:
+        (RenameFunction::visitAggregate):
+        (RenameFunction):
+
+2012-07-18  Kristóf Kosztyó  <kkristof@inf.u-szeged.hu>
+
+        [Qt] Buildfix after r122870.
+        https://bugs.webkit.org/show_bug.cgi?id=89039
+
+        Reviewed by Csaba Osztrogonác
+
+        * src/compiler/preprocessor/new/MacroExpander.cpp:
+        (pp::MacroExpander::ungetToken):
+
+2012-07-17  Max Vujovic  <mvujovic@adobe.com>
+
+        Update ANGLE in WebKit
+        https://bugs.webkit.org/show_bug.cgi?id=89039
+
+        Reviewed by Dean Jackson and Mark Rowe.
+
+        Update ANGLE to r1170, with the following modifications:
+
+        (1) Use Bison 2.3 instead of Bison 2.4.2 to generate ExpressionParser.cpp and
+        glslang_tab.cpp. I had to modify ExpressionParser.y to make it compatible with Bison
+        2.3. The changes have been contributed back to ANGLE in r1224.
+
+        (2) Continue to recognize QNX as POSIX in ANGLE. This has been contributed back to ANGLE
+        in r1223.
+
+        (3) Rename ANGLE/src/compiler/preprocessor/new/Diagnostic.cpp to DiagnosticBase.cpp.
+        Rename ANGLE/src/compiler/preprocessor/new/DirectiveHandler.cpp to DirectiveHandlerBase.cpp.
+
+        With the introduction of ANGLE's new preprocessor, there were two files named Diagnostic.cpp
+        in ANGLE under different folders. This caused problems on the QT build when their object
+        files, both named Diagnostic.o, tried to go in the same folder. Renaming one of them to
+        DiagnosticBase.cpp avoids this conflict. The same situation occurred with
+        DirectiveHandler.cpp. I will work on contributing this change back to ANGLE for future
+        updates.
+
+        (4) Add the following lines to glslang.y and ExpressionParser.y:
+        #define YYENABLE_NLS 0
+        #define YYLTYPE_IS_TRIVIAL 1
+
+        Bison 2.3 doesn't first check that these macros are defined before reading their value,
+        which causes the QT build to fail.
+
+        We work around this issue in the same way in CSSGrammar.y.
+
+        I will work on contributing this change back to ANGLE.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * include/GLES2/gl2ext.h:
+        * include/GLSLANG/ShaderLang.h:
+        * src/build_angle.xcodeproj/project.pbxproj:
+        * src/common/angleutils.h:
+        * src/common/debug.cpp:
+        (gl):
+        (gl::output):
+        (gl::trace):
+        (gl::perfActive):
+        (gl::ScopedPerfEventHelper::ScopedPerfEventHelper):
+        (gl::ScopedPerfEventHelper::~ScopedPerfEventHelper):
+        * src/common/version.h:
+        * src/compiler/BuiltInFunctionEmulator.cpp:
+        (BuiltInFunctionEmulator::IdentifyFunction):
+        * src/compiler/BuiltInFunctionEmulator.h:
+        * src/compiler/Compiler.cpp:
+        (isWebGLBasedSpec):
+        (TCompiler::compile):
+        (TCompiler::rewriteCSSShader):
+        (TCompiler::enforceTimingRestrictions):
+        (TCompiler::enforceFragmentShaderTimingRestrictions):
+        (TCompiler::enforceVertexShaderTimingRestrictions):
+        * src/compiler/DetectDiscontinuity.cpp: Added.
+        (sh::DetectLoopDiscontinuity::traverse):
+        (sh):
+        (sh::DetectLoopDiscontinuity::visitBranch):
+        (sh::DetectLoopDiscontinuity::visitAggregate):
+        (sh::containsLoopDiscontinuity):
+        (sh::DetectGradientOperation::traverse):
+        (sh::DetectGradientOperation::visitUnary):
+        (sh::DetectGradientOperation::visitAggregate):
+        (sh::containsGradientOperation):
+        * src/compiler/DetectDiscontinuity.h: Added.
+        (sh):
+        (DetectLoopDiscontinuity):
+        (DetectGradientOperation):
+        * src/compiler/Diagnostics.cpp: Added.
+        (TDiagnostics::TDiagnostics):
+        (TDiagnostics::~TDiagnostics):
+        (TDiagnostics::writeInfo):
+        (TDiagnostics::writeDebug):
+        (TDiagnostics::print):
+        * src/compiler/Diagnostics.h: Added.
+        (TDiagnostics):
+        (TDiagnostics::infoSink):
+        * src/compiler/DirectiveHandler.cpp: Added.
+        (getBehavior):
+        (TDirectiveHandler::TDirectiveHandler):
+        (TDirectiveHandler::~TDirectiveHandler):
+        (TDirectiveHandler::handleError):
+        (TDirectiveHandler::handlePragma):
+        (TDirectiveHandler::handleExtension):
+        (TDirectiveHandler::handleVersion):
+        * src/compiler/DirectiveHandler.h: Added.
+        (TDirectiveHandler):
+        (TDirectiveHandler::pragma):
+        (TDirectiveHandler::extensionBehavior):
+        * src/compiler/ExtensionBehavior.h:
+        (getBehaviorString):
+        * src/compiler/Initialize.cpp:
+        (BuiltInConstants):
+        (TBuiltIns::initialize):
+        (IdentifyBuiltIns):
+        * src/compiler/InitializeParseContext.cpp: Added.
+        (InitializeParseContextIndex):
+        (FreeParseContextIndex):
+        (InitializeGlobalParseContext):
+        (FreeParseContext):
+        (GetGlobalParseContext):
+        * src/compiler/InitializeParseContext.h:
+        (TThreadParseContextRec):
+        * src/compiler/Intermediate.cpp:
+        (TIntermediate::addSelection):
+        * src/compiler/MapLongVariableNames.cpp:
+        * src/compiler/OutputHLSL.cpp:
+        (sh::str):
+        (sh::OutputHLSL::OutputHLSL):
+        (sh::OutputHLSL::~OutputHLSL):
+        (sh::OutputHLSL::output):
+        (sh::OutputHLSL::header):
+        (sh::OutputHLSL::visitBinary):
+        (sh::OutputHLSL::visitUnary):
+        (sh::OutputHLSL::visitAggregate):
+        (sh::OutputHLSL::visitSelection):
+        (sh::OutputHLSL::visitLoop):
+        (sh::OutputHLSL::traverseStatements):
+        (sh):
+        (sh::OutputHLSL::handleExcessiveLoop):
+        (sh::OutputHLSL::typeString):
+        (sh::OutputHLSL::addConstructor):
+        (sh::OutputHLSL::decorateField):
+        * src/compiler/OutputHLSL.h:
+        (sh):
+        (OutputHLSL):
+        * src/compiler/ParseHelper.cpp:
+        (TParseContext::parseVectorFields):
+        (TParseContext::parseMatrixFields):
+        (TParseContext::error):
+        (TParseContext::warning):
+        (TParseContext::trace):
+        (TParseContext::assignError):
+        (TParseContext::unaryOpError):
+        (TParseContext::binaryOpError):
+        (TParseContext::precisionErrorCheck):
+        (TParseContext::lValueErrorCheck):
+        (TParseContext::constErrorCheck):
+        (TParseContext::integerErrorCheck):
+        (TParseContext::globalErrorCheck):
+        (TParseContext::reservedErrorCheck):
+        (TParseContext::constructorErrorCheck):
+        (TParseContext::voidErrorCheck):
+        (TParseContext::boolErrorCheck):
+        (TParseContext::samplerErrorCheck):
+        (TParseContext::structQualifierErrorCheck):
+        (TParseContext::parameterSamplerErrorCheck):
+        (TParseContext::arraySizeErrorCheck):
+        (TParseContext::arrayQualifierErrorCheck):
+        (TParseContext::arrayTypeErrorCheck):
+        (TParseContext::arrayErrorCheck):
+        (TParseContext::arraySetMaxSize):
+        (TParseContext::nonInitConstErrorCheck):
+        (TParseContext::nonInitErrorCheck):
+        (TParseContext::paramErrorCheck):
+        (TParseContext::extensionErrorCheck):
+        (TParseContext::supportsExtension):
+        (TParseContext::handleExtensionDirective):
+        (TParseContext::handlePragmaDirective):
+        (TParseContext::findFunction):
+        (TParseContext::executeInitializer):
+        (TParseContext::constructBuiltIn):
+        (TParseContext::constructStruct):
+        (TParseContext::addConstVectorNode):
+        (TParseContext::addConstMatrixNode):
+        (TParseContext::addConstArrayNode):
+        (TParseContext::addConstStruct):
+        (TParseContext::enterStructDeclaration):
+        (TParseContext::structNestingErrorCheck):
+        (PaParseStrings):
+        * src/compiler/ParseHelper.h:
+        (TParseContext::TParseContext):
+        (TParseContext):
+        (TParseContext::infoSink):
+        (TParseContext::extensionBehavior):
+        (TParseContext::pragma):
+        * src/compiler/PoolAlloc.cpp:
+        (TAllocation::checkGuardBlock):
+        * src/compiler/Pragma.h: Added.
+        (TPragma):
+        (TPragma::TPragma):
+        * src/compiler/RenameFunction.h: Added.
+        (RenameFunction):
+        (RenameFunction::RenameFunction):
+        (RenameFunction::visitAggregate):
+        * src/compiler/ShHandle.h:
+        (TCompiler):
+        * src/compiler/ShaderLang.cpp:
+        (getVariableInfo):
+        * src/compiler/SymbolTable.cpp:
+        (TType::buildMangledName):
+        * src/compiler/TranslatorHLSL.cpp:
+        * src/compiler/UnfoldSelect.cpp: Removed.
+        * src/compiler/UnfoldSelect.h: Removed.
+        * src/compiler/UnfoldShortCircuit.cpp: Added.
+        (sh::UnfoldShortCircuit::UnfoldShortCircuit):
+        (sh):
+        (sh::UnfoldShortCircuit::traverse):
+        (sh::UnfoldShortCircuit::visitBinary):
+        (sh::UnfoldShortCircuit::visitSelection):
+        (sh::UnfoldShortCircuit::visitLoop):
+        (sh::UnfoldShortCircuit::getNextTemporaryIndex):
+        * src/compiler/UnfoldShortCircuit.h: Added.
+        (sh):
+        (UnfoldShortCircuit):
+        * src/compiler/ValidateLimitations.cpp:
+        * src/compiler/debug.cpp:
+        * src/compiler/depgraph: Added.
+        * src/compiler/depgraph/DependencyGraph.cpp: Added.
+        (TDependencyGraph::TDependencyGraph):
+        (TDependencyGraph::~TDependencyGraph):
+        (TDependencyGraph::createArgument):
+        (TDependencyGraph::createFunctionCall):
+        (TDependencyGraph::getOrCreateSymbol):
+        (TDependencyGraph::createSelection):
+        (TDependencyGraph::createLoop):
+        (TDependencyGraph::createLogicalOp):
+        (TGraphLogicalOp::getOpString):
+        * src/compiler/depgraph/DependencyGraph.h: Added.
+        (TGraphNode):
+        (TGraphNode::TGraphNode):
+        (TGraphNode::~TGraphNode):
+        (TGraphParentNode):
+        (TGraphParentNode::TGraphParentNode):
+        (TGraphParentNode::~TGraphParentNode):
+        (TGraphParentNode::addDependentNode):
+        (TGraphArgument):
+        (TGraphArgument::TGraphArgument):
+        (TGraphArgument::~TGraphArgument):
+        (TGraphArgument::getIntermFunctionCall):
+        (TGraphArgument::getArgumentNumber):
+        (TGraphFunctionCall):
+        (TGraphFunctionCall::TGraphFunctionCall):
+        (TGraphFunctionCall::~TGraphFunctionCall):
+        (TGraphFunctionCall::getIntermFunctionCall):
+        (TGraphSymbol):
+        (TGraphSymbol::TGraphSymbol):
+        (TGraphSymbol::~TGraphSymbol):
+        (TGraphSymbol::getIntermSymbol):
+        (TGraphSelection):
+        (TGraphSelection::TGraphSelection):
+        (TGraphSelection::~TGraphSelection):
+        (TGraphSelection::getIntermSelection):
+        (TGraphLoop):
+        (TGraphLoop::TGraphLoop):
+        (TGraphLoop::~TGraphLoop):
+        (TGraphLoop::getIntermLoop):
+        (TGraphLogicalOp):
+        (TGraphLogicalOp::TGraphLogicalOp):
+        (TGraphLogicalOp::~TGraphLogicalOp):
+        (TGraphLogicalOp::getIntermLogicalOp):
+        (TDependencyGraph):
+        (TDependencyGraph::begin):
+        (TDependencyGraph::end):
+        (TDependencyGraph::beginSamplerSymbols):
+        (TDependencyGraph::endSamplerSymbols):
+        (TDependencyGraph::beginUserDefinedFunctionCalls):
+        (TDependencyGraph::endUserDefinedFunctionCalls):
+        (TDependencyGraphTraverser):
+        (TDependencyGraphTraverser::TDependencyGraphTraverser):
+        (TDependencyGraphTraverser::visitSymbol):
+        (TDependencyGraphTraverser::visitArgument):
+        (TDependencyGraphTraverser::visitFunctionCall):
+        (TDependencyGraphTraverser::visitSelection):
+        (TDependencyGraphTraverser::visitLoop):
+        (TDependencyGraphTraverser::visitLogicalOp):
+        (TDependencyGraphTraverser::getDepth):
+        (TDependencyGraphTraverser::incrementDepth):
+        (TDependencyGraphTraverser::decrementDepth):
+        (TDependencyGraphTraverser::clearVisited):
+        (TDependencyGraphTraverser::markVisited):
+        (TDependencyGraphTraverser::isVisited):
+        * src/compiler/depgraph/DependencyGraphBuilder.cpp: Added.
+        (TDependencyGraphBuilder::build):
+        (TDependencyGraphBuilder::visitAggregate):
+        (TDependencyGraphBuilder::visitFunctionDefinition):
+        (TDependencyGraphBuilder::visitFunctionCall):
+        (TDependencyGraphBuilder::visitAggregateChildren):
+        (TDependencyGraphBuilder::visitSymbol):
+        (TDependencyGraphBuilder::visitBinary):
+        (TDependencyGraphBuilder::visitAssignment):
+        (TDependencyGraphBuilder::visitLogicalOp):
+        (TDependencyGraphBuilder::visitBinaryChildren):
+        (TDependencyGraphBuilder::visitSelection):
+        (TDependencyGraphBuilder::visitLoop):
+        (TDependencyGraphBuilder::connectMultipleNodesToSingleNode):
+        * src/compiler/depgraph/DependencyGraphBuilder.h: Added.
+        (TDependencyGraphBuilder):
+        (TNodeSetStack):
+        (TDependencyGraphBuilder::TNodeSetStack::TNodeSetStack):
+        (TDependencyGraphBuilder::TNodeSetStack::~TNodeSetStack):
+        (TDependencyGraphBuilder::TNodeSetStack::getTopSet):
+        (TDependencyGraphBuilder::TNodeSetStack::pushSet):
+        (TDependencyGraphBuilder::TNodeSetStack::popSet):
+        (TDependencyGraphBuilder::TNodeSetStack::popSetIntoNext):
+        (TDependencyGraphBuilder::TNodeSetStack::insertIntoTopSet):
+        (TDependencyGraphBuilder::TNodeSetStack::clear):
+        (TNodeSetMaintainer):
+        (TDependencyGraphBuilder::TNodeSetMaintainer::TNodeSetMaintainer):
+        (TDependencyGraphBuilder::TNodeSetMaintainer::~TNodeSetMaintainer):
+        (TNodeSetPropagatingMaintainer):
+        (TDependencyGraphBuilder::TNodeSetPropagatingMaintainer::TNodeSetPropagatingMaintainer):
+        (TDependencyGraphBuilder::TNodeSetPropagatingMaintainer::~TNodeSetPropagatingMaintainer):
+        (TLeftmostSymbolMaintainer):
+        (TDependencyGraphBuilder::TLeftmostSymbolMaintainer::TLeftmostSymbolMaintainer):
+        (TDependencyGraphBuilder::TLeftmostSymbolMaintainer::~TLeftmostSymbolMaintainer):
+        (TDependencyGraphBuilder::TDependencyGraphBuilder):
+        (TDependencyGraphBuilder::build):
+        * src/compiler/depgraph/DependencyGraphOutput.cpp: Added.
+        (TDependencyGraphOutput::outputIndentation):
+        (TDependencyGraphOutput::visitArgument):
+        (TDependencyGraphOutput::visitFunctionCall):
+        (TDependencyGraphOutput::visitSymbol):
+        (TDependencyGraphOutput::visitSelection):
+        (TDependencyGraphOutput::visitLoop):
+        (TDependencyGraphOutput::visitLogicalOp):
+        (TDependencyGraphOutput::outputAllSpanningTrees):
+        * src/compiler/depgraph/DependencyGraphOutput.h: Added.
+        (TDependencyGraphOutput):
+        (TDependencyGraphOutput::TDependencyGraphOutput):
+        * src/compiler/depgraph/DependencyGraphTraverse.cpp: Added.
+        (TGraphNode::traverse):
+        (TGraphParentNode::traverse):
+        (TGraphArgument::traverse):
+        (TGraphFunctionCall::traverse):
+        (TGraphSymbol::traverse):
+        (TGraphSelection::traverse):
+        (TGraphLoop::traverse):
+        (TGraphLogicalOp::traverse):
+        * src/compiler/glslang.h:
+        * src/compiler/glslang.l:
+        * src/compiler/glslang.y:
+        * src/compiler/glslang_lex.cpp:
+        (yy_buffer_state):
+        (yyguts_t):
+        (yy_get_previous_state):
+        (yy_try_NUL_trans):
+        (input):
+        (yyensure_buffer_stack):
+        (yy_scan_bytes):
+        (yyget_leng):
+        (string_input):
+        (yyerror):
+        (glslang_finalize):
+        (glslang_scan):
+        * src/compiler/glslang_tab.cpp:
+        * src/compiler/intermediate.h:
+        (TIntermAggregate::TIntermAggregate):
+        (TIntermAggregate::~TIntermAggregate):
+        (TIntermAggregate::isUserDefined):
+        (TIntermAggregate):
+        (TIntermTraverser::~TIntermTraverser):
+        * src/compiler/osinclude.h:
+        * src/compiler/preprocessor/atom.c:
+        (FindHashLoc):
+        (PrintAtomTable):
+        * src/compiler/preprocessor/cpp.c:
+        (CPPpragma):
+        (readCPPline):
+        (PredefineIntMacro):
+        (MacroExpand):
+        * src/compiler/preprocessor/cpp.h:
+        * src/compiler/preprocessor/memory.h:
+        * src/compiler/preprocessor/new: Added properties allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs and allow-tabs.
+        * src/compiler/preprocessor/new/Context.cpp: Removed.
+        * src/compiler/preprocessor/new/Context.h: Removed.
+        * src/compiler/preprocessor/new/Diagnostics.h: Added.
+        (pp):
+        (Diagnostics):
+        * src/compiler/preprocessor/new/DiagnosticsBase.cpp: Added.
+        (pp):
+        (pp::Diagnostics::~Diagnostics):
+        (pp::Diagnostics::report):
+        (pp::Diagnostics::severity):
+        * src/compiler/preprocessor/new/DirectiveHandler.h: Added.
+        (pp):
+        (DirectiveHandler):
+        * src/compiler/preprocessor/new/DirectiveHandlerBase.cpp: Added.
+        (pp):
+        (pp::DirectiveHandler::~DirectiveHandler):
+        * src/compiler/preprocessor/new/DirectiveParser.cpp: Added.
+        (getDirective):
+        (isConditionalDirective):
+        (isEOD):
+        (skipUntilEOD):
+        (isMacroNameReserved):
+        (isMacroPredefined):
+        (pp):
+        (DefinedParser):
+        (pp::DefinedParser::DefinedParser):
+        (pp::DefinedParser::lex):
+        (pp::DirectiveParser::DirectiveParser):
+        (pp::DirectiveParser::lex):
+        (pp::DirectiveParser::parseDirective):
+        (pp::DirectiveParser::parseDefine):
+        (pp::DirectiveParser::parseUndef):
+        (pp::DirectiveParser::parseIf):
+        (pp::DirectiveParser::parseIfdef):
+        (pp::DirectiveParser::parseIfndef):
+        (pp::DirectiveParser::parseElse):
+        (pp::DirectiveParser::parseElif):
+        (pp::DirectiveParser::parseEndif):
+        (pp::DirectiveParser::parseError):
+        (pp::DirectiveParser::parsePragma):
+        (pp::DirectiveParser::parseExtension):
+        (pp::DirectiveParser::parseVersion):
+        (pp::DirectiveParser::parseLine):
+        (pp::DirectiveParser::skipping):
+        (pp::DirectiveParser::parseConditionalIf):
+        (pp::DirectiveParser::parseExpressionIf):
+        (pp::DirectiveParser::parseExpressionIfdef):
+        * src/compiler/preprocessor/new/DirectiveParser.h: Added.
+        (pp):
+        (DirectiveParser):
+        (ConditionalBlock):
+        (pp::DirectiveParser::ConditionalBlock::ConditionalBlock):
+        * src/compiler/preprocessor/new/ExpressionParser.cpp: Added.
+        (yysyntax_error):
+        (yylex):
+        (yyerror):
+        (pp):
+        (pp::ExpressionParser::ExpressionParser):
+        (pp::ExpressionParser::parse):
+        * src/compiler/preprocessor/new/ExpressionParser.h: Added.
+        (pp):
+        (ExpressionParser):
+        * src/compiler/preprocessor/new/ExpressionParser.y: Added.
+        * src/compiler/preprocessor/new/Input.cpp: Added property allow-tabs.
+        (pp::Input::Input):
+        (pp::Input::read):
+        * src/compiler/preprocessor/new/Input.h: Added property allow-tabs.
+        (pp):
+        (Input):
+        (pp::Input::count):
+        (pp::Input::string):
+        (pp::Input::length):
+        (Location):
+        (pp::Input::Location::Location):
+        (pp::Input::readLoc):
+        * src/compiler/preprocessor/new/Lexer.cpp: Added.
+        (pp):
+        (pp::Lexer::~Lexer):
+        * src/compiler/preprocessor/new/Lexer.h: Added.
+        (pp):
+        (Lexer):
+        * src/compiler/preprocessor/new/Macro.cpp: Added property allow-tabs.
+        (pp::Macro::equals):
+        * src/compiler/preprocessor/new/Macro.h: Added property allow-tabs.
+        (pp):
+        (pp::Macro::Macro):
+        (Macro):
+        * src/compiler/preprocessor/new/MacroExpander.cpp: Added.
+        (pp):
+        (TokenLexer):
+        (pp::TokenLexer::TokenLexer):
+        (pp::TokenLexer::lex):
+        (pp::MacroExpander::MacroExpander):
+        (pp::MacroExpander::~MacroExpander):
+        (pp::MacroExpander::lex):
+        (pp::MacroExpander::getToken):
+        (pp::MacroExpander::ungetToken):
+        (pp::MacroExpander::isNextTokenLeftParen):
+        (pp::MacroExpander::pushMacro):
+        (pp::MacroExpander::popMacro):
+        (pp::MacroExpander::expandMacro):
+        (pp::MacroExpander::collectMacroArgs):
+        (pp::MacroExpander::replaceMacroParams):
+        * src/compiler/preprocessor/new/MacroExpander.h: Added.
+        (pp):
+        (MacroExpander):
+        (MacroContext):
+        (pp::MacroExpander::MacroContext::MacroContext):
+        (pp::MacroExpander::MacroContext::empty):
+        (pp::MacroExpander::MacroContext::get):
+        (pp::MacroExpander::MacroContext::unget):
+        * src/compiler/preprocessor/new/Preprocessor.cpp: Added property allow-tabs.
+        (PreprocessorImpl):
+        (pp::PreprocessorImpl::PreprocessorImpl):
+        (pp):
+        (pp::Preprocessor::Preprocessor):
+        (pp::Preprocessor::~Preprocessor):
+        (pp::Preprocessor::init):
+        (pp::Preprocessor::predefineMacro):
+        (pp::Preprocessor::lex):
+        * src/compiler/preprocessor/new/Preprocessor.h: Added property allow-tabs.
+        (pp):
+        (Preprocessor):
+        * src/compiler/preprocessor/new/SourceLocation.h: Added.
+        (pp):
+        (pp::SourceLocation::SourceLocation):
+        (SourceLocation):
+        (pp::SourceLocation::equals):
+        (pp::operator==):
+        (pp::operator!=):
+        * src/compiler/preprocessor/new/Token.cpp: Added property allow-tabs.
+        (pp::Token::reset):
+        (pp::Token::equals):
+        (pp::Token::setAtStartOfLine):
+        (pp::Token::setHasLeadingSpace):
+        (pp):
+        (pp::Token::setExpansionDisabled):
+        (pp::operator<<):
+        * src/compiler/preprocessor/new/Token.h: Added property allow-tabs.
+        (pp::Token::Token):
+        (Token):
+        (pp::Token::atStartOfLine):
+        (pp::Token::hasLeadingSpace):
+        (pp::Token::expansionDisabled):
+        (pp::operator==):
+        (pp):
+        (pp::operator!=):
+        * src/compiler/preprocessor/new/Tokenizer.cpp: Added.
+        (yy_buffer_state):
+        (yy_trans_info):
+        (yyguts_t):
+        (yy_get_previous_state):
+        (yy_try_NUL_trans):
+        (input):
+        (pprestart):
+        (pp_switch_to_buffer):
+        (pp_load_buffer_state):
+        (pp_create_buffer):
+        (pp_delete_buffer):
+        (pp_init_buffer):
+        (pp_flush_buffer):
+        (pppush_buffer_state):
+        (pppop_buffer_state):
+        (ppensure_buffer_stack):
+        (pp_scan_buffer):
+        (pp_scan_string):
+        (pp_scan_bytes):
+        (yy_fatal_error):
+        (ppget_extra):
+        (ppget_lineno):
+        (ppget_column):
+        (ppget_in):
+        (ppget_out):
+        (ppget_leng):
+        (ppget_text):
+        (ppset_extra):
+        (ppset_lineno):
+        (ppset_column):
+        (ppset_in):
+        (ppset_out):
+        (ppget_debug):
+        (ppset_debug):
+        (ppget_lval):
+        (ppset_lval):
+        (ppget_lloc):
+        (ppset_lloc):
+        (pplex_init):
+        (pplex_init_extra):
+        (yy_init_globals):
+        (pplex_destroy):
+        (yy_flex_strncpy):
+        (yy_flex_strlen):
+        (ppalloc):
+        (pprealloc):
+        (ppfree):
+        (pp):
+        (pp::Tokenizer::Tokenizer):
+        (pp::Tokenizer::~Tokenizer):
+        (pp::Tokenizer::init):
+        (pp::Tokenizer::setFileNumber):
+        (pp::Tokenizer::setLineNumber):
+        (pp::Tokenizer::lex):
+        (pp::Tokenizer::initScanner):
+        (pp::Tokenizer::destroyScanner):
+        * src/compiler/preprocessor/new/Tokenizer.h: Added.
+        (pp):
+        (Tokenizer):
+        (Context):
+        * src/compiler/preprocessor/new/Tokenizer.l: Added.
+        * src/compiler/preprocessor/new/generate_parser.sh: Added property allow-tabs.
+        * src/compiler/preprocessor/new/pp.l: Removed.
+        * src/compiler/preprocessor/new/pp.y: Removed.
+        * src/compiler/preprocessor/new/pp_lex.cpp: Removed.
+        * src/compiler/preprocessor/new/pp_tab.cpp: Removed.
+        * src/compiler/preprocessor/new/pp_tab.h: Removed.
+        * src/compiler/preprocessor/new/pp_utils.h: Added.
+        * src/compiler/preprocessor/new/preprocessor.vcproj: Added.
+        * src/compiler/preprocessor/new/stl_utils.h: Removed.
+        * src/compiler/preprocessor/new/token_type.h: Removed.
+        * src/compiler/preprocessor/preprocess.h:
+        * src/compiler/preprocessor/scanner.c:
+        (InitScannerInput):
+        * src/compiler/preprocessor/scanner.h:
+        * src/compiler/preprocessor/symbols.h:
+        * src/compiler/preprocessor/tokens.c:
+        (ReadToken):
+        (DumpTokenStream):
+        * src/compiler/preprocessor/tokens.h:
+        * src/compiler/timing: Added.
+        * src/compiler/timing/RestrictFragmentShaderTiming.cpp: Added.
+        (RestrictFragmentShaderTiming::RestrictFragmentShaderTiming):
+        (RestrictFragmentShaderTiming::enforceRestrictions):
+        (RestrictFragmentShaderTiming::validateUserDefinedFunctionCallUsage):
+        (RestrictFragmentShaderTiming::beginError):
+        (RestrictFragmentShaderTiming::isSamplingOp):
+        (RestrictFragmentShaderTiming::visitArgument):
+        (RestrictFragmentShaderTiming::visitSelection):
+        (RestrictFragmentShaderTiming::visitLoop):
+        (RestrictFragmentShaderTiming::visitLogicalOp):
+        * src/compiler/timing/RestrictFragmentShaderTiming.h: Added.
+        (RestrictFragmentShaderTiming):
+        (RestrictFragmentShaderTiming::numErrors):
+        * src/compiler/timing/RestrictVertexShaderTiming.cpp: Added.
+        (RestrictVertexShaderTiming::visitSymbol):
+        * src/compiler/timing/RestrictVertexShaderTiming.h: Added.
+        (RestrictVertexShaderTiming):
+        (RestrictVertexShaderTiming::RestrictVertexShaderTiming):
+        (RestrictVertexShaderTiming::enforceRestrictions):
+        (RestrictVertexShaderTiming::numErrors):
+        * src/libEGL/Display.cpp:
+        (egl):
+        (egl::Display::getDepthTextureSupport):
+        (egl::Display::getTexturePool):
+        * src/libEGL/Display.h:
+        (Display):
+        * src/libEGL/Surface.cpp:
+        (egl::Surface::Surface):
+        (egl::Surface::release):
+        (egl::Surface::resetSwapChain):
+        (egl::Surface::swapRect):
+        (egl):
+        (egl::Surface::swap):
+        (egl::Surface::postSubBuffer):
+        * src/libEGL/Surface.h:
+        (Surface):
+        * src/libEGL/libEGL.cpp:
+        * src/libGLESv2/Context.cpp:
+        (gl::Context::makeCurrent):
+        (gl::Context::markDxUniformsDirty):
+        (gl):
+        (gl::Context::getIntegerv):
+        (gl::Context::getQueryParameterInfo):
+        (gl::Context::applyRenderTarget):
+        (gl::Context::applyState):
+        (gl::Context::applyShaders):
+        (gl::Context::applyTextures):
+        (gl::Context::readPixels):
+        (gl::Context::clear):
+        (gl::Context::drawArrays):
+        (gl::Context::drawElements):
+        (gl::Context::supportsDepthTextures):
+        (gl::Context::initExtensionString):
+        (gl::Context::blitFramebuffer):
+        (gl::VertexDeclarationCache::applyDeclaration):
+        * src/libGLESv2/Context.h:
+        (Context):
+        * src/libGLESv2/Framebuffer.cpp:
+        (gl::Framebuffer::~Framebuffer):
+        (gl):
+        (gl::Framebuffer::getNullColorbuffer):
+        (gl::Framebuffer::completeness):
+        * src/libGLESv2/Framebuffer.h:
+        (Framebuffer):
+        * src/libGLESv2/Program.cpp:
+        (gl):
+        (gl::AttributeBindings::AttributeBindings):
+        (gl::AttributeBindings::~AttributeBindings):
+        (gl::InfoLog::InfoLog):
+        (gl::InfoLog::~InfoLog):
+        (gl::InfoLog::getLength):
+        (gl::InfoLog::getLog):
+        (gl::InfoLog::appendSanitized):
+        (gl::InfoLog::append):
+        (gl::InfoLog::reset):
+        (gl::Program::Program):
+        (gl::Program::~Program):
+        (gl::Program::attachShader):
+        (gl::Program::detachShader):
+        (gl::Program::getAttachedShadersCount):
+        (gl::AttributeBindings::bindAttributeLocation):
+        (gl::Program::bindAttributeLocation):
+        (gl::Program::link):
+        (gl::AttributeBindings::getAttributeBinding):
+        (gl::Program::unlink):
+        (gl::Program::getProgramBinary):
+        (gl::Program::setProgramBinary):
+        (gl::Program::getInfoLogLength):
+        (gl::Program::getInfoLog):
+        (gl::Program::getActiveAttribute):
+        (gl::Program::getActiveAttributeCount):
+        (gl::Program::getActiveAttributeMaxLength):
+        (gl::Program::getActiveUniform):
+        (gl::Program::getActiveUniformCount):
+        (gl::Program::getActiveUniformMaxLength):
+        (gl::Program::validate):
+        (gl::Program::isValidated):
+        * src/libGLESv2/Program.h:
+        (gl):
+        (AttributeBindings):
+        (InfoLog):
+        (Program):
+        * src/libGLESv2/ProgramBinary.cpp: Added.
+        (gl::str):
+        (gl):
+        (gl::Uniform::Uniform):
+        (gl::Uniform::~Uniform):
+        (gl::Uniform::isArray):
+        (gl::UniformLocation::UniformLocation):
+        (gl::ProgramBinary::ProgramBinary):
+        (gl::ProgramBinary::~ProgramBinary):
+        (gl::ProgramBinary::getPixelShader):
+        (gl::ProgramBinary::getVertexShader):
+        (gl::ProgramBinary::getAttributeLocation):
+        (gl::ProgramBinary::getSemanticIndex):
+        (gl::ProgramBinary::getUsedSamplerRange):
+        (gl::ProgramBinary::getSamplerMapping):
+        (gl::ProgramBinary::getSamplerTextureType):
+        (gl::ProgramBinary::getUniformLocation):
+        (gl::ProgramBinary::setUniform1fv):
+        (gl::ProgramBinary::setUniform2fv):
+        (gl::ProgramBinary::setUniform3fv):
+        (gl::ProgramBinary::setUniform4fv):
+        (gl::transposeMatrix):
+        (gl::ProgramBinary::setUniformMatrix2fv):
+        (gl::ProgramBinary::setUniformMatrix3fv):
+        (gl::ProgramBinary::setUniformMatrix4fv):
+        (gl::ProgramBinary::setUniform1iv):
+        (gl::ProgramBinary::setUniform2iv):
+        (gl::ProgramBinary::setUniform3iv):
+        (gl::ProgramBinary::setUniform4iv):
+        (gl::ProgramBinary::getUniformfv):
+        (gl::ProgramBinary::getUniformiv):
+        (gl::ProgramBinary::dirtyAllUniforms):
+        (gl::ProgramBinary::applyUniforms):
+        (gl::ProgramBinary::compileToBinary):
+        (gl::ProgramBinary::packVaryings):
+        (gl::ProgramBinary::linkVaryings):
+        (gl::ProgramBinary::link):
+        (gl::ProgramBinary::linkAttributes):
+        (gl::ProgramBinary::linkUniforms):
+        (gl::ProgramBinary::defineUniform):
+        (gl::ProgramBinary::createUniform):
+        (gl::ProgramBinary::decorateAttribute):
+        (gl::ProgramBinary::undecorateUniform):
+        (gl::ProgramBinary::applyUniformnbv):
+        (gl::ProgramBinary::applyUniformnfv):
+        (gl::ProgramBinary::applyUniform1iv):
+        (gl::ProgramBinary::applyUniform2iv):
+        (gl::ProgramBinary::applyUniform3iv):
+        (gl::ProgramBinary::applyUniform4iv):
+        (gl::ProgramBinary::applyUniformniv):
+        (gl::ProgramBinary::isValidated):
+        (gl::ProgramBinary::getActiveAttribute):
+        (gl::ProgramBinary::getActiveAttributeCount):
+        (gl::ProgramBinary::getActiveAttributeMaxLength):
+        (gl::ProgramBinary::getActiveUniform):
+        (gl::ProgramBinary::getActiveUniformCount):
+        (gl::ProgramBinary::getActiveUniformMaxLength):
+        (gl::ProgramBinary::validate):
+        (gl::ProgramBinary::validateSamplers):
+        (gl::ProgramBinary::getDxDepthRangeLocation):
+        (gl::ProgramBinary::getDxDepthLocation):
+        (gl::ProgramBinary::getDxCoordLocation):
+        (gl::ProgramBinary::getDxHalfPixelSizeLocation):
+        (gl::ProgramBinary::getDxFrontCCWLocation):
+        (gl::ProgramBinary::getDxPointsOrLinesLocation):
+        * src/libGLESv2/ProgramBinary.h: Added.
+        (gl):
+        (Uniform):
+        (gl::Uniform::RegisterInfo::RegisterInfo):
+        (RegisterInfo):
+        (gl::Uniform::RegisterInfo::set):
+        (UniformLocation):
+        (ProgramBinary):
+        (Sampler):
+        * src/libGLESv2/Renderbuffer.cpp:
+        (gl):
+        (gl::RenderbufferTexture2D::RenderbufferTexture2D):
+        (gl::RenderbufferTexture2D::~RenderbufferTexture2D):
+        (gl::RenderbufferTexture2D::addProxyRef):
+        (gl::RenderbufferTexture2D::releaseProxy):
+        (gl::RenderbufferTexture2D::getRenderTarget):
+        (gl::RenderbufferTexture2D::getDepthStencil):
+        (gl::RenderbufferTexture2D::getWidth):
+        (gl::RenderbufferTexture2D::getHeight):
+        (gl::RenderbufferTexture2D::getInternalFormat):
+        (gl::RenderbufferTexture2D::getD3DFormat):
+        (gl::RenderbufferTexture2D::getSamples):
+        (gl::RenderbufferTexture2D::getSerial):
+        (gl::RenderbufferTextureCubeMap::RenderbufferTextureCubeMap):
+        (gl::RenderbufferTextureCubeMap::~RenderbufferTextureCubeMap):
+        (gl::RenderbufferTextureCubeMap::addProxyRef):
+        (gl::RenderbufferTextureCubeMap::releaseProxy):
+        (gl::RenderbufferTextureCubeMap::getRenderTarget):
+        (gl::RenderbufferTextureCubeMap::getDepthStencil):
+        (gl::RenderbufferTextureCubeMap::getWidth):
+        (gl::RenderbufferTextureCubeMap::getHeight):
+        (gl::RenderbufferTextureCubeMap::getInternalFormat):
+        (gl::RenderbufferTextureCubeMap::getD3DFormat):
+        (gl::RenderbufferTextureCubeMap::getSamples):
+        (gl::RenderbufferTextureCubeMap::getSerial):
+        (gl::DepthStencilbuffer::getDepthStencil):
+        * src/libGLESv2/Renderbuffer.h:
+        (gl):
+        (RenderbufferTexture2D):
+        (RenderbufferTextureCubeMap):
+        * src/libGLESv2/Shader.cpp:
+        (gl::Shader::getInfoLog):
+        (gl::Shader::getSourceImpl):
+        * src/libGLESv2/Shader.h:
+        (Shader):
+        (VertexShader):
+        * src/libGLESv2/Texture.cpp:
+        (gl::ConvertTextureFormatType):
+        (gl::IsTextureFormatRenderable):
+        (gl::GetTextureUsage):
+        (gl):
+        (gl::Image::createSurface):
+        (gl::Image::updateSurface):
+        (gl::Image::loadData):
+        (gl::Image::loadAlphaData):
+        (gl::Image::loadAlphaDataSSE2):
+        (gl::Image::loadAlphaFloatData):
+        (gl::Image::loadAlphaHalfFloatData):
+        (gl::Image::loadLuminanceData):
+        (gl::Image::loadLuminanceFloatData):
+        (gl::Image::loadLuminanceHalfFloatData):
+        (gl::Image::loadLuminanceAlphaData):
+        (gl::Image::loadLuminanceAlphaFloatData):
+        (gl::Image::loadLuminanceAlphaHalfFloatData):
+        (gl::Image::loadRGBUByteData):
+        (gl::Image::loadRGB565Data):
+        (gl::Image::loadRGBFloatData):
+        (gl::Image::loadRGBHalfFloatData):
+        (gl::Image::loadRGBAUByteDataSSE2):
+        (gl::Image::loadRGBAUByteData):
+        (gl::Image::loadRGBA4444Data):
+        (gl::Image::loadRGBA5551Data):
+        (gl::Image::loadRGBAFloatData):
+        (gl::Image::loadRGBAHalfFloatData):
+        (gl::Image::loadBGRAData):
+        (gl::Image::loadCompressedData):
+        (gl::Image::copy):
+        (gl::TextureStorage::TextureStorage):
+        (gl::TextureStorage::isRenderTarget):
+        (gl::TextureStorage::getUsage):
+        (gl::Texture::setImage):
+        (gl::Texture::setCompressedImage):
+        (gl::Texture::subImage):
+        (gl::Texture::subImageCompressed):
+        (gl::TextureStorage2D::TextureStorage2D):
+        (gl::Texture2D::getInternalFormat):
+        (gl::Texture2D::getD3DFormat):
+        (gl::Texture2D::copyImage):
+        (gl::Texture2D::copySubImage):
+        (gl::Texture2D::storage):
+        (gl::Texture2D::isSamplerComplete):
+        (gl::Texture2D::isCompressed):
+        (gl::Texture2D::isDepth):
+        (gl::Texture2D::createTexture):
+        (gl::Texture2D::convertToRenderTarget):
+        (gl::Texture2D::getRenderbuffer):
+        (gl::Texture2D::getRenderTarget):
+        (gl::Texture2D::getDepthStencil):
+        (gl::TextureStorageCubeMap::TextureStorageCubeMap):
+        (gl::TextureCubeMap::getWidth):
+        (gl::TextureCubeMap::getHeight):
+        (gl::TextureCubeMap::getInternalFormat):
+        (gl::TextureCubeMap::getD3DFormat):
+        (gl::TextureCubeMap::isSamplerComplete):
+        (gl::TextureCubeMap::isCompressed):
+        (gl::TextureCubeMap::createTexture):
+        (gl::TextureCubeMap::convertToRenderTarget):
+        (gl::TextureCubeMap::copyImage):
+        (gl::TextureCubeMap::copySubImage):
+        (gl::TextureCubeMap::storage):
+        (gl::TextureCubeMap::getRenderbuffer):
+        * src/libGLESv2/Texture.h:
+        (Image):
+        (TextureStorage):
+        (Texture):
+        (TextureStorage2D):
+        (Texture2D):
+        (TextureStorageCubeMap):
+        (TextureCubeMap):
+        * src/libGLESv2/VertexDataManager.cpp:
+        (gl::VertexDataManager::prepareVertexData):
+        * src/libGLESv2/libGLESv2.cpp:
+        (checkTextureFormatType):
+        (validateSubImageParams2D):
+        (validateSubImageParamsCube):
+        * src/libGLESv2/libGLESv2.vcproj:
+        * src/libGLESv2/mathutil.h:
+        (gl):
+        * src/libGLESv2/utilities.cpp:
+        (gl::IsDepthTexture):
+        (gl):
+        (gl::ComputePixelSize):
+        (gl::ExtractFormat):
+        (gl::ExtractType):
+        (es2dx::ConvertCubeFace):
+        (es2dx::ConvertRenderbufferFormat):
+        (dx2es::GetStencilSize):
+        (dx2es::GetDepthSize):
+        (dx2es::IsDepthTextureFormat):
+        (dx2es):
+        (dx2es::IsStencilTextureFormat):
+        (dx2es::ConvertDepthStencilFormat):
+        * src/libGLESv2/utilities.h:
+        (gl):
+        (dx2es):
+
+2012-07-11  Mark Rowe  <mrowe@apple.com>
+
+        <http://webkit.org/b/91024> Build against the latest SDK when targeting older OS X versions.
+
+        Reviewed by Dan Bernstein.
+
+        The deployment target is already set to the version that we're targeting, and it's that setting
+        which determines which functionality from the SDK is available to us.
+
+        * Configurations/Base.xcconfig:
+
+2012-06-22  Joshua Netterfield  <jnetterfield@rim.com>
+
+        [BlackBerry] Sanitize GLSL code using ANGLE.
+
+        BlackBerry port does not sanitize GLSL code with ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=89583
+
+        Reviewed by Rob Buis.
+
+        * src/compiler/osinclude.h: Recognises QNX as POSIX
+
+2012-03-26  Dean Jackson  <dino@apple.com>
+
+        Update ANGLE in WebKit
+        https://bugs.webkit.org/show_bug.cgi?id=81717
+
+        Reviewed by Kenneth Russell.
+
+        Update angleproject to r1009. Synced the source directory
+        between the angle repository and WebKit. Ran the OS X Lion
+        version of Bison over the glslang.l input which generates
+        a slightly different output than angle provided.
+
+        * include/EGL/eglext.h:
+        * include/GLES2/gl2ext.h:
+        * include/GLSLANG/ShaderLang.h:
+        * src/common/RefCountObject.cpp: Renamed from Source/ThirdParty/ANGLE/src/libGLESv2/RefCountObject.cpp.
+        (RefCountObject::RefCountObject):
+        (RefCountObject::~RefCountObject):
+        (RefCountObject::addRef):
+        (RefCountObject::release):
+        (RefCountObjectBindingPointer::set):
+        * src/common/RefCountObject.h: Renamed from Source/ThirdParty/ANGLE/src/libGLESv2/RefCountObject.h.
+        (RefCountObject):
+        (RefCountObject::id):
+        (RefCountObjectBindingPointer):
+        (RefCountObjectBindingPointer::RefCountObjectBindingPointer):
+        (RefCountObjectBindingPointer::~RefCountObjectBindingPointer):
+        (RefCountObjectBindingPointer::get):
+        (RefCountObjectBindingPointer::id):
+        (RefCountObjectBindingPointer::operator ! ):
+        (BindingPointer):
+        (BindingPointer::set):
+        (BindingPointer::get):
+        (BindingPointer::operator -> ):
+        * src/common/debug.cpp:
+        (gl::output):
+        * src/common/version.h:
+        * src/compiler/BaseTypes.h:
+        * src/compiler/Compiler.cpp:
+        (TCompiler::TCompiler):
+        (TCompiler::~TCompiler):
+        (TCompiler::mapLongVariableNames):
+        * src/compiler/ConstantUnion.h:
+        (ConstantUnion::ConstantUnion):
+        (ConstantUnion::operator==):
+        (ConstantUnion::operator>):
+        (ConstantUnion::operator<):
+        * src/compiler/Intermediate.cpp:
+        (TIntermConstantUnion::fold):
+        * src/compiler/MapLongVariableNames.cpp:
+        (LongNameMap::LongNameMap):
+        (LongNameMap::~LongNameMap):
+        (LongNameMap::GetInstance):
+        (LongNameMap::Release):
+        (LongNameMap::Find):
+        (LongNameMap::Insert):
+        (LongNameMap::Size):
+        (MapLongVariableNames::MapLongVariableNames):
+        (MapLongVariableNames::visitSymbol):
+        (MapLongVariableNames::mapGlobalLongName):
+        * src/compiler/MapLongVariableNames.h:
+        (LongNameMap):
+        (MapLongVariableNames):
+        * src/compiler/OutputHLSL.cpp:
+        (sh::OutputHLSL::OutputHLSL):
+        (sh::OutputHLSL::header):
+        (sh::OutputHLSL::visitSymbol):
+        (sh::OutputHLSL::visitUnary):
+        (sh::OutputHLSL::visitAggregate):
+        (sh::OutputHLSL::visitLoop):
+        (sh::OutputHLSL::handleExcessiveLoop):
+        (sh::OutputHLSL::typeString):
+        (sh::OutputHLSL::addConstructor):
+        (sh::OutputHLSL::decorateUniform):
+        * src/compiler/OutputHLSL.h:
+        (OutputHLSL):
+        * src/compiler/PoolAlloc.cpp:
+        (TAllocation::checkGuardBlock):
+        * src/compiler/ShHandle.h:
+        (TCompiler):
+        * src/compiler/SymbolTable.cpp:
+        * src/compiler/SymbolTable.h:
+        (TSymbolTable):
+        (TSymbolTable::getOuterLevel):
+        * src/compiler/VariableInfo.cpp:
+        (getVariableDataType):
+        * src/compiler/glslang.l:
+        * src/compiler/glslang.y:
+        * src/compiler/glslang_lex.cpp:
+        (yy_buffer_state):
+        (yyguts_t):
+        (input):
+        (yyensure_buffer_stack):
+        (yy_scan_bytes):
+        (yyget_leng):
+        * src/compiler/glslang_tab.cpp:
+        * src/compiler/osinclude.h:
+        * src/compiler/preprocessor/cpp.c:
+        * src/compiler/preprocessor/memory.c:
+        * src/compiler/preprocessor/new/Context.cpp: Added.
+        (isMacroNameReserved):
+        (pp):
+        (pp::Context::Context):
+        (pp::Context::~Context):
+        (pp::Context::init):
+        (pp::Context::process):
+        (pp::Context::defineMacro):
+        (pp::Context::undefineMacro):
+        (pp::Context::isMacroDefined):
+        (pp::Context::reset):
+        (pp::Context::defineBuiltInMacro):
+        * src/compiler/preprocessor/new/Context.h: Added.
+        (pp):
+        (Context):
+        (pp::Context::lexer):
+        (pp::Context::output):
+        * src/compiler/preprocessor/new/Input.cpp: Added.
+        (pp):
+        (pp::Input::Input):
+        (pp::Input::eof):
+        (pp::Input::read):
+        (pp::Input::getChar):
+        (pp::Input::peekChar):
+        (pp::Input::switchToNextString):
+        (pp::Input::isStringEmpty):
+        (pp::Input::stringLength):
+        * src/compiler/preprocessor/new/Input.h: Added.
+        (pp):
+        (Input):
+        (pp::Input::error):
+        (pp::Input::stringIndex):
+        * src/compiler/preprocessor/new/Macro.cpp: Added.
+        (pp):
+        (pp::Macro::Macro):
+        (pp::Macro::~Macro):
+        * src/compiler/preprocessor/new/Macro.h: Added.
+        (pp):
+        (Macro):
+        (pp::Macro::type):
+        (pp::Macro::identifier):
+        (pp::Macro::parameters):
+        (pp::Macro::replacements):
+        * src/compiler/preprocessor/new/Preprocessor.cpp: Added.
+        (pp):
+        (pp::Preprocessor::Preprocessor):
+        (pp::Preprocessor::~Preprocessor):
+        (pp::Preprocessor::init):
+        (pp::Preprocessor::process):
+        (pp::Preprocessor::reset):
+        * src/compiler/preprocessor/new/Preprocessor.h: Added.
+        (pp):
+        (Preprocessor):
+        (pp::Preprocessor::begin):
+        (pp::Preprocessor::end):
+        * src/compiler/preprocessor/new/Token.cpp: Added.
+        (pp):
+        (pp::Token::encodeLocation):
+        (pp::Token::decodeLocation):
+        (pp::Token::Token):
+        (pp::Token::~Token):
+        (pp::operator<<):
+        * src/compiler/preprocessor/new/Token.h: Added.
+        (pp):
+        (Token):
+        (pp::Token::location):
+        (pp::Token::type):
+        (pp::Token::value):
+        * src/compiler/preprocessor/new/generate_parser.sh: Added.
+        * src/compiler/preprocessor/new/pp.l: Added.
+        * src/compiler/preprocessor/new/pp.y: Added.
+        * src/compiler/preprocessor/new/pp_lex.cpp: Added.
+        (yy_buffer_state):
+        (yy_trans_info):
+        (yyguts_t):
+        (yy_get_previous_state):
+        (yy_try_NUL_trans):
+        (input):
+        (pprestart):
+        (pp_switch_to_buffer):
+        (pp_load_buffer_state):
+        (pp_create_buffer):
+        (pp_delete_buffer):
+        (pp_init_buffer):
+        (pp_flush_buffer):
+        (pppush_buffer_state):
+        (pppop_buffer_state):
+        (ppensure_buffer_stack):
+        (pp_scan_buffer):
+        (pp_scan_string):
+        (pp_scan_bytes):
+        (yy_push_state):
+        (yy_pop_state):
+        (yy_top_state):
+        (yy_fatal_error):
+        (ppget_extra):
+        (ppget_lineno):
+        (ppget_column):
+        (ppget_in):
+        (ppget_out):
+        (ppget_leng):
+        (ppget_text):
+        (ppset_extra):
+        (ppset_lineno):
+        (ppset_column):
+        (ppset_in):
+        (ppset_out):
+        (ppget_debug):
+        (ppset_debug):
+        (ppget_lval):
+        (ppset_lval):
+        (ppget_lloc):
+        (ppset_lloc):
+        (pplex_init):
+        (pplex_init_extra):
+        (yy_init_globals):
+        (pplex_destroy):
+        (yy_flex_strncpy):
+        (yy_flex_strlen):
+        (ppalloc):
+        (pprealloc):
+        (ppfree):
+        (extractMacroName):
+        (pp):
+        (pp::Context::readInput):
+        (pp::Context::initLexer):
+        (pp::Context::destroyLexer):
+        * src/compiler/preprocessor/new/pp_tab.cpp: Added.
+        (YYLTYPE):
+        (yysyntax_error):
+        (yyerror):
+        (pushConditionalBlock):
+        (popConditionalBlock):
+        (pp::Context::parse):
+        * src/compiler/preprocessor/new/pp_tab.h: Added.
+        (YYLTYPE):
+        * src/compiler/preprocessor/new/stl_utils.h: Added.
+        (pp):
+        (Delete):
+        (pp::Delete::operator()):
+        (DeleteSecond):
+        (pp::DeleteSecond::operator()):
+        * src/compiler/preprocessor/new/token_type.h: Added.
+        * src/compiler/preprocessor/scanner.c:
+        (yylex_CPP):
+        * src/compiler/preprocessor/symbols.c:
+        * src/compiler/preprocessor/tokens.c:
+        * src/libEGL/Config.cpp:
+        (egl::ConfigSet::getConfigs):
+        * src/libEGL/Display.cpp:
+        (egl::Display::initialize):
+        (egl::Display::terminate):
+        (egl::Display::restoreLostDevice):
+        (egl::Display::sync):
+        (egl):
+        (egl::Display::allocateEventQuery):
+        (egl::Display::freeEventQuery):
+        (egl::Display::getFloat32TextureSupport):
+        (egl::Display::getFloat16TextureSupport):
+        (egl::Display::getEventQuerySupport):
+        (egl::Display::initExtensionString):
+        (egl::Display::shareHandleSupported):
+        (egl::Display::getOcclusionQuerySupport):
+        (egl::Display::getInstancingSupport):
+        * src/libEGL/Display.h:
+        (Display):
+        (egl::Display::isD3d9ExDevice):
+        * src/libEGL/Surface.cpp:
+        (egl::Surface::resetSwapChain):
+        * src/libEGL/libEGL.cpp:
+        * src/libEGL/libEGL.vcproj:
+        * src/libGLESv2/Blit.cpp:
+        (gl::Blit::setCommonBlitState):
+        * src/libGLESv2/Buffer.h:
+        (Buffer):
+        * src/libGLESv2/Context.cpp:
+        (gl::Context::Context):
+        (gl::Context::~Context):
+        (gl::Context::makeCurrent):
+        (gl::Context::getActiveQuery):
+        (gl):
+        (gl::Context::createFence):
+        (gl::Context::createQuery):
+        (gl::Context::deleteQuery):
+        (gl::Context::beginQuery):
+        (gl::Context::endQuery):
+        (gl::Context::getQuery):
+        (gl::Context::applyVertexBuffer):
+        (gl::Context::applyIndexBuffer):
+        (gl::Context::readPixels):
+        (gl::Context::clear):
+        (gl::Context::drawArrays):
+        (gl::Context::drawElements):
+        (gl::Context::sync):
+        (gl::Context::drawLineLoop):
+        (gl::Context::supportsOcclusionQueries):
+        (gl::Context::supportsInstancing):
+        (gl::Context::setVertexAttribDivisor):
+        (gl::Context::initExtensionString):
+        (gl::VertexDeclarationCache::applyDeclaration):
+        (gl::VertexDeclarationCache::markStateDirty):
+        * src/libGLESv2/Context.h:
+        (gl):
+        (gl::VertexAttribute::VertexAttribute):
+        (State):
+        (VertexDeclarationCache):
+        (Context):
+        * src/libGLESv2/Fence.cpp:
+        (gl::Fence::Fence):
+        (gl::Fence::~Fence):
+        (gl::Fence::setFence):
+        * src/libGLESv2/Fence.h:
+        (egl):
+        (Fence):
+        * src/libGLESv2/Framebuffer.cpp:
+        (gl::Framebuffer::lookupRenderbuffer):
+        (gl::Framebuffer::detachTexture):
+        (gl::Framebuffer::completeness):
+        * src/libGLESv2/Framebuffer.h:
+        * src/libGLESv2/IndexDataManager.cpp:
+        (gl::IndexDataManager::IndexDataManager):
+        (gl::IndexDataManager::~IndexDataManager):
+        (gl::computeRange):
+        (gl::IndexDataManager::prepareIndexData):
+        (gl::IndexDataManager::getCountingIndices):
+        (gl):
+        * src/libGLESv2/IndexDataManager.h:
+        (IndexDataManager):
+        * src/libGLESv2/Program.cpp:
+        (gl::Program::getUniformLocation):
+        (gl::Program::setUniform1fv):
+        (gl::Program::setUniform2fv):
+        (gl::Program::setUniform3fv):
+        (gl::Program::setUniform4fv):
+        (gl::Program::setUniform1iv):
+        (gl::Program::setUniform2iv):
+        (gl::Program::setUniform3iv):
+        (gl::Program::setUniform4iv):
+        (gl::Program::packVaryings):
+        (gl::Program::linkVaryings):
+        (gl::Program::defineUniform):
+        (gl::Program::createUniform):
+        (gl::Program::applyUniformnbv):
+        (gl::Program::applyUniform1iv):
+        (gl::Program::applyUniform2iv):
+        (gl::Program::applyUniform3iv):
+        (gl::Program::applyUniform4iv):
+        (gl::Program::getInfoLog):
+        * src/libGLESv2/Program.h:
+        (Program):
+        * src/libGLESv2/Query.cpp: Added.
+        (gl):
+        (gl::Query::Query):
+        (gl::Query::~Query):
+        (gl::Query::begin):
+        (gl::Query::end):
+        (gl::Query::getResult):
+        (gl::Query::isResultAvailable):
+        (gl::Query::getType):
+        (gl::Query::testQuery):
+        * src/libGLESv2/Query.h: Added.
+        (gl):
+        (Query):
+        * src/libGLESv2/Renderbuffer.cpp:
+        (gl):
+        (gl::RenderbufferInterface::addProxyRef):
+        (gl::RenderbufferInterface::releaseProxy):
+        (gl::RenderbufferTexture::RenderbufferTexture):
+        (gl::RenderbufferTexture::~RenderbufferTexture):
+        (gl::RenderbufferTexture::addProxyRef):
+        (gl::RenderbufferTexture::releaseProxy):
+        (gl::Renderbuffer::addRef):
+        (gl::Renderbuffer::release):
+        * src/libGLESv2/Renderbuffer.h:
+        (gl):
+        (RenderbufferInterface):
+        (RenderbufferTexture):
+        (Renderbuffer):
+        * src/libGLESv2/Shader.cpp:
+        (gl::Shader::Shader):
+        (gl::Shader::getInfoLog):
+        (gl::Shader::getSourceImpl):
+        (gl):
+        (gl::Shader::initializeCompiler):
+        (gl::Shader::parseVaryings):
+        (gl::Shader::uncompile):
+        (gl::Shader::compileToHLSL):
+        (gl::VertexShader::uncompile):
+        (gl::VertexShader::compile):
+        (gl::VertexShader::parseAttributes):
+        (gl::FragmentShader::compile):
+        * src/libGLESv2/Shader.h:
+        (Shader):
+        (VertexShader):
+        * src/libGLESv2/Texture.cpp:
+        (gl::Texture2D::Texture2D):
+        (gl::Texture2D::~Texture2D):
+        (gl):
+        (gl::Texture2D::addProxyRef):
+        (gl::Texture2D::releaseProxy):
+        (gl::Texture2D::getRenderbuffer):
+        (gl::TextureCubeMap::TextureCubeMap):
+        (gl::TextureCubeMap::~TextureCubeMap):
+        (gl::TextureCubeMap::addProxyRef):
+        (gl::TextureCubeMap::releaseProxy):
+        (gl::TextureCubeMap::isSamplerComplete):
+        (gl::TextureCubeMap::convertToRenderTarget):
+        (gl::TextureCubeMap::getRenderbuffer):
+        * src/libGLESv2/Texture.h:
+        (Texture):
+        (Texture2D):
+        (TextureCubeMap):
+        * src/libGLESv2/VertexDataManager.cpp:
+        (gl::VertexDataManager::writeAttributeData):
+        (gl::VertexDataManager::prepareVertexData):
+        (gl::VertexDataManager::spaceRequired):
+        (gl):
+        * src/libGLESv2/VertexDataManager.h:
+        (TranslatedAttribute):
+        (VertexDataManager):
+        * src/libGLESv2/libGLESv2.cpp:
+        * src/libGLESv2/libGLESv2.def:
+        * src/libGLESv2/libGLESv2.vcproj:
+        * src/libGLESv2/utilities.cpp:
+        (gl::IsInternalTextureTarget):
+        * src/libGLESv2/utilities.h:
+        (gl):
+
+2012-03-09  Ashod Nakashian  <ashodnakashian@yahoo.com>
+
+        Bash scripts should support LF endings only
+        https://bugs.webkit.org/show_bug.cgi?id=79509
+
+        Reviewed by David Kilzer.
+
+        * src/compiler/generate_parser.sh: Added property svn:eol-style.
+
+2012-02-21  Sam Weinig  <sam@webkit.org>
+
+        Attempt to fix the Snow Leopard build.
+
+        * Configurations/Base.xcconfig:
+
+2012-02-21  Sam Weinig  <sam@webkit.org>
+
+        Use libc++ when building with Clang on Mac
+        https://bugs.webkit.org/show_bug.cgi?id=78981
+
+        Reviewed by Dan Bernstein.
+
+        * Configurations/Base.xcconfig:
+
+2012-01-07  Chris Marrin  <cmarrin@apple.com>
+
+        Fixed a warning in GTK build of ANGLE
+
+        Unreviewed.
+
+        * src/compiler/DetectRecursion.cpp:
+        (DetectRecursion::~DetectRecursion):
+
+2012-01-06  Mark Rowe  <mrowe@apple.com>
+
+        Regenerate a few files with a more appropriate version of bison.
+
+        Rubber-stamped by Dan Bernstein.
+
+        * src/compiler/glslang.l: Tweak the input so that it generates code that compiles without warnings.
+        * src/compiler/glslang_lex.cpp:
+        * src/compiler/glslang_tab.cpp:
+        * src/compiler/glslang_tab.h:
+
+2012-01-06  Chris Marrin  <cmarrin@apple.com>
+
+        Update ANGLE in WebKit tree
+        https://bugs.webkit.org/show_bug.cgi?id=75753
+
+        Reviewed by Simon Fraser.
+
+        Updated ANGLE to r939. Fixed a compiler error (missing case in switch statement)
+        and added 5 new files to xcodeproj. Other than that it is a straight copy of
+        the files from the ANGLE repository.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * include/EGL/eglext.h:
+        * include/EGL/eglplatform.h:
+        * include/GLES2/gl2ext.h:
+        * include/GLSLANG/ShaderLang.h:
+        * src/common/debug.cpp:
+        (gl::output):
+        (gl::trace):
+        (gl::perfActive):
+        (gl::ScopedPerfEventHelper::ScopedPerfEventHelper):
+        (gl::ScopedPerfEventHelper::~ScopedPerfEventHelper):
+        * src/common/version.h:
+        * src/compiler/BaseTypes.h:
+        (getBasicString):
+        * src/compiler/BuiltInFunctionEmulator.cpp: Added.
+        (BuiltInFunctionEmulator::BuiltInFunctionEmulator):
+        (BuiltInFunctionEmulator::SetFunctionCalled):
+        (BuiltInFunctionEmulator::OutputEmulatedFunctionDefinition):
+        (BuiltInFunctionEmulator::IdentifyFunction):
+        (BuiltInFunctionEmulator::MarkBuiltInFunctionsForEmulation):
+        (BuiltInFunctionEmulator::Cleanup):
+        (BuiltInFunctionEmulator::GetEmulatedFunctionName):
+        * src/compiler/BuiltInFunctionEmulator.h: Added.
+        * src/compiler/Compiler.cpp:
+        (TCompiler::TCompiler):
+        (TCompiler::compile):
+        (TCompiler::clearResults):
+        (TCompiler::detectRecursion):
+        (TCompiler::getMappedNameMaxLength):
+        (TCompiler::getBuiltInFunctionEmulator):
+        * src/compiler/DetectRecursion.cpp: Added.
+        (DetectRecursion::FunctionNode::FunctionNode):
+        (DetectRecursion::FunctionNode::getName):
+        (DetectRecursion::FunctionNode::addCallee):
+        (DetectRecursion::FunctionNode::detectRecursion):
+        (DetectRecursion::DetectRecursion):
+        (DetectRecursion::~DetectRecursion):
+        (DetectRecursion::visitAggregate):
+        (DetectRecursion::detectRecursion):
+        (DetectRecursion::findFunctionByName):
+        * src/compiler/DetectRecursion.h: Added.
+        * src/compiler/ExtensionBehavior.h:
+        * src/compiler/ForLoopUnroll.cpp:
+        (ForLoopUnroll::MarkForLoopsWithIntegerIndicesForUnrolling):
+        * src/compiler/ForLoopUnroll.h:
+        * src/compiler/Initialize.cpp:
+        (BuiltInFunctionsCommon):
+        (BuiltInFunctionsVertex):
+        (BuiltInFunctionsFragment):
+        (TBuiltIns::initialize):
+        (IdentifyBuiltIns):
+        (InitExtensionBehavior):
+        * src/compiler/MapLongVariableNames.cpp:
+        (MapLongVariableNames::MapLongVariableNames):
+        (MapLongVariableNames::visitSymbol):
+        (MapLongVariableNames::mapVaryingLongName):
+        * src/compiler/MapLongVariableNames.h:
+        * src/compiler/OutputGLSLBase.cpp:
+        (TOutputGLSLBase::visitUnary):
+        (TOutputGLSLBase::visitAggregate):
+        * src/compiler/OutputHLSL.cpp:
+        (sh::OutputHLSL::OutputHLSL):
+        (sh::OutputHLSL::header):
+        (sh::OutputHLSL::visitSymbol):
+        (sh::OutputHLSL::visitAggregate):
+        (sh::OutputHLSL::visitSelection):
+        (sh::OutputHLSL::visitLoop):
+        (sh::OutputHLSL::handleExcessiveLoop):
+        (sh::OutputHLSL::addConstructor):
+        (sh::OutputHLSL::decorate):
+        (sh::OutputHLSL::decorateUniform):
+        * src/compiler/OutputHLSL.h:
+        * src/compiler/ParseHelper.cpp:
+        (TParseContext::recover):
+        (TParseContext::reservedErrorCheck):
+        (TParseContext::constructorErrorCheck):
+        (TParseContext::extensionErrorCheck):
+        (TParseContext::supportsExtension):
+        (TParseContext::enterStructDeclaration):
+        (TParseContext::exitStructDeclaration):
+        (TParseContext::structNestingErrorCheck):
+        * src/compiler/ParseHelper.h:
+        (TParseContext::TParseContext):
+        * src/compiler/PoolAlloc.h:
+        (pool_allocator::pool_allocator):
+        (pool_allocator::operator=):
+        (pool_allocator::setAllocator):
+        (pool_allocator::getAllocator):
+        * src/compiler/ShHandle.h:
+        * src/compiler/ShaderLang.cpp:
+        (checkActiveUniformAndAttribMaxLengths):
+        (checkMappedNameMaxLength):
+        (getVariableInfo):
+        (ShInitBuiltInResources):
+        (ShGetInfo):
+        * src/compiler/SymbolTable.cpp:
+        (TType::computeDeepestStructNesting):
+        * src/compiler/TranslatorESSL.cpp:
+        (TranslatorESSL::translate):
+        (TranslatorESSL::writeExtensionBehavior):
+        * src/compiler/TranslatorGLSL.cpp:
+        (TranslatorGLSL::translate):
+        * src/compiler/Types.h:
+        (TType::TType):
+        (TType::copyType):
+        (TType::setStruct):
+        (TType::getDeepestStructNesting):
+        * src/compiler/UnfoldSelect.cpp:
+        (sh::UnfoldSelect::traverse):
+        (sh::UnfoldSelect::visitSelection):
+        (sh::UnfoldSelect::visitLoop):
+        (sh::UnfoldSelect::getNextTemporaryIndex):
+        * src/compiler/UnfoldSelect.h:
+        * src/compiler/ValidateLimitations.cpp:
+        * src/compiler/ValidateLimitations.h:
+        * src/compiler/VariableInfo.cpp:
+        (getVariableDataType):
+        * src/compiler/generate_glslang_lexer.sh: Removed.
+        * src/compiler/generate_glslang_parser.sh: Removed.
+        * src/compiler/generate_parser.sh: Added.
+        * src/compiler/glslang.l:
+        * src/compiler/glslang.y:
+        * src/compiler/glslang_lex.cpp:
+        (yy_get_previous_state):
+        (yy_try_NUL_trans):
+        * src/compiler/glslang_tab.cpp:
+        * src/compiler/glslang_tab.h:
+        * src/compiler/intermOut.cpp:
+        (TOutputTraverser::visitAggregate):
+        * src/compiler/intermediate.h:
+        (TIntermUnary::TIntermUnary):
+        (TIntermUnary::setUseEmulatedFunction):
+        (TIntermUnary::getUseEmulatedFunction):
+        (TIntermAggregate::TIntermAggregate):
+        (TIntermAggregate::setUseEmulatedFunction):
+        (TIntermAggregate::getUseEmulatedFunction):
+        * src/compiler/osinclude.h:
+        * src/compiler/ossource_posix.cpp:
+        (OS_AllocTLSIndex):
+        (OS_SetTLSValue):
+        (OS_FreeTLSIndex):
+        * src/compiler/preprocessor/atom.c:
+        (GrowAtomTable):
+        * src/compiler/preprocessor/length_limits.h: Added.
+        * src/compiler/preprocessor/scanner.h:
+        * src/libEGL/Display.cpp:
+        (egl::Display::getDisplay):
+        (egl::Display::Display):
+        (egl::Display::~Display):
+        (egl::Display::initialize):
+        (egl::Display::terminate):
+        (egl::Display::startScene):
+        (egl::Display::endScene):
+        (egl::Display::createDevice):
+        (egl::Display::initializeDevice):
+        (egl::Display::resetDevice):
+        (egl::Display::createWindowSurface):
+        (egl::Display::createOffscreenSurface):
+        (egl::Display::createContext):
+        (egl::Display::restoreLostDevice):
+        (egl::Display::notifyDeviceLost):
+        (egl::Display::isDeviceLost):
+        (egl::Display::testDeviceLost):
+        (egl::Display::testDeviceResettable):
+        (egl::Display::getDXT1TextureSupport):
+        (egl::Display::getDXT3TextureSupport):
+        (egl::Display::getDXT5TextureSupport):
+        (egl::Display::getFloat32TextureSupport):
+        (egl::Display::getFloat16TextureSupport):
+        (egl::Display::getTexturePool):
+        (egl::Display::initExtensionString):
+        * src/libEGL/Display.h:
+        * src/libEGL/Surface.cpp:
+        (egl::Surface::Surface):
+        (egl::Surface::initialize):
+        (egl::Surface::resetSwapChain):
+        (egl::Surface::subclassWindow):
+        (egl::Surface::unsubclassWindow):
+        (egl::Surface::swap):
+        (egl::Surface::postSubBuffer):
+        (egl::Surface::isPostSubBufferSupported):
+        * src/libEGL/Surface.h:
+        * src/libEGL/libEGL.cpp:
+        * src/libEGL/libEGL.rc:
+        * src/libEGL/libEGL.vcproj:
+        * src/libGLESv2/Buffer.cpp:
+        (gl::Buffer::bufferSubData):
+        * src/libGLESv2/Context.cpp:
+        (gl::Context::Context):
+        (gl::Context::makeCurrent):
+        (gl::Context::markAllStateDirty):
+        (gl::Context::markContextLost):
+        (gl::Context::isContextLost):
+        (gl::Context::setPackReverseRowOrder):
+        (gl::Context::getPackReverseRowOrder):
+        (gl::Context::deleteProgram):
+        (gl::Context::getDrawFramebuffer):
+        (gl::Context::bindDrawFramebuffer):
+        (gl::Context::useProgram):
+        (gl::Context::setFramebufferZero):
+        (gl::Context::getCurrentProgram):
+        (gl::Context::getBooleanv):
+        (gl::Context::getIntegerv):
+        (gl::Context::getQueryParameterInfo):
+        (gl::Context::applyRenderTarget):
+        (gl::Context::applyState):
+        (gl::Context::applyVertexBuffer):
+        (gl::Context::applyIndexBuffer):
+        (gl::Context::applyShaders):
+        (gl::Context::applyTextures):
+        (gl::Context::readPixels):
+        (gl::Context::clear):
+        (gl::Context::drawArrays):
+        (gl::Context::drawElements):
+        (gl::Context::sync):
+        (gl::Context::drawClosingLine):
+        (gl::Context::getResetStatus):
+        (gl::Context::isResetNotificationEnabled):
+        (gl::Context::supportsDXT1Textures):
+        (gl::Context::supportsDXT3Textures):
+        (gl::Context::supportsDXT5Textures):
+        (gl::Context::supportsFloat32Textures):
+        (gl::Context::supportsFloat32LinearFilter):
+        (gl::Context::supportsFloat32RenderableTextures):
+        (gl::Context::supportsFloat16Textures):
+        (gl::Context::supportsFloat16LinearFilter):
+        (gl::Context::supportsFloat16RenderableTextures):
+        (gl::Context::initExtensionString):
+        (gl::Context::initRendererString):
+        (gl::Context::getRendererString):
+        (gl::Context::blitFramebuffer):
+        (gl::VertexDeclarationCache::applyDeclaration):
+        (gl::VertexDeclarationCache::markStateDirty):
+        * src/libGLESv2/Context.h:
+        * src/libGLESv2/Fence.cpp:
+        (gl::Fence::testFence):
+        (gl::Fence::getFenceiv):
+        * src/libGLESv2/Framebuffer.cpp:
+        (gl::Framebuffer::setColorbuffer):
+        (gl::Framebuffer::setDepthbuffer):
+        (gl::Framebuffer::setStencilbuffer):
+        (gl::Framebuffer::getColorbuffer):
+        (gl::Framebuffer::getDepthbuffer):
+        (gl::Framebuffer::getStencilbuffer):
+        (gl::Framebuffer::hasStencil):
+        (gl::Framebuffer::completeness):
+        (gl::DefaultFramebuffer::DefaultFramebuffer):
+        * src/libGLESv2/Framebuffer.h:
+        * src/libGLESv2/IndexDataManager.cpp:
+        (gl::IndexDataManager::prepareIndexData):
+        (gl::IndexBuffer::IndexBuffer):
+        (gl::IndexBuffer::getSerial):
+        (gl::IndexBuffer::issueSerial):
+        (gl::StreamingIndexBuffer::reserveSpace):
+        (gl::StaticIndexBuffer::reserveSpace):
+        (gl::StaticIndexBuffer::lookupRange):
+        (gl::StaticIndexBuffer::addRange):
+        * src/libGLESv2/IndexDataManager.h:
+        (gl::StaticIndexBuffer::IndexRange::operator<):
+        * src/libGLESv2/Program.cpp:
+        (gl::Uniform::Uniform):
+        (gl::Uniform::isArray):
+        (gl::UniformLocation::UniformLocation):
+        (gl::Program::Program):
+        (gl::Program::detachShader):
+        (gl::Program::getUsedSamplerRange):
+        (gl::Program::getSamplerMapping):
+        (gl::Program::getUniformLocation):
+        (gl::Program::setUniform1fv):
+        (gl::Program::setUniform2fv):
+        (gl::Program::setUniform3fv):
+        (gl::transposeMatrix):
+        (gl::Program::setUniformMatrix2fv):
+        (gl::Program::setUniformMatrix3fv):
+        (gl::Program::setUniformMatrix4fv):
+        (gl::Program::getUniformfv):
+        (gl::Program::getUniformiv):
+        (gl::Program::applyUniforms):
+        (gl::Program::compileToBinary):
+        (gl::Program::linkVaryings):
+        (gl::Program::link):
+        (gl::Program::defineUniform):
+        (gl::Program::createUniform):
+        (gl::Program::decorateAttribute):
+        (gl::Program::undecorateUniform):
+        (gl::Program::applyUniformnbv):
+        (gl::Program::applyUniformnfv):
+        (gl::Program::applyUniform1iv):
+        (gl::Program::applyUniform2iv):
+        (gl::Program::applyUniform3iv):
+        (gl::Program::applyUniform4iv):
+        (gl::Program::applyUniformniv):
+        (gl::Program::appendToInfoLogSanitized):
+        (gl::Program::unlink):
+        (gl::Program::getActiveUniform):
+        (gl::Program::getActiveUniformCount):
+        (gl::Program::getActiveUniformMaxLength):
+        (gl::Program::validateSamplers):
+        (gl::Program::initializeConstantHandles):
+        (gl::Program::getDxCoordLocation):
+        * src/libGLESv2/Program.h:
+        * src/libGLESv2/Renderbuffer.cpp:
+        (gl::RenderbufferInterface::RenderbufferInterface):
+        (gl::RenderbufferInterface::getRedSize):
+        (gl::RenderbufferInterface::getGreenSize):
+        (gl::RenderbufferInterface::getBlueSize):
+        (gl::RenderbufferInterface::getAlphaSize):
+        (gl::RenderbufferInterface::getDepthSize):
+        (gl::RenderbufferInterface::getStencilSize):
+        (gl::RenderbufferTexture::RenderbufferTexture):
+        (gl::RenderbufferTexture::~RenderbufferTexture):
+        (gl::RenderbufferTexture::getRenderTarget):
+        (gl::RenderbufferTexture::getDepthStencil):
+        (gl::RenderbufferTexture::getWidth):
+        (gl::RenderbufferTexture::getHeight):
+        (gl::RenderbufferTexture::getInternalFormat):
+        (gl::RenderbufferTexture::getD3DFormat):
+        (gl::RenderbufferTexture::getSamples):
+        (gl::RenderbufferTexture::getSerial):
+        (gl::Renderbuffer::Renderbuffer):
+        (gl::Renderbuffer::~Renderbuffer):
+        (gl::Renderbuffer::getRenderTarget):
+        (gl::Renderbuffer::getDepthStencil):
+        (gl::Renderbuffer::getWidth):
+        (gl::Renderbuffer::getHeight):
+        (gl::Renderbuffer::getInternalFormat):
+        (gl::Renderbuffer::getD3DFormat):
+        (gl::Renderbuffer::getRedSize):
+        (gl::Renderbuffer::getGreenSize):
+        (gl::Renderbuffer::getBlueSize):
+        (gl::Renderbuffer::getAlphaSize):
+        (gl::Renderbuffer::getDepthSize):
+        (gl::Renderbuffer::getStencilSize):
+        (gl::Renderbuffer::getSamples):
+        (gl::Renderbuffer::getSerial):
+        (gl::Renderbuffer::setStorage):
+        (gl::RenderbufferStorage::getD3DFormat):
+        (gl::RenderbufferStorage::issueCubeSerials):
+        (gl::Colorbuffer::Colorbuffer):
+        (gl::Colorbuffer::getRenderTarget):
+        (gl::Depthbuffer::Depthbuffer):
+        (gl::Stencilbuffer::Stencilbuffer):
+        * src/libGLESv2/Renderbuffer.h:
+        (gl::RenderbufferInterface::~RenderbufferInterface):
+        * src/libGLESv2/Shader.cpp:
+        (gl::Shader::getTranslatedSourceLength):
+        (gl::Shader::getSourceImpl):
+        (gl::Shader::getSource):
+        (gl::Shader::getTranslatedSource):
+        * src/libGLESv2/Shader.h:
+        * src/libGLESv2/Texture.cpp:
+        (gl::ConvertTextureFormatType):
+        (gl::IsTextureFormatRenderable):
+        (gl::Image::Image):
+        (gl::Image::~Image):
+        (gl::Image::redefine):
+        (gl::Image::createSurface):
+        (gl::Image::lock):
+        (gl::Image::unlock):
+        (gl::Image::isRenderableFormat):
+        (gl::Image::getD3DFormat):
+        (gl::Image::getSurface):
+        (gl::Image::setManagedSurface):
+        (gl::Image::updateSurface):
+        (gl::Image::loadData):
+        (gl::Image::loadAlphaData):
+        (gl::Image::loadAlphaFloatData):
+        (gl::Image::loadAlphaHalfFloatData):
+        (gl::Image::loadLuminanceData):
+        (gl::Image::loadLuminanceFloatData):
+        (gl::Image::loadLuminanceHalfFloatData):
+        (gl::Image::loadLuminanceAlphaData):
+        (gl::Image::loadLuminanceAlphaFloatData):
+        (gl::Image::loadLuminanceAlphaHalfFloatData):
+        (gl::Image::loadRGBUByteData):
+        (gl::Image::loadRGB565Data):
+        (gl::Image::loadRGBFloatData):
+        (gl::Image::loadRGBHalfFloatData):
+        (gl::Image::loadRGBAUByteDataSSE2):
+        (gl::Image::loadRGBAUByteData):
+        (gl::Image::loadRGBA4444Data):
+        (gl::Image::loadRGBA5551Data):
+        (gl::Image::loadRGBAFloatData):
+        (gl::Image::loadRGBAHalfFloatData):
+        (gl::Image::loadBGRAData):
+        (gl::Image::loadCompressedData):
+        (gl::FlipCopyDXT1BlockFull):
+        (gl::FlipCopyDXT1BlockHalf):
+        (gl::FlipCopyDXT3BlockFull):
+        (gl::FlipCopyDXT3BlockHalf):
+        (gl::FlipCopyDXT5BlockFull):
+        (gl::FlipCopyDXT5BlockHalf):
+        (gl::Image::loadDXT1Data):
+        (gl::Image::loadDXT3Data):
+        (gl::Image::loadDXT5Data):
+        (gl::Image::copy):
+        (gl::TextureStorage::TextureStorage):
+        (gl::TextureStorage::~TextureStorage):
+        (gl::TextureStorage::isRenderTarget):
+        (gl::TextureStorage::isManaged):
+        (gl::TextureStorage::getPool):
+        (gl::TextureStorage::getTextureSerial):
+        (gl::TextureStorage::issueTextureSerial):
+        (gl::Texture::Texture):
+        (gl::Texture::~Texture):
+        (gl::Texture::setMinFilter):
+        (gl::Texture::setMagFilter):
+        (gl::Texture::setWrapS):
+        (gl::Texture::setWrapT):
+        (gl::Texture::setUsage):
+        (gl::Texture::getMinFilter):
+        (gl::Texture::getMagFilter):
+        (gl::Texture::getWrapS):
+        (gl::Texture::getWrapT):
+        (gl::Texture::getUsage):
+        (gl::Texture::setImage):
+        (gl::Texture::setCompressedImage):
+        (gl::Texture::subImage):
+        (gl::Texture::subImageCompressed):
+        (gl::Texture::getTexture):
+        (gl::Texture::hasDirtyParameters):
+        (gl::Texture::hasDirtyImages):
+        (gl::Texture::resetDirty):
+        (gl::Texture::getTextureSerial):
+        (gl::Texture::getRenderTargetSerial):
+        (gl::Texture::isImmutable):
+        (gl::Texture::creationLevels):
+        (gl::Texture::getBlitter):
+        (gl::Texture::copyToRenderTarget):
+        (gl::TextureStorage2D::TextureStorage2D):
+        (gl::TextureStorage2D::~TextureStorage2D):
+        (gl::TextureStorage2D::getSurfaceLevel):
+        (gl::TextureStorage2D::getBaseTexture):
+        (gl::TextureStorage2D::getRenderTargetSerial):
+        (gl::Texture2D::Texture2D):
+        (gl::Texture2D::~Texture2D):
+        (gl::Texture2D::getWidth):
+        (gl::Texture2D::getHeight):
+        (gl::Texture2D::getInternalFormat):
+        (gl::Texture2D::getType):
+        (gl::Texture2D::redefineImage):
+        (gl::Texture2D::setImage):
+        (gl::Texture2D::bindTexImage):
+        (gl::Texture2D::releaseTexImage):
+        (gl::Texture2D::setCompressedImage):
+        (gl::Texture2D::commitRect):
+        (gl::Texture2D::copyImage):
+        (gl::Texture2D::copySubImage):
+        (gl::Texture2D::storage):
+        (gl::Texture2D::isSamplerComplete):
+        (gl::Texture2D::isMipmapComplete):
+        (gl::Texture2D::getBaseTexture):
+        (gl::Texture2D::createTexture):
+        (gl::Texture2D::updateTexture):
+        (gl::Texture2D::convertToRenderTarget):
+        (gl::Texture2D::generateMipmaps):
+        (gl::Texture2D::getRenderbuffer):
+        (gl::Texture2D::getRenderTarget):
+        (gl::Texture2D::getStorage):
+        (gl::TextureStorageCubeMap::TextureStorageCubeMap):
+        (gl::TextureStorageCubeMap::~TextureStorageCubeMap):
+        (gl::TextureStorageCubeMap::getCubeMapSurface):
+        (gl::TextureStorageCubeMap::getBaseTexture):
+        (gl::TextureStorageCubeMap::getRenderTargetSerial):
+        (gl::TextureCubeMap::TextureCubeMap):
+        (gl::TextureCubeMap::~TextureCubeMap):
+        (gl::TextureCubeMap::getWidth):
+        (gl::TextureCubeMap::getHeight):
+        (gl::TextureCubeMap::getInternalFormat):
+        (gl::TextureCubeMap::getType):
+        (gl::TextureCubeMap::setCompressedImage):
+        (gl::TextureCubeMap::commitRect):
+        (gl::TextureCubeMap::subImage):
+        (gl::TextureCubeMap::subImageCompressed):
+        (gl::TextureCubeMap::isSamplerComplete):
+        (gl::TextureCubeMap::isCubeComplete):
+        (gl::TextureCubeMap::isMipmapCubeComplete):
+        (gl::TextureCubeMap::getBaseTexture):
+        (gl::TextureCubeMap::createTexture):
+        (gl::TextureCubeMap::updateTexture):
+        (gl::TextureCubeMap::convertToRenderTarget):
+        (gl::TextureCubeMap::setImage):
+        (gl::TextureCubeMap::redefineImage):
+        (gl::TextureCubeMap::copyImage):
+        (gl::TextureCubeMap::copySubImage):
+        (gl::TextureCubeMap::storage):
+        (gl::TextureCubeMap::generateMipmaps):
+        (gl::TextureCubeMap::getRenderbuffer):
+        (gl::TextureCubeMap::getRenderTarget):
+        (gl::TextureCubeMap::getStorage):
+        * src/libGLESv2/Texture.h:
+        (gl::Image::markDirty):
+        (gl::Image::markClean):
+        (gl::Image::getWidth):
+        (gl::Image::getHeight):
+        (gl::Image::getFormat):
+        (gl::Image::getType):
+        (gl::Image::isDirty):
+        * src/libGLESv2/VertexDataManager.cpp:
+        (gl::elementsInBuffer):
+        (gl::VertexDataManager::VertexDataManager):
+        (gl::VertexDataManager::writeAttributeData):
+        (gl::VertexDataManager::prepareVertexData):
+        (gl::VertexBuffer::VertexBuffer):
+        (gl::VertexBuffer::getSerial):
+        (gl::VertexBuffer::issueSerial):
+        (gl::StreamingVertexBuffer::reserveRequiredSpace):
+        (gl::StaticVertexBuffer::map):
+        (gl::StaticVertexBuffer::reserveRequiredSpace):
+        (gl::StaticVertexBuffer::lookupAttribute):
+        * src/libGLESv2/VertexDataManager.h:
+        (gl::ArrayVertexBuffer::size):
+        * src/libGLESv2/geometry/IndexDataManager.cpp: Removed.
+        * src/libGLESv2/geometry/IndexDataManager.h: Removed.
+        * src/libGLESv2/geometry/VertexDataManager.cpp: Removed.
+        * src/libGLESv2/geometry/VertexDataManager.h: Removed.
+        * src/libGLESv2/geometry/vertexconversion.h: Removed.
+        * src/libGLESv2/libGLESv2.cpp:
+        (validateSubImageParams):
+        (validReadFormatType):
+        (Extension::glBindTexImage):
+        * src/libGLESv2/libGLESv2.def:
+        * src/libGLESv2/libGLESv2.rc:
+        * src/libGLESv2/libGLESv2.vcproj:
+        * src/libGLESv2/main.cpp:
+        (gl::getNonLostContext):
+        (gl::checkDeviceLost):
+        * src/libGLESv2/main.h:
+        * src/libGLESv2/utilities.cpp:
+        (gl::UniformExternalComponentCount):
+        (gl::UniformInternalComponentCount):
+        (gl::UniformComponentSize):
+        (gl::UniformInternalSize):
+        (gl::UniformExternalSize):
+        (gl::ComputeCompressedSize):
+        (gl::IsCompressed):
+        (gl::ExtractFormat):
+        (gl::ExtractType):
+        (dx2es::IsFloat32Format):
+        (dx2es::IsFloat16Format):
+        * src/libGLESv2/utilities.h:
+        (isDeviceLostError):
+
+2011-11-11  Darin Adler  <darin@apple.com>
+
+        * ANGLE.xcodeproj/project.pbxproj: Let a newer Xcode update this file.
+        If an older Xcode downgrades this file and we have a risk of some kind of
+        oscillating commit situation, please contact me so I know not to do this again.
+
+2011-09-19  Adam Roben  <aroben@apple.com>
+
+        Let Xcode 4 do its thang with ANGLE.xcodeproj
+
+        * ANGLE.xcodeproj/project.pbxproj:
+
+2011-09-13  Anders Carlsson  <andersca@apple.com>
+
+        Disable C++ exceptions when building with clang
+        https://bugs.webkit.org/show_bug.cgi?id=68031
+        <rdar://problem/9556880>
+
+        Reviewed by Mark Rowe.
+
+        * Configurations/Base.xcconfig:
+
+2011-09-08  Andras Becsi  <andras.becsi@nokia.com>
+
+        [Qt] Build fails with strict compiler
+        https://bugs.webkit.org/show_bug.cgi?id=67778
+
+        Reviewed by Csaba Osztrogonác.
+
+        * src/compiler/glslang_lex.cpp: Regenerate with generate_glslang_lexer.sh using a newer flex
+        to suppress warning and fix the build when using [-Werror=unused-result]
+
+2011-08-12  Mark Rowe  <mrowe@apple.com>
+
+        Be more forward-looking in the choice of compiler.
+
+        Rubber-stamped by Jon Honeycutt.
+
+        * Configurations/CompilerVersion.xcconfig:
+
+2011-08-11  Renata Hodovan  <reni@webkit.org>
+
+        [Qt]Fix warnings after r92805.
+
+        Reviewed by Csaba Osztrogonác.
+
+        Control reached the end non-void functions.
+
+        * src/compiler/ossource_posix.cpp:
+        (OS_AllocTLSIndex):
+        (OS_SetTLSValue):
+
+2011-08-11  Renata Hodovan  <reni@webkit.org>
+
+        Build fix on Qt Windows 32-bit Release/Debug after r92805.
+
+        Unreviewed.
+
+        * src/compiler/ossource_posix.cpp:
+        (OS_FreeTLSIndex):
+
+2011-08-04  Mark Rowe  <mrowe@apple.com>
+
+        Future-proof Xcode configuration settings.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/CompilerVersion.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+
+2011-06-30  Mark Rowe  <mrowe@apple.com>
+
+        Rubber-stamped by Dan Bernstein.
+
+        ANGLE shouldn't try to use internal SDKs. It doesn't need them!
+
+        * Configurations/Base.xcconfig:
+
+2011-06-20  Zhenyao Mo  <zmo@google.com>
+
+        Reviewed by Kenneth Russell.
+
+        Update ANGLE to r696
+        https://bugs.webkit.org/show_bug.cgi?id=56396
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * include/EGL/eglext.h:
+        * include/GLSLANG/ShaderLang.h:
+        * src/build_angle.xcodeproj/project.pbxproj:
+        * src/common/debug.cpp:
+        (gl::output):
+        (gl::trace):
+        (gl::perfActive):
+        (gl::ScopedPerfEventHelper::ScopedPerfEventHelper):
+        (gl::ScopedPerfEventHelper::~ScopedPerfEventHelper):
+        * src/common/debug.h:
+        * src/common/version.h: Added.
+        * src/compiler/CodeGenGLSL.cpp:
+        (ConstructCompiler):
+        * src/compiler/CodeGenHLSL.cpp:
+        (ConstructCompiler):
+        * src/compiler/Compiler.cpp:
+        (TCompiler::compile):
+        (TCompiler::mapLongVariableNames):
+        (TCompiler::getMappedNameMaxLength):
+        (TCompiler::getExtensionBehavior):
+        * src/compiler/ConstantUnion.h:
+        (ConstantUnion::operator==):
+        (ConstantUnion::operator>):
+        (ConstantUnion::operator<):
+        * src/compiler/ExtensionBehavior.h:
+        (getBehaviorString):
+        * src/compiler/ForLoopUnroll.cpp: Added.
+        (ForLoopUnroll::FillLoopIndexInfo):
+        (ForLoopUnroll::Step):
+        (ForLoopUnroll::SatisfiesLoopCondition):
+        (ForLoopUnroll::NeedsToReplaceSymbolWithValue):
+        (ForLoopUnroll::GetLoopIndexValue):
+        (ForLoopUnroll::Push):
+        (ForLoopUnroll::Pop):
+        (ForLoopUnroll::getLoopIncrement):
+        (ForLoopUnroll::evaluateIntConstant):
+        * src/compiler/ForLoopUnroll.h: Added.
+        (ForLoopUnroll::ForLoopUnroll):
+        * src/compiler/Initialize.cpp:
+        (BuiltInFunctionsVertex):
+        * src/compiler/MapLongVariableNames.cpp: Added.
+        (MapLongVariableNames::MapLongVariableNames):
+        (MapLongVariableNames::visitSymbol):
+        (MapLongVariableNames::visitConstantUnion):
+        (MapLongVariableNames::visitBinary):
+        (MapLongVariableNames::visitUnary):
+        (MapLongVariableNames::visitSelection):
+        (MapLongVariableNames::visitAggregate):
+        (MapLongVariableNames::visitLoop):
+        (MapLongVariableNames::visitBranch):
+        (MapLongVariableNames::mapVaryingLongName):
+        * src/compiler/MapLongVariableNames.h: Added.
+        * src/compiler/OutputESSL.cpp: Added.
+        (TOutputESSL::TOutputESSL):
+        (TOutputESSL::writeVariablePrecision):
+        * src/compiler/OutputESSL.h: Added.
+        * src/compiler/OutputGLSL.cpp:
+        (TOutputGLSL::TOutputGLSL):
+        (TOutputGLSL::writeVariablePrecision):
+        * src/compiler/OutputGLSL.h:
+        * src/compiler/OutputGLSLBase.cpp: Added.
+        (TOutputGLSLBase::TOutputGLSLBase):
+        (TOutputGLSLBase::writeTriplet):
+        (TOutputGLSLBase::writeVariableType):
+        (TOutputGLSLBase::writeFunctionParameters):
+        (TOutputGLSLBase::writeConstantUnion):
+        (TOutputGLSLBase::visitSymbol):
+        (TOutputGLSLBase::visitConstantUnion):
+        (TOutputGLSLBase::visitBinary):
+        (TOutputGLSLBase::visitUnary):
+        (TOutputGLSLBase::visitSelection):
+        (TOutputGLSLBase::visitAggregate):
+        (TOutputGLSLBase::visitLoop):
+        (TOutputGLSLBase::visitBranch):
+        (TOutputGLSLBase::visitCodeBlock):
+        * src/compiler/OutputGLSLBase.h: Added.
+        (TOutputGLSLBase::objSink):
+        * src/compiler/OutputHLSL.cpp:
+        (sh::OutputHLSL::OutputHLSL):
+        (sh::OutputHLSL::header):
+        (sh::OutputHLSL::visitUnary):
+        (sh::OutputHLSL::visitAggregate):
+        (sh::OutputHLSL::visitSelection):
+        (sh::OutputHLSL::visitLoop):
+        (sh::OutputHLSL::visitBranch):
+        (sh::OutputHLSL::handleExcessiveLoop):
+        (sh::OutputHLSL::outputLineDirective):
+        * src/compiler/OutputHLSL.h:
+        * src/compiler/ParseHelper.cpp:
+        (TParseContext::precisionErrorCheck):
+        (TParseContext::constructorErrorCheck):
+        (TParseContext::nonInitErrorCheck):
+        * src/compiler/ParseHelper.h:
+        (TParseContext::TParseContext):
+        * src/compiler/ShHandle.h:
+        * src/compiler/ShaderLang.cpp:
+        (getVariableInfo):
+        (ShConstructCompiler):
+        (ShGetInfo):
+        (ShGetActiveAttrib):
+        (ShGetActiveUniform):
+        * src/compiler/TranslatorESSL.cpp: Added.
+        (TranslatorESSL::TranslatorESSL):
+        (TranslatorESSL::translate):
+        (TranslatorESSL::writeExtensionBehavior):
+        * src/compiler/TranslatorESSL.h: Added.
+        * src/compiler/ValidateLimitations.cpp:
+        (ValidateLimitations::visitBinary):
+        (ValidateLimitations::visitLoop):
+        * src/compiler/ValidateLimitations.h:
+        * src/compiler/VariableInfo.cpp:
+        (getVariableInfo):
+        (getBuiltInVariableInfo):
+        (getUserDefinedVariableInfo):
+        (CollectAttribsUniforms::visitAggregate):
+        * src/compiler/VariableInfo.h:
+        * src/compiler/VersionGLSL.cpp:
+        (TVersionGLSL::visitSymbol):
+        (TVersionGLSL::visitConstantUnion):
+        (TVersionGLSL::visitBinary):
+        (TVersionGLSL::visitUnary):
+        (TVersionGLSL::visitSelection):
+        (TVersionGLSL::visitAggregate):
+        (TVersionGLSL::visitLoop):
+        (TVersionGLSL::visitBranch):
+        * src/compiler/VersionGLSL.h:
+        * src/compiler/glslang.y:
+        * src/compiler/glslang_tab.cpp:
+        * src/compiler/glslang_tab.h:
+        * src/compiler/intermediate.h:
+        (TIntermLoop::TIntermLoop):
+        (TIntermLoop::setUnrollFlag):
+        (TIntermLoop::getUnrollFlag):
+        (TIntermSymbol::TIntermSymbol):
+        (TIntermSymbol::setId):
+        (TIntermSymbol::setSymbol):
+        (TIntermSymbol::getOriginalSymbol):
+        (TIntermAggregate::TIntermAggregate):
+        (TIntermAggregate::setEndLine):
+        (TIntermAggregate::getEndLine):
+        * src/compiler/preprocessor/atom.c:
+        (AddString):
+        * src/compiler/preprocessor/compile.h:
+        * src/compiler/preprocessor/cpp.c:
+        (CPPelse):
+        (eval):
+        (CPPif):
+        (CPPifdef):
+        (readCPPline):
+        (ChkCorrectElseNesting):
+        * src/compiler/preprocessor/cppstruct.c:
+        (ResetPreprocessor):
+        * src/compiler/preprocessor/scanner.c:
+        (byte_scan):
+        (yylex_CPP):
+        * src/compiler/preprocessor/scanner.h:
+        * src/libEGL/Config.cpp:
+        (egl::Config::Config):
+        (egl::Config::set):
+        (egl::ConfigSet::add):
+        (egl::ConfigSet::getConfigs):
+        * src/libEGL/Config.h:
+        * src/libEGL/Display.cpp:
+        (egl::Display::Display):
+        (egl::Display::initialize):
+        (egl::Display::terminate):
+        (egl::Display::getConfigAttrib):
+        (egl::Display::createDevice):
+        (egl::Display::createWindowSurface):
+        (egl::Display::createOffscreenSurface):
+        (egl::Display::createContext):
+        (egl::Display::destroyContext):
+        (egl::Display::isInitialized):
+        (egl::Display::getAdapterIdentifier):
+        (egl::Display::isDeviceLost):
+        (egl::Display::getBufferPool):
+        (egl::Display::initExtensionString):
+        (egl::Display::getExtensionString):
+        (egl::Display::getVertexTextureSupport):
+        (egl::Display::getNonPower2TextureSupport):
+        * src/libEGL/Display.h:
+        (egl::Display::isD3d9ExDevice):
+        * src/libEGL/Surface.cpp:
+        (egl::Surface::Surface):
+        (egl::Surface::initialize):
+        (egl::Surface::release):
+        (egl::Surface::resetSwapChain):
+        (egl::SurfaceWindowProc):
+        (egl::Surface::subclassWindow):
+        (egl::Surface::unsubclassWindow):
+        (egl::Surface::swap):
+        (egl::Surface::getRenderTarget):
+        (egl::Surface::getOffscreenTexture):
+        (egl::Surface::getTextureFormat):
+        (egl::Surface::getTextureTarget):
+        (egl::Surface::setBoundTexture):
+        (egl::Surface::getBoundTexture):
+        (egl::Surface::getFormat):
+        * src/libEGL/Surface.h:
+        (egl::Surface::getShareHandle):
+        * src/libEGL/libEGL.cpp:
+        (validateDisplay):
+        (validateConfig):
+        (validateContext):
+        (validateSurface):
+        * src/libEGL/libEGL.rc: Added.
+        * src/libEGL/libEGL.vcproj:
+        * src/libEGL/main.cpp:
+        (DllMain):
+        * src/libEGL/main.h:
+        * src/libEGL/resource.h: Added.
+        * src/libGLESv2/Blit.cpp:
+        (gl::Blit::initGeometry):
+        (gl::Blit::copy):
+        * src/libGLESv2/Blit.h:
+        * src/libGLESv2/Buffer.cpp:
+        (gl::Buffer::Buffer):
+        (gl::Buffer::~Buffer):
+        (gl::Buffer::bufferData):
+        (gl::Buffer::bufferSubData):
+        (gl::Buffer::getStaticVertexBuffer):
+        (gl::Buffer::getStaticIndexBuffer):
+        (gl::Buffer::invalidateStaticData):
+        (gl::Buffer::promoteStaticUsage):
+        * src/libGLESv2/Buffer.h:
+        * src/libGLESv2/Context.cpp:
+        (gl::Context::Context):
+        (gl::Context::~Context):
+        (gl::Context::makeCurrent):
+        (gl::Context::markAllStateDirty):
+        (gl::Context::setActiveSampler):
+        (gl::Context::createFramebuffer):
+        (gl::Context::createFence):
+        (gl::Context::deleteFramebuffer):
+        (gl::Context::deleteFence):
+        (gl::Context::bindTexture2D):
+        (gl::Context::bindTextureCubeMap):
+        (gl::Context::getTexture2D):
+        (gl::Context::getTextureCubeMap):
+        (gl::Context::getSamplerTexture):
+        (gl::Context::getIntegerv):
+        (gl::Context::applyRenderTarget):
+        (gl::Context::applyState):
+        (gl::Context::applyVertexBuffer):
+        (gl::Context::applyShaders):
+        (gl::Context::applyTextures):
+        (gl::Context::readPixels):
+        (gl::Context::clear):
+        (gl::Context::drawArrays):
+        (gl::Context::drawElements):
+        (gl::Context::finish):
+        (gl::Context::flush):
+        (gl::Context::drawClosingLine):
+        (gl::Context::getMaximumVertexTextureImageUnits):
+        (gl::Context::getMaximumCombinedTextureImageUnits):
+        (gl::Context::supportsNonPower2Texture):
+        (gl::Context::detachTexture):
+        (gl::Context::getIncompleteTexture):
+        (gl::Context::initExtensionString):
+        (gl::Context::blitFramebuffer):
+        (gl::VertexDeclarationCache::VertexDeclarationCache):
+        (gl::VertexDeclarationCache::~VertexDeclarationCache):
+        (gl::VertexDeclarationCache::applyDeclaration):
+        * src/libGLESv2/Context.h:
+        * src/libGLESv2/Framebuffer.cpp:
+        (gl::Framebuffer::lookupRenderbuffer):
+        (gl::Framebuffer::completeness):
+        * src/libGLESv2/Framebuffer.h:
+        * src/libGLESv2/HandleAllocator.cpp: Added.
+        (gl::HandleAllocator::HandleAllocator):
+        (gl::HandleAllocator::~HandleAllocator):
+        (gl::HandleAllocator::setBaseHandle):
+        (gl::HandleAllocator::allocate):
+        (gl::HandleAllocator::release):
+        * src/libGLESv2/HandleAllocator.h: Added.
+        * src/libGLESv2/IndexDataManager.cpp: Added.
+        (gl::IndexDataManager::IndexDataManager):
+        (gl::IndexDataManager::~IndexDataManager):
+        (gl::convertIndices):
+        (gl::computeRange):
+        (gl::IndexDataManager::prepareIndexData):
+        (gl::IndexDataManager::indexSize):
+        (gl::IndexDataManager::typeSize):
+        (gl::IndexBuffer::IndexBuffer):
+        (gl::IndexBuffer::~IndexBuffer):
+        (gl::IndexBuffer::getBuffer):
+        (gl::IndexBuffer::unmap):
+        (gl::StreamingIndexBuffer::StreamingIndexBuffer):
+        (gl::StreamingIndexBuffer::~StreamingIndexBuffer):
+        (gl::StreamingIndexBuffer::map):
+        (gl::StreamingIndexBuffer::reserveSpace):
+        (gl::StaticIndexBuffer::StaticIndexBuffer):
+        (gl::StaticIndexBuffer::~StaticIndexBuffer):
+        (gl::StaticIndexBuffer::map):
+        (gl::StaticIndexBuffer::reserveSpace):
+        (gl::StaticIndexBuffer::lookupType):
+        (gl::StaticIndexBuffer::lookupRange):
+        (gl::StaticIndexBuffer::addRange):
+        * src/libGLESv2/IndexDataManager.h: Added.
+        (gl::IndexBuffer::size):
+        * src/libGLESv2/Program.cpp:
+        (gl::Program::getSemanticIndex):
+        (gl::Program::getSamplerMapping):
+        (gl::Program::getSamplerTextureType):
+        (gl::Program::compileToBinary):
+        (gl::Program::packVaryings):
+        (gl::Program::linkVaryings):
+        (gl::Program::link):
+        (gl::Program::linkUniforms):
+        (gl::Program::defineUniform):
+        (gl::Program::applyUniform1iv):
+        (gl::Program::appendToInfoLogSanitized):
+        (gl::Program::unlink):
+        (gl::Program::getActiveUniformMaxLength):
+        (gl::Program::validate):
+        (gl::Program::validateSamplers):
+        * src/libGLESv2/Program.h:
+        * src/libGLESv2/Renderbuffer.cpp:
+        (gl::Renderbuffer::getWidth):
+        (gl::Renderbuffer::getHeight):
+        (gl::Renderbuffer::getInternalFormat):
+        (gl::Renderbuffer::getRedSize):
+        (gl::Renderbuffer::getGreenSize):
+        (gl::Renderbuffer::getBlueSize):
+        (gl::Renderbuffer::getAlphaSize):
+        (gl::Renderbuffer::getDepthSize):
+        (gl::Renderbuffer::getStencilSize):
+        (gl::Renderbuffer::getSamples):
+        (gl::RenderbufferStorage::RenderbufferStorage):
+        (gl::RenderbufferStorage::getWidth):
+        (gl::RenderbufferStorage::getHeight):
+        (gl::RenderbufferStorage::getInternalFormat):
+        (gl::RenderbufferStorage::getRedSize):
+        (gl::RenderbufferStorage::getGreenSize):
+        (gl::RenderbufferStorage::getBlueSize):
+        (gl::RenderbufferStorage::getAlphaSize):
+        (gl::RenderbufferStorage::getDepthSize):
+        (gl::RenderbufferStorage::getStencilSize):
+        (gl::RenderbufferStorage::getD3DFormat):
+        (gl::Colorbuffer::Colorbuffer):
+        (gl::Colorbuffer::getWidth):
+        (gl::Colorbuffer::getHeight):
+        (gl::Colorbuffer::getInternalFormat):
+        (gl::Colorbuffer::getType):
+        (gl::Colorbuffer::getD3DFormat):
+        (gl::Colorbuffer::isColorbuffer):
+        (gl::Colorbuffer::getRenderTarget):
+        (gl::DepthStencilbuffer::DepthStencilbuffer):
+        (gl::Depthbuffer::Depthbuffer):
+        (gl::Stencilbuffer::Stencilbuffer):
+        * src/libGLESv2/Renderbuffer.h:
+        * src/libGLESv2/ResourceManager.cpp:
+        (gl::ResourceManager::createBuffer):
+        (gl::ResourceManager::createShader):
+        (gl::ResourceManager::createProgram):
+        (gl::ResourceManager::createTexture):
+        (gl::ResourceManager::createRenderbuffer):
+        (gl::ResourceManager::deleteBuffer):
+        (gl::ResourceManager::deleteShader):
+        (gl::ResourceManager::deleteProgram):
+        (gl::ResourceManager::deleteTexture):
+        (gl::ResourceManager::deleteRenderbuffer):
+        (gl::ResourceManager::checkTextureAllocation):
+        * src/libGLESv2/ResourceManager.h:
+        * src/libGLESv2/Shader.cpp:
+        (gl::Shader::Shader):
+        (gl::Shader::compileToHLSL):
+        * src/libGLESv2/Shader.h:
+        * src/libGLESv2/Texture.cpp:
+        (gl::Texture::Image::Image):
+        (gl::Texture::Image::~Image):
+        (gl::Texture::Image::isRenderable):
+        (gl::Texture::Image::getD3DFormat):
+        (gl::Texture::Texture):
+        (gl::Texture::setMinFilter):
+        (gl::Texture::setMagFilter):
+        (gl::Texture::setWrapS):
+        (gl::Texture::setWrapT):
+        (gl::Texture::loadImageData):
+        (gl::Texture::loadAlphaImageData):
+        (gl::Texture::loadAlphaFloatImageData):
+        (gl::Texture::loadAlphaHalfFloatImageData):
+        (gl::Texture::loadLuminanceImageData):
+        (gl::Texture::loadLuminanceFloatImageData):
+        (gl::Texture::loadLuminanceHalfFloatImageData):
+        (gl::Texture::loadLuminanceAlphaImageData):
+        (gl::Texture::loadLuminanceAlphaFloatImageData):
+        (gl::Texture::loadLuminanceAlphaHalfFloatImageData):
+        (gl::Texture::loadRGBUByteImageData):
+        (gl::Texture::loadRGB565ImageData):
+        (gl::Texture::loadRGBFloatImageData):
+        (gl::Texture::loadRGBHalfFloatImageData):
+        (gl::Texture::loadRGBAUByteImageDataSSE2):
+        (gl::Texture::loadRGBAUByteImageData):
+        (gl::Texture::loadRGBA4444ImageData):
+        (gl::Texture::loadRGBA5551ImageData):
+        (gl::Texture::loadRGBAFloatImageData):
+        (gl::Texture::loadRGBAHalfFloatImageData):
+        (gl::Texture::loadBGRAImageData):
+        (gl::Texture::loadCompressedImageData):
+        (gl::Texture::createSurface):
+        (gl::Texture::setImage):
+        (gl::Texture::setCompressedImage):
+        (gl::Texture::subImage):
+        (gl::Texture::subImageCompressed):
+        (gl::Texture::copyToImage):
+        (gl::Texture::getTexture):
+        (gl::Texture::isDirtyParameter):
+        (gl::Texture::isDirtyImage):
+        (gl::Texture::resetDirty):
+        (gl::Texture::getSerial):
+        (gl::Texture::creationLevels):
+        (gl::Texture::levelCount):
+        (gl::Texture::issueSerial):
+        (gl::Texture2D::Texture2D):
+        (gl::Texture2D::~Texture2D):
+        (gl::Texture2D::getWidth):
+        (gl::Texture2D::getHeight):
+        (gl::Texture2D::getInternalFormat):
+        (gl::Texture2D::getType):
+        (gl::Texture2D::getD3DFormat):
+        (gl::Texture2D::redefineTexture):
+        (gl::Texture2D::setImage):
+        (gl::Texture2D::bindTexImage):
+        (gl::Texture2D::releaseTexImage):
+        (gl::Texture2D::setCompressedImage):
+        (gl::Texture2D::commitRect):
+        (gl::Texture2D::copyImage):
+        (gl::Texture2D::copySubImage):
+        (gl::Texture2D::isComplete):
+        (gl::Texture2D::isCompressed):
+        (gl::Texture2D::getBaseTexture):
+        (gl::Texture2D::createTexture):
+        (gl::Texture2D::updateTexture):
+        (gl::Texture2D::convertToRenderTarget):
+        (gl::Texture2D::generateMipmaps):
+        (gl::Texture2D::getRenderbuffer):
+        (gl::Texture2D::getRenderTarget):
+        (gl::TextureCubeMap::getWidth):
+        (gl::TextureCubeMap::getHeight):
+        (gl::TextureCubeMap::getInternalFormat):
+        (gl::TextureCubeMap::getType):
+        (gl::TextureCubeMap::getD3DFormat):
+        (gl::TextureCubeMap::setImagePosX):
+        (gl::TextureCubeMap::setImageNegX):
+        (gl::TextureCubeMap::setImagePosY):
+        (gl::TextureCubeMap::setImageNegY):
+        (gl::TextureCubeMap::setImagePosZ):
+        (gl::TextureCubeMap::setImageNegZ):
+        (gl::TextureCubeMap::setCompressedImage):
+        (gl::TextureCubeMap::commitRect):
+        (gl::TextureCubeMap::isComplete):
+        (gl::TextureCubeMap::isCompressed):
+        (gl::TextureCubeMap::getBaseTexture):
+        (gl::TextureCubeMap::createTexture):
+        (gl::TextureCubeMap::updateTexture):
+        (gl::TextureCubeMap::convertToRenderTarget):
+        (gl::TextureCubeMap::setImage):
+        (gl::TextureCubeMap::redefineTexture):
+        (gl::TextureCubeMap::copyImage):
+        (gl::TextureCubeMap::getCubeMapSurface):
+        (gl::TextureCubeMap::copySubImage):
+        (gl::TextureCubeMap::generateMipmaps):
+        (gl::TextureCubeMap::getRenderbuffer):
+        (gl::TextureCubeMap::getRenderTarget):
+        * src/libGLESv2/Texture.h:
+        * src/libGLESv2/VertexDataManager.cpp: Added.
+        (gl::VertexDataManager::VertexDataManager):
+        (gl::VertexDataManager::~VertexDataManager):
+        (gl::VertexDataManager::writeAttributeData):
+        (gl::VertexDataManager::prepareVertexData):
+        (gl::VertexDataManager::spaceRequired):
+        (gl::VertexDataManager::checkVertexCaps):
+        (gl::VertexDataManager::typeIndex):
+        (gl::VertexBuffer::VertexBuffer):
+        (gl::VertexBuffer::~VertexBuffer):
+        (gl::VertexBuffer::unmap):
+        (gl::VertexBuffer::getBuffer):
+        (gl::ConstantVertexBuffer::ConstantVertexBuffer):
+        (gl::ConstantVertexBuffer::~ConstantVertexBuffer):
+        (gl::ArrayVertexBuffer::ArrayVertexBuffer):
+        (gl::ArrayVertexBuffer::~ArrayVertexBuffer):
+        (gl::ArrayVertexBuffer::addRequiredSpace):
+        (gl::ArrayVertexBuffer::addRequiredSpaceFor):
+        (gl::StreamingVertexBuffer::StreamingVertexBuffer):
+        (gl::StreamingVertexBuffer::~StreamingVertexBuffer):
+        (gl::StreamingVertexBuffer::map):
+        (gl::StreamingVertexBuffer::reserveRequiredSpace):
+        (gl::StaticVertexBuffer::StaticVertexBuffer):
+        (gl::StaticVertexBuffer::~StaticVertexBuffer):
+        (gl::StaticVertexBuffer::map):
+        (gl::StaticVertexBuffer::reserveRequiredSpace):
+        (gl::StaticVertexBuffer::lookupAttribute):
+        (gl::VertexDataManager::formatConverter):
+        * src/libGLESv2/VertexDataManager.h: Added.
+        (gl::ArrayVertexBuffer::size):
+        (gl::VertexDataManager::dirtyCurrentValue):
+        * src/libGLESv2/libGLESv2.cpp:
+        (validImageSize):
+        (Extension::glBindTexImage):
+        * src/libGLESv2/libGLESv2.def:
+        * src/libGLESv2/libGLESv2.rc: Added.
+        * src/libGLESv2/libGLESv2.vcproj:
+        * src/libGLESv2/main.cpp:
+        (error):
+        * src/libGLESv2/mathutil.h:
+        (gl::clamp):
+        (gl::clamp01):
+        (gl::transformPixelRect):
+        (gl::transformPixelYOffset):
+        (gl::adjustWinding):
+        (gl::supportsSSE2):
+        * src/libGLESv2/resource.h: Added.
+        * src/libGLESv2/utilities.cpp:
+        (gl::ComputeCompressedPitch):
+        (es2dx::ConvertCubeFace):
+        (es2dx::ConvertPrimitiveType):
+        (es2dx::ConvertRenderbufferFormat):
+        (es2dx::GetMultisampleTypeFromSamples):
+        (dx2es::GetStencilSize):
+        (dx2es::GetAlphaSize):
+        (dx2es::GetRedSize):
+        (dx2es::GetGreenSize):
+        (dx2es::GetBlueSize):
+        (dx2es::GetDepthSize):
+        (getTempPath):
+        (writeFile):
+        * src/libGLESv2/utilities.h:
+        * src/libGLESv2/vertexconversion.h: Added.
+        (gl::Identity::convert):
+        (gl::Cast::convert):
+        (gl::Normalize::convert):
+        (gl::FixedToFloat::convert):
+        (gl::SimpleDefaultValues::zero):
+        (gl::SimpleDefaultValues::one):
+        (gl::NormalizedDefaultValues::zero):
+        (gl::NormalizedDefaultValues::one):
+        (gl::VertexDataConverter::convertArray):
+        (gl::VertexDataConverter::pointerAddBytes):
+        (gl::VertexDataConverter::copyComponent):
+
+2011-05-24  David Kilzer  <ddkilzer@apple.com>
+
+        Part 2 of 2: <http://webkit.org/b/60805> Enable -Wnewline-eof on ANGLE
+
+        Reviewed by Adam Roben.
+
+        * Configurations/Base.xcconfig:
+        (GCC_WARN_ABOUT_MISSING_NEWLINE): Added. Set to YES.
+
+2011-05-23  David Kilzer  <ddkilzer@apple.com>
+
+        Part 1 of 2: <http://webkit.org/b/60805> Enable -Wnewline-eof on ANGLE
+
+        Merge ANGLE upstream commit r653 for Issue 154.
+
+        * src/compiler/PoolAlloc.h: Added newline to end of file.
+        * src/compiler/ShHandle.h: Ditto.
+        * src/libEGL/Display.cpp: Ditto.
+
+2011-05-16  David Kilzer  <ddkilzer@apple.com>
+
+        <http://webkit.org/b/60913> C++ exceptions should not be enabled when building with llvm-gcc-4.2
+        <rdar://problem/9446430>
+
+        Reviewed by Mark Rowe.
+
+        * Configurations/Base.xcconfig: Fixed typo.
+
+2011-05-04  David Kilzer  <ddkilzer@apple.com>
+
+        Part 2 of 2: <http://webkit.org/b/56337> Enable -Werror on ANGLE
+
+        Reviewed by Adam Barth.
+
+        * Configurations/Base.xcconfig:
+        (GCC_TREAT_WARNINGS_AS_ERRORS): Set to YES.
+
+2011-05-04  David Kilzer  <ddkilzer@apple.com>
+
+        Part 1 of 2: <http://webkit.org/b/56337> Enable -Werror on ANGLE
+
+        Merge ANGLE upstream commits r572, r573, r574, r575.
+
+        This unblocks enabling -Werror on ANGLE.  Since all changes are
+        in the upstream repository, they may be safely overwritten
+        during the next ANGLE update.
+
+        * src/compiler/ConstantUnion.h:
+        (ConstantUnion::operator==): Added a default case.
+        * src/compiler/Intermediate.cpp:
+        (TIntermBinary::promote): Added parentheses.
+        * src/compiler/ParseHelper.cpp:
+        (TParseContext::precisionErrorCheck): Added a default case.
+        * src/compiler/PoolAlloc.cpp:
+        (TAllocation::checkGuardBlock): Changed '%u' to '%lu' for size_t
+        variable.  Put for loop inside #ifdef GUARD_BLOCKS/#endif macros
+        to fix tautological-compare warning.
+        (TAllocation::checkAllocList): Added newline to end of file.
+
+2011-04-26  Dan Bernstein  <mitz@apple.com>
+
+        Build fix.
+
+        * Configurations/CompilerVersion.xcconfig:
+
+2011-04-26  Dan Bernstein  <mitz@apple.com>
+
+        Reviewed by Mark Rowe.
+
+        Choose the compiler based on the Xcode version for Snow Leopard debug builds.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/CompilerVersion.xcconfig: Added.
+
+2011-03-17  Jeff Miller  <jeffm@apple.com>
+
+        Use a consistent set of file patterns in the svn:ignore property for all .xcodeproj directories, specifically:
+        
+        *.mode*
+        *.pbxuser
+        *.perspective*
+        project.xcworkspace
+        xcuserdata
+
+        * ANGLE.xcodeproj: Modified property svn:ignore.
+        * src/build_angle.xcodeproj: Modified property svn:ignore.
+
+2011-01-18  Kenneth Russell  <kbr@google.com>
+
+        Unreviewed, Leopard build fix. Remove flex/bison targets for GLSL
+        grammar because the generated sources are already checked in.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * src/build_angle.xcodeproj/project.pbxproj:
+
+2011-01-18  Kenneth Russell  <kbr@google.com>
+
+        Unreviewed, release build fix. Explicitly cast away const.
+
+        * src/compiler/preprocessor/scanner.c:
+        (ScanFromString):
+
+2011-01-18  Ben Vanik  <ben.vanik@gmail.com>
+
+        Reviewed by Kenneth Russell.
+
+        Updating ANGLE in WebKit to r533.
+        https://bugs.webkit.org/show_bug.cgi?id=47194
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * include/GLSLANG/ShaderLang.h:
+        * src/common/debug.cpp:
+        (gl::trace):
+        * src/common/debug.h:
+        * src/compiler/CodeGenGLSL.cpp:
+        (ConstructCompiler):
+        * src/compiler/CodeGenHLSL.cpp:
+        (ConstructCompiler):
+        * src/compiler/Common.h:
+        (EncodeSourceLoc):
+        (DecodeSourceLoc):
+        * src/compiler/Compiler.cpp: Added.
+        (TShHandleBase::TShHandleBase):
+        (TShHandleBase::~TShHandleBase):
+        (TCompiler::TCompiler):
+        (TCompiler::~TCompiler):
+        (TCompiler::Init):
+        (TCompiler::compile):
+        (TCompiler::InitBuiltInSymbolTable):
+        (TCompiler::clearResults):
+        (TCompiler::validateLimitations):
+        (TCompiler::collectAttribsUniforms):
+        * src/compiler/ExtensionBehavior.h: Added.
+        * src/compiler/InfoSink.cpp:
+        (TInfoSinkBase::location):
+        * src/compiler/InfoSink.h:
+        (TInfoSinkBase::size):
+        * src/compiler/Initialize.cpp:
+        (BuiltInFunctionsCommon):
+        (BuiltInFunctionsVertex):
+        (BuiltInFunctionsFragment):
+        (StandardUniforms):
+        (DefaultPrecisionVertex):
+        (DefaultPrecisionFragment):
+        (BuiltInConstants):
+        (TBuiltIns::initialize):
+        (IdentifyBuiltIns):
+        (InitExtensionBehavior):
+        * src/compiler/Initialize.h:
+        * src/compiler/IntermTraverse.cpp:
+        (TIntermLoop::traverse):
+        * src/compiler/Intermediate.cpp:
+        (getOperatorString):
+        (TIntermediate::addBinaryMath):
+        (TIntermediate::addLoop):
+        (TIntermediate::postProcess):
+        (TIntermBinary::promote):
+        * src/compiler/OutputGLSL.cpp:
+        (TOutputGLSL::visitUnary):
+        (TOutputGLSL::visitLoop):
+        * src/compiler/OutputHLSL.cpp:
+        (sh::OutputHLSL::OutputHLSL):
+        (sh::OutputHLSL::header):
+        (sh::OutputHLSL::visitBinary):
+        (sh::OutputHLSL::visitUnary):
+        (sh::OutputHLSL::visitAggregate):
+        (sh::OutputHLSL::visitLoop):
+        (sh::OutputHLSL::handleExcessiveLoop):
+        (sh::OutputHLSL::argumentString):
+        * src/compiler/OutputHLSL.h:
+        * src/compiler/ParseHelper.cpp:
+        (ReportInfo):
+        (DefineExtensionMacros):
+        (TParseContext::error):
+        (TParseContext::warning):
+        (TParseContext::reservedErrorCheck):
+        (TParseContext::constructorErrorCheck):
+        (TParseContext::arrayQualifierErrorCheck):
+        (TParseContext::extensionErrorCheck):
+        (TParseContext::areAllChildConst):
+        (PaParseStrings):
+        * src/compiler/ParseHelper.h:
+        (TParseContext::TParseContext):
+        * src/compiler/PoolAlloc.cpp:
+        (InitializeGlobalPools):
+        (FreeGlobalPools):
+        (SetGlobalPoolAllocator):
+        (TPoolAllocator::TPoolAllocator):
+        (TPoolAllocator::~TPoolAllocator):
+        (TAllocation::checkAllocList):
+        * src/compiler/PoolAlloc.h:
+        * src/compiler/SearchSymbol.cpp: Added.
+        (sh::SearchSymbol::SearchSymbol):
+        (sh::SearchSymbol::traverse):
+        (sh::SearchSymbol::visitSymbol):
+        (sh::SearchSymbol::foundMatch):
+        * src/compiler/SearchSymbol.h: Added.
+        * src/compiler/ShHandle.h:
+        (TCompiler::getAsCompiler):
+        (TCompiler::getInfoSink):
+        (TCompiler::getAttribs):
+        (TCompiler::getUniforms):
+        (TCompiler::getShaderType):
+        (TCompiler::getShaderSpec):
+        * src/compiler/ShaderLang.cpp:
+        (getVariableMaxLength):
+        (getVariableInfo):
+        (ShInitBuiltInResources):
+        (ShConstructCompiler):
+        (ShCompile):
+        (ShGetInfo):
+        (ShGetInfoLog):
+        (ShGetObjectCode):
+        (ShGetActiveAttrib):
+        (ShGetActiveUniform):
+        * src/compiler/SymbolTable.cpp:
+        (TSymbolTableLevel::relateToExtension):
+        * src/compiler/SymbolTable.h:
+        (TVariable::shareConstPointer):
+        (TFunction::relateToExtension):
+        (TFunction::getExtension):
+        (TFunction::getParamCount):
+        (TFunction::getParam):
+        (TSymbolTable::getGlobalLevel):
+        (TSymbolTable::relateToOperator):
+        (TSymbolTable::relateToExtension):
+        * src/compiler/TranslatorGLSL.cpp:
+        (writeVersion):
+        (TranslatorGLSL::TranslatorGLSL):
+        (TranslatorGLSL::translate):
+        * src/compiler/TranslatorGLSL.h:
+        * src/compiler/TranslatorHLSL.cpp:
+        (TranslatorHLSL::TranslatorHLSL):
+        (TranslatorHLSL::translate):
+        * src/compiler/TranslatorHLSL.h:
+        * src/compiler/Types.h:
+        (TType::TType):
+        * src/compiler/UnfoldSelect.cpp:
+        (sh::UnfoldSelect::visitSelection):
+        * src/compiler/UnfoldSelect.h:
+        * src/compiler/ValidateLimitations.cpp: Added.
+        (ValidateLimitations::ValidateLimitations):
+        (ValidateLimitations::visitSymbol):
+        (ValidateLimitations::visitConstantUnion):
+        (ValidateLimitations::visitBinary):
+        (ValidateLimitations::visitUnary):
+        (ValidateLimitations::visitSelection):
+        (ValidateLimitations::visitAggregate):
+        (ValidateLimitations::visitLoop):
+        (ValidateLimitations::visitBranch):
+        (ValidateLimitations::error):
+        (ValidateLimitations::withinLoopBody):
+        (ValidateLimitations::isLoopIndex):
+        (ValidateLimitations::validateLoopType):
+        (ValidateLimitations::validateForLoopHeader):
+        (ValidateLimitations::validateForLoopInit):
+        (ValidateLimitations::validateForLoopCond):
+        (ValidateLimitations::validateForLoopExpr):
+        (ValidateLimitations::validateFunctionCall):
+        (ValidateLimitations::validateOperation):
+        (ValidateLimitations::isConstExpr):
+        (ValidateLimitations::isConstIndexExpr):
+        (ValidateLimitations::validateIndexing):
+        * src/compiler/ValidateLimitations.h: Added.
+        (ValidateLimitations::numErrors):
+        * src/compiler/VariableInfo.cpp: Added.
+        (arrayBrackets):
+        (getVariableDataType):
+        (getVariableInfo):
+        (getBuiltInVariableInfo):
+        (getUserDefinedVariableInfo):
+        (CollectAttribsUniforms::CollectAttribsUniforms):
+        (CollectAttribsUniforms::visitSymbol):
+        (CollectAttribsUniforms::visitConstantUnion):
+        (CollectAttribsUniforms::visitBinary):
+        (CollectAttribsUniforms::visitUnary):
+        (CollectAttribsUniforms::visitSelection):
+        (CollectAttribsUniforms::visitAggregate):
+        (CollectAttribsUniforms::visitLoop):
+        (CollectAttribsUniforms::visitBranch):
+        * src/compiler/VariableInfo.h: Added.
+        * src/compiler/VersionGLSL.cpp: Added.
+        (TVersionGLSL::TVersionGLSL):
+        (TVersionGLSL::visitSymbol):
+        (TVersionGLSL::visitConstantUnion):
+        (TVersionGLSL::visitBinary):
+        (TVersionGLSL::visitUnary):
+        (TVersionGLSL::visitSelection):
+        (TVersionGLSL::visitAggregate):
+        (TVersionGLSL::visitLoop):
+        (TVersionGLSL::visitBranch):
+        (TVersionGLSL::updateVersion):
+        * src/compiler/VersionGLSL.h: Added.
+        (TVersionGLSL::getVersion):
+        * src/compiler/generate_glslang_lexer.sh: Added.
+        * src/compiler/generate_glslang_parser.sh: Added.
+        * src/compiler/glslang.h: Added.
+        * src/compiler/glslang.l:
+        * src/compiler/glslang.y:
+        * src/compiler/glslang_lex.cpp: Added.
+        (yy_get_next_buffer):
+        (yy_get_previous_state):
+        (yy_try_NUL_trans):
+        (input):
+        (yyrestart):
+        (yy_switch_to_buffer):
+        (yy_load_buffer_state):
+        (yy_create_buffer):
+        (yy_delete_buffer):
+        (yy_init_buffer):
+        (yy_flush_buffer):
+        (yypush_buffer_state):
+        (yypop_buffer_state):
+        (yyensure_buffer_stack):
+        (yy_scan_buffer):
+        (yy_scan_string):
+        (yy_scan_bytes):
+        (yy_push_state):
+        (yy_pop_state):
+        (yy_top_state):
+        (yy_fatal_error):
+        (yyget_extra):
+        (yyget_lineno):
+        (yyget_column):
+        (yyget_in):
+        (yyget_out):
+        (yyget_leng):
+        (yyget_text):
+        (yyset_extra):
+        (yyset_lineno):
+        (yyset_column):
+        (yyset_in):
+        (yyset_out):
+        (yyget_debug):
+        (yyset_debug):
+        (yyget_lval):
+        (yyset_lval):
+        (yylex_init):
+        (yylex_init_extra):
+        (yy_init_globals):
+        (yylex_destroy):
+        (yy_flex_strncpy):
+        (yy_flex_strlen):
+        (yyalloc):
+        (yyrealloc):
+        (yyfree):
+        (string_input):
+        (check_type):
+        (reserved_word):
+        (yyerror):
+        (glslang_initialize):
+        (glslang_finalize):
+        (glslang_scan):
+        * src/compiler/glslang_tab.cpp: Added.
+        (yytnamerr):
+        (yysyntax_error):
+        (glslang_parse):
+        * src/compiler/glslang_tab.h: Added.
+        * src/compiler/intermOut.cpp:
+        (TOutputTraverser::TOutputTraverser):
+        (OutputTreeText):
+        (TOutputTraverser::visitSymbol):
+        (TOutputTraverser::visitBinary):
+        (TOutputTraverser::visitUnary):
+        (TOutputTraverser::visitAggregate):
+        (TOutputTraverser::visitSelection):
+        (TOutputTraverser::visitConstantUnion):
+        (TOutputTraverser::visitLoop):
+        (TOutputTraverser::visitBranch):
+        (TIntermediate::outputTree):
+        * src/compiler/intermediate.h:
+        (TIntermLoop::TIntermLoop):
+        (TIntermLoop::getType):
+        (TIntermLoop::getInit):
+        (TIntermLoop::getCondition):
+        (TIntermLoop::getExpression):
+        (TIntermLoop::getBody):
+        * src/compiler/localintermediate.h:
+        * src/compiler/osinclude.h:
+        (OS_GetTLSValue):
+        * src/compiler/ossource_nspr.cpp: Added.
+        (OS_AllocTLSIndex):
+        (OS_SetTLSValue):
+        (OS_FreeTLSIndex):
+        * src/compiler/preprocessor/compile.h:
+        * src/compiler/preprocessor/cpp.c:
+        (CPPdefine):
+        (CPPelse):
+        (CPPif):
+        (CPPifdef):
+        (CPPerror):
+        (CPPextension):
+        (readCPPline):
+        * src/compiler/preprocessor/preprocess.h:
+        * src/compiler/preprocessor/scanner.c:
+        (str_getch):
+        (str_ungetch):
+        (ScanFromString):
+        (lFloatConst):
+        (byte_scan):
+        (yylex_CPP):
+        (check_EOF):
+        * src/compiler/preprocessor/scanner.h:
+        * src/compiler/preprocessor/tokens.c:
+        (RecordToken):
+        (ReadToken):
+        * src/compiler/tools: Removed.
+        * src/compiler/unistd.h: Removed.
+        * src/compiler/util.cpp: Added.
+        (atof_dot):
+        * src/compiler/util.h: Added.
+        * src/libEGL/Config.cpp:
+        (egl::Config::set):
+        * src/libEGL/Display.cpp:
+        (egl::Display::Display):
+        (egl::Display::initialize):
+        (egl::Display::terminate):
+        (egl::Display::createDevice):
+        (egl::Display::resetDevice):
+        (egl::Display::createContext):
+        (egl::Display::destroyContext):
+        (egl::Display::getMinSwapInterval):
+        (egl::Display::getMaxSwapInterval):
+        (egl::Display::getDevice):
+        (egl::Display::getFloatTextureSupport):
+        (egl::Display::getHalfFloatTextureSupport):
+        (egl::Display::getLuminanceTextureSupport):
+        (egl::Display::getLuminanceAlphaTextureSupport):
+        (egl::Display::getBufferPool):
+        (egl::Display::getEventQuerySupport):
+        (egl::Display::getDefaultPresentParameters):
+        * src/libEGL/Display.h:
+        * src/libEGL/Surface.cpp:
+        (egl::Surface::Surface):
+        (egl::Surface::~Surface):
+        (egl::Surface::release):
+        (egl::Surface::resetSwapChain):
+        (egl::Surface::writeRecordableFlipState):
+        (egl::Surface::restoreState):
+        (egl::SurfaceWindowProc):
+        (egl::Surface::subclassWindow):
+        (egl::Surface::unsubclassWindow):
+        (egl::Surface::checkForOutOfDateSwapChain):
+        (egl::Surface::convertInterval):
+        (egl::Surface::swap):
+        (egl::Surface::getRenderTarget):
+        (egl::Surface::setSwapInterval):
+        * src/libEGL/Surface.h:
+        * src/libEGL/libEGL.cpp:
+        * src/libGLESv2/Blit.cpp:
+        (gl::Blit::copySurfaceToTexture):
+        (gl::Blit::setCommonBlitState):
+        * src/libGLESv2/Buffer.cpp:
+        (gl::Buffer::Buffer):
+        (gl::Buffer::~Buffer):
+        (gl::Buffer::bufferData):
+        (gl::Buffer::bufferSubData):
+        (gl::Buffer::getVertexBuffer):
+        (gl::Buffer::getIndexBuffer):
+        (gl::Buffer::invalidateStaticData):
+        * src/libGLESv2/Buffer.h:
+        * src/libGLESv2/Context.cpp:
+        (gl::Context::Context):
+        (gl::Context::~Context):
+        (gl::Context::makeCurrent):
+        (gl::Context::markAllStateDirty):
+        (gl::Context::setFragmentShaderDerivativeHint):
+        (gl::Context::setEnableVertexAttribArray):
+        (gl::Context::getVertexAttribState):
+        (gl::Context::getVertexAttributes):
+        (gl::Context::createFence):
+        (gl::Context::deleteFence):
+        (gl::Context::bindTexture2D):
+        (gl::Context::bindTextureCubeMap):
+        (gl::Context::getFence):
+        (gl::Context::getTexture2D):
+        (gl::Context::getTextureCubeMap):
+        (gl::Context::getSamplerTexture):
+        (gl::Context::getBooleanv):
+        (gl::Context::getIntegerv):
+        (gl::Context::getQueryParameterInfo):
+        (gl::Context::applyRenderTarget):
+        (gl::Context::applyState):
+        (gl::Context::lookupAttributeMapping):
+        (gl::Context::applyVertexBuffer):
+        (gl::Context::applyIndexBuffer):
+        (gl::Context::readPixels):
+        (gl::Context::clear):
+        (gl::Context::drawArrays):
+        (gl::Context::drawElements):
+        (gl::Context::finish):
+        (gl::Context::drawClosingLine):
+        (gl::Context::getMaximumVaryingVectors):
+        (gl::Context::getMaximumFragmentUniformVectors):
+        (gl::Context::supportsEventQueries):
+        (gl::Context::supportsFloatTextures):
+        (gl::Context::supportsFloatLinearFilter):
+        (gl::Context::supportsFloatRenderableTextures):
+        (gl::Context::supportsHalfFloatTextures):
+        (gl::Context::supportsHalfFloatLinearFilter):
+        (gl::Context::supportsHalfFloatRenderableTextures):
+        (gl::Context::getMaximumRenderbufferDimension):
+        (gl::Context::getMaximumTextureDimension):
+        (gl::Context::getMaximumCubeTextureDimension):
+        (gl::Context::getMaximumTextureLevel):
+        (gl::Context::supportsLuminanceTextures):
+        (gl::Context::supportsLuminanceAlphaTextures):
+        (gl::Context::supports32bitIndices):
+        (gl::Context::getIncompleteTexture):
+        (gl::Context::setVertexAttrib):
+        (gl::Context::initExtensionString):
+        (gl::Context::blitFramebuffer):
+        * src/libGLESv2/Context.h:
+        (gl::VertexAttribute::VertexAttribute):
+        (gl::VertexAttribute::typeSize):
+        (gl::VertexAttribute::stride):
+        * src/libGLESv2/Fence.cpp: Added.
+        (gl::Fence::Fence):
+        (gl::Fence::~Fence):
+        (gl::Fence::isFence):
+        (gl::Fence::setFence):
+        (gl::Fence::testFence):
+        (gl::Fence::finishFence):
+        (gl::Fence::getFenceiv):
+        * src/libGLESv2/Fence.h: Added.
+        * src/libGLESv2/Framebuffer.cpp:
+        (gl::Framebuffer::completeness):
+        (gl::DefaultFramebuffer::DefaultFramebuffer):
+        (gl::DefaultFramebuffer::completeness):
+        * src/libGLESv2/Program.cpp:
+        (gl::Program::Program):
+        (gl::Program::getSamplerMapping):
+        (gl::Program::getUniformLocation):
+        (gl::Program::setUniform1iv):
+        (gl::Program::applyUniforms):
+        (gl::Program::packVaryings):
+        (gl::Program::linkVaryings):
+        (gl::Program::link):
+        (gl::Program::defineUniform):
+        (gl::Program::createUniform):
+        (gl::Program::applyUniform1iv):
+        (gl::Program::resetInfoLog):
+        (gl::Program::unlink):
+        (gl::Program::getActiveAttribute):
+        (gl::Program::getActiveUniform):
+        (gl::Program::getDxDepthRangeLocation):
+        * src/libGLESv2/Program.h:
+        * src/libGLESv2/RefCountObject.cpp:
+        (gl::RefCountObject::~RefCountObject):
+        * src/libGLESv2/Renderbuffer.cpp:
+        (gl::RenderbufferStorage::RenderbufferStorage):
+        (gl::RenderbufferStorage::isFloatingPoint):
+        (gl::Colorbuffer::Colorbuffer):
+        (gl::DepthStencilbuffer::DepthStencilbuffer):
+        * src/libGLESv2/Renderbuffer.h:
+        * src/libGLESv2/Shader.cpp:
+        (gl::Shader::Shader):
+        (gl::Shader::parseVaryings):
+        (gl::Shader::compileToHLSL):
+        (gl::VertexShader::parseAttributes):
+        * src/libGLESv2/Texture.cpp:
+        (gl::Texture::Texture):
+        (gl::Texture::isFloatingPoint):
+        (gl::Texture::isRenderableFormat):
+        (gl::Texture::selectFormat):
+        (gl::Texture::loadImageData):
+        (gl::Texture::loadAlphaFloatImageData):
+        (gl::Texture::loadAlphaHalfFloatImageData):
+        (gl::Texture::loadLuminanceImageData):
+        (gl::Texture::loadLuminanceFloatImageData):
+        (gl::Texture::loadLuminanceHalfFloatImageData):
+        (gl::Texture::loadLuminanceAlphaImageData):
+        (gl::Texture::loadLuminanceAlphaFloatImageData):
+        (gl::Texture::loadLuminanceAlphaHalfFloatImageData):
+        (gl::Texture::loadRGBFloatImageData):
+        (gl::Texture::loadRGBHalfFloatImageData):
+        (gl::Texture::loadRGBAFloatImageData):
+        (gl::Texture::loadRGBAHalfFloatImageData):
+        (gl::Texture::createSurface):
+        (gl::Texture::setImage):
+        (gl::Texture::setCompressedImage):
+        (gl::Texture::subImage):
+        (gl::Texture::subImageCompressed):
+        (gl::Texture::copyNonRenderable):
+        (gl::Texture::getD3DFormat):
+        (gl::Texture::isRenderable):
+        (gl::Texture2D::Texture2D):
+        (gl::Texture2D::~Texture2D):
+        (gl::Texture2D::redefineTexture):
+        (gl::Texture2D::setImage):
+        (gl::Texture2D::setCompressedImage):
+        (gl::Texture2D::copyImage):
+        (gl::Texture2D::copySubImage):
+        (gl::Texture2D::isComplete):
+        (gl::Texture2D::createTexture):
+        (gl::Texture2D::convertToRenderTarget):
+        (gl::Texture2D::generateMipmaps):
+        (gl::Texture2D::getColorbuffer):
+        (gl::Texture2D::getRenderTarget):
+        (gl::TextureCubeMap::TextureCubeMap):
+        (gl::TextureCubeMap::~TextureCubeMap):
+        (gl::TextureCubeMap::subImage):
+        (gl::TextureCubeMap::subImageCompressed):
+        (gl::TextureCubeMap::isComplete):
+        (gl::TextureCubeMap::createTexture):
+        (gl::TextureCubeMap::convertToRenderTarget):
+        (gl::TextureCubeMap::redefineTexture):
+        (gl::TextureCubeMap::copyImage):
+        (gl::TextureCubeMap::copySubImage):
+        (gl::TextureCubeMap::generateMipmaps):
+        (gl::TextureCubeMap::getColorbuffer):
+        (gl::TextureCubeMap::getRenderTarget):
+        (gl::Texture::TextureColorbufferProxy::TextureColorbufferProxy):
+        (gl::Texture::TextureColorbufferProxy::isFloatingPoint):
+        * src/libGLESv2/Texture.h:
+        * src/libGLESv2/geometry/IndexDataManager.cpp:
+        (gl::IndexDataManager::IndexDataManager):
+        (gl::IndexDataManager::~IndexDataManager):
+        (gl::convertIndices):
+        (gl::computeRange):
+        (gl::IndexDataManager::prepareIndexData):
+        (gl::IndexDataManager::indexSize):
+        (gl::IndexDataManager::typeSize):
+        (gl::IndexBuffer::IndexBuffer):
+        (gl::IndexBuffer::~IndexBuffer):
+        (gl::IndexBuffer::getBuffer):
+        (gl::IndexBuffer::unmap):
+        (gl::StreamingIndexBuffer::StreamingIndexBuffer):
+        (gl::StreamingIndexBuffer::~StreamingIndexBuffer):
+        (gl::StreamingIndexBuffer::map):
+        (gl::StreamingIndexBuffer::reserveSpace):
+        (gl::StaticIndexBuffer::StaticIndexBuffer):
+        (gl::StaticIndexBuffer::~StaticIndexBuffer):
+        (gl::StaticIndexBuffer::map):
+        (gl::StaticIndexBuffer::reserveSpace):
+        (gl::StaticIndexBuffer::lookupType):
+        (gl::StaticIndexBuffer::lookupRange):
+        (gl::StaticIndexBuffer::addRange):
+        * src/libGLESv2/geometry/IndexDataManager.h:
+        (gl::IndexBuffer::size):
+        * src/libGLESv2/geometry/VertexDataManager.cpp:
+        (gl::VertexDataManager::VertexDataManager):
+        (gl::VertexDataManager::~VertexDataManager):
+        (gl::VertexDataManager::writeAttributeData):
+        (gl::VertexDataManager::prepareVertexData):
+        (gl::VertexDataManager::spaceRequired):
+        (gl::VertexDataManager::checkVertexCaps):
+        (gl::VertexDataManager::typeIndex):
+        (gl::VertexDataManager::setupAttributes):
+        (gl::VertexBuffer::VertexBuffer):
+        (gl::VertexBuffer::~VertexBuffer):
+        (gl::VertexBuffer::unmap):
+        (gl::VertexBuffer::getBuffer):
+        (gl::ConstantVertexBuffer::ConstantVertexBuffer):
+        (gl::ConstantVertexBuffer::~ConstantVertexBuffer):
+        (gl::ArrayVertexBuffer::ArrayVertexBuffer):
+        (gl::ArrayVertexBuffer::~ArrayVertexBuffer):
+        (gl::ArrayVertexBuffer::addRequiredSpace):
+        (gl::ArrayVertexBuffer::addRequiredSpaceFor):
+        (gl::StreamingVertexBuffer::StreamingVertexBuffer):
+        (gl::StreamingVertexBuffer::~StreamingVertexBuffer):
+        (gl::StreamingVertexBuffer::map):
+        (gl::StreamingVertexBuffer::reserveRequiredSpace):
+        (gl::StaticVertexBuffer::StaticVertexBuffer):
+        (gl::StaticVertexBuffer::~StaticVertexBuffer):
+        (gl::StaticVertexBuffer::map):
+        (gl::StaticVertexBuffer::reserveRequiredSpace):
+        (gl::StaticVertexBuffer::lookupAttribute):
+        (gl::VertexDataManager::formatConverter):
+        * src/libGLESv2/geometry/VertexDataManager.h:
+        (gl::ArrayVertexBuffer::size):
+        (gl::VertexDataManager::dirtyCurrentValue):
+        * src/libGLESv2/geometry/backend.cpp: Removed.
+        * src/libGLESv2/geometry/backend.h: Removed.
+        * src/libGLESv2/geometry/dx9.cpp: Removed.
+        * src/libGLESv2/geometry/dx9.h: Removed.
+        * src/libGLESv2/libGLESv2.cpp:
+        * src/libGLESv2/libGLESv2.def:
+        * src/libGLESv2/libGLESv2.vcproj:
+        * src/libGLESv2/utilities.cpp:
+        (gl::UniformComponentCount):
+        (gl::UniformComponentType):
+        (gl::ComputePixelSize):
+        (gl::CheckTextureFormatType):
+        (gl::IsColorRenderable):
+        (gl::IsDepthRenderable):
+        (gl::IsStencilRenderable):
+        (es2dx::GetAlphaSize):
+        (es2dx::GetRedSize):
+        (es2dx::GetGreenSize):
+        (es2dx::GetBlueSize):
+        (es2dx::GetDepthSize):
+        (es2dx::ConvertPrimitiveType):
+        (dx2es::ConvertBackBufferFormat):
+        (dx2es::ConvertDepthStencilFormat):
+        * src/libGLESv2/utilities.h:
+
+2011-01-17  Dan Bernstein  <mitz@apple.com>
+
+        Rubber-stamped by Mark Rowe.
+
+        Update xcodeproj svn:ignore to include xcuserdata.
+
+        * ANGLE.xcodeproj: Modified property svn:ignore.
+        * src/build_angle.xcodeproj: Modified property svn:ignore.
+
+2010-12-01  Steve Falkenburg  <sfalken@apple.com>
+
+        Reviewed by Adam Roben.
+
+        vcproj changes can't be applied cleanly by the Windows EWS bot
+        https://bugs.webkit.org/show_bug.cgi?id=50328
+
+        * src/libEGL/libEGL.vcproj: Added property svn:eol-style.
+        * src/libGLESv2/libGLESv2.vcproj: Added property svn:eol-style.
+
+2010-11-03  Darin Adler  <darin@apple.com>
+
+        Updated Xcode projects by opening them with Xcode 3.2.4.
+        Updated svn:ignore for Xcode projects.
+
+        * ANGLE.xcodeproj: Added property svn:ignore.
+        * ANGLE.xcodeproj/project.pbxproj: Updated with Xcode 3.2.4.
+        * src/build_angle.xcodeproj: Added property svn:ignore.
+        * src/build_angle.xcodeproj/project.pbxproj: Updated with Xcode 3.2.4.
+
+2010-09-01  Zhenyao Mo  <zmo@google.com>
+
+        Reviewed by Kenneth Russell.
+
+        Roll ANGLE under webkit to r402
+        https://bugs.webkit.org/show_bug.cgi?id=45004
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * include/GLES2/gl2ext.h:
+        * include/GLSLANG/ResourceLimits.h: Removed.
+        * include/GLSLANG/ShaderLang.h:
+        * src/compiler/BaseTypes.h:
+        (getPrecisionString):
+        (getBasicString):
+        (IsSampler):
+        (getQualifierString):
+        * src/compiler/Initialize.cpp:
+        (BuiltInConstants):
+        (IdentifyBuiltIns):
+        * src/compiler/Initialize.h:
+        * src/compiler/InitializeDll.cpp:
+        (InitProcess):
+        (DetachProcess):
+        (InitThread):
+        (DetachThread):
+        * src/compiler/InitializeDll.h:
+        * src/compiler/InitializeParseContext.h:
+        * src/compiler/Intermediate.cpp:
+        (GetHigherPrecision):
+        (TIntermediate::addBinaryMath):
+        (TIntermediate::setAggregateOperator):
+        (TIntermediate::addComma):
+        (TIntermediate::postProcess):
+        (TIntermBinary::promote):
+        (CompareStruct):
+        * src/compiler/OutputGLSL.cpp:
+        (TOutputGLSL::writeFunctionParameters):
+        (TOutputGLSL::visitUnary):
+        (TOutputGLSL::visitBranch):
+        * src/compiler/OutputHLSL.cpp:
+        (sh::OutputHLSL::header):
+        (sh::OutputHLSL::visitBinary):
+        (sh::OutputHLSL::visitAggregate):
+        (sh::OutputHLSL::handleExcessiveLoop):
+        (sh::OutputHLSL::addConstructor):
+        * src/compiler/ParseHelper.cpp:
+        (TParseContext::constructorErrorCheck):
+        (TParseContext::samplerErrorCheck):
+        (TParseContext::paramErrorCheck):
+        (TParseContext::findFunction):
+        (TParseContext::executeInitializer):
+        (TParseContext::addConstructor):
+        (TParseContext::addConstStruct):
+        (FreeParseContextIndex):
+        (GetGlobalParseContext):
+        * src/compiler/PoolAlloc.h:
+        (TPoolAllocator::tHeader::tHeader):
+        (pool_allocator::allocate):
+        (pool_allocator::deallocate):
+        * src/compiler/ShaderLang.cpp:
+        (ShInitialize):
+        (ShFinalize):
+        (ShInitBuiltInResource):
+        * src/compiler/SymbolTable.cpp:
+        (TType::getStructSize):
+        * src/compiler/SymbolTable.h:
+        (TVariable::setQualifier):
+        * src/compiler/Types.h:
+        (TType::TType):
+        (TType::getBasicType):
+        (TType::setBasicType):
+        (TType::getPrecision):
+        (TType::setPrecision):
+        (TType::getQualifier):
+        (TType::setQualifier):
+        (TType::getNominalSize):
+        (TType::setNominalSize):
+        (TType::isMatrix):
+        (TType::setMatrix):
+        (TType::isArray):
+        (TType::getArraySize):
+        (TType::setArraySize):
+        (TType::getMaxArraySize):
+        (TType::setMaxArraySize):
+        (TType::clearArrayness):
+        (TType::setArrayInformationType):
+        (TType::getArrayInformationType):
+        (TType::isVector):
+        (TType::isScalar):
+        (TType::setStruct):
+        (TType::getTypeName):
+        (TType::setTypeName):
+        (TType::isField):
+        (TType::getFieldName):
+        (TType::setFieldName):
+        (TType::getBasicString):
+        (TType::getPrecisionString):
+        (TType::getQualifierString):
+        * src/compiler/glslang.l:
+        * src/compiler/glslang.y:
+        * src/compiler/intermediate.h:
+        (TIntermNode::getLine):
+        (TIntermNode::setLine):
+        (TIntermTyped::getAsTyped):
+        (TIntermTyped::setType):
+        (TIntermTyped::getType):
+        (TIntermTyped::getTypePointer):
+        (TIntermTyped::getBasicType):
+        (TIntermTyped::getQualifier):
+        (TIntermTyped::getPrecision):
+        (TIntermTyped::getNominalSize):
+        (TIntermTyped::isMatrix):
+        (TIntermTyped::isArray):
+        (TIntermTyped::isVector):
+        (TIntermTyped::isScalar):
+        (TIntermTyped::getBasicString):
+        (TIntermTyped::getQualifierString):
+        (TIntermSymbol::getId):
+        (TIntermSymbol::getSymbol):
+        (TIntermOperator::setOp):
+        (TIntermBinary::setLeft):
+        (TIntermBinary::setRight):
+        (TIntermBinary::getLeft):
+        (TIntermBinary::getRight):
+        (TIntermUnary::setOperand):
+        (TIntermUnary::getOperand):
+        (TIntermAggregate::getAsAggregate):
+        (TIntermAggregate::getSequence):
+        (TIntermAggregate::setName):
+        (TIntermAggregate::getName):
+        (TIntermAggregate::setUserDefined):
+        (TIntermAggregate::isUserDefined):
+        (TIntermAggregate::getQualifier):
+        (TIntermAggregate::setOptimize):
+        (TIntermAggregate::setDebug):
+        (TIntermSelection::getCondition):
+        (TIntermSelection::getTrueBlock):
+        (TIntermSelection::getFalseBlock):
+        (TIntermSelection::getAsSelectionNode):
+        * src/compiler/parseConst.cpp:
+        (TConstTraverser::TConstTraverser):
+        * src/compiler/preprocessor/atom.c:
+        (InitAtomTable):
+        * src/compiler/preprocessor/atom.h:
+        * src/compiler/preprocessor/compile.h:
+        * src/compiler/preprocessor/cpp.c:
+        * src/compiler/preprocessor/cpp.h:
+        * src/compiler/preprocessor/cppstruct.c:
+        * src/compiler/preprocessor/memory.c:
+        * src/compiler/preprocessor/memory.h:
+        * src/compiler/preprocessor/parser.h:
+        * src/compiler/preprocessor/preprocess.h:
+        * src/compiler/preprocessor/scanner.c:
+        * src/compiler/preprocessor/scanner.h:
+        * src/compiler/preprocessor/slglobals.h:
+        * src/compiler/preprocessor/symbols.c:
+        (NewSymbol):
+        * src/compiler/preprocessor/symbols.h:
+        * src/compiler/preprocessor/tokens.c:
+        (RecordToken):
+        * src/compiler/preprocessor/tokens.h:
+        * src/libEGL/Display.cpp:
+        (egl::Display::Display):
+        (egl::Display::initialize):
+        (egl::Display::terminate):
+        (egl::Display::createDevice):
+        (egl::Display::createWindowSurface):
+        (egl::Display::createContext):
+        (egl::Display::getMultiSampleSupport):
+        (egl::Display::getCompressedTextureSupport):
+        * src/libEGL/Display.h:
+        * src/libEGL/Surface.cpp:
+        (egl::Surface::Surface):
+        (egl::Surface::resetSwapChain):
+        (egl::Surface::getWindowHandle):
+        (egl::Surface::writeRecordableFlipState):
+        (egl::Surface::applyFlipState):
+        (egl::Surface::releaseRecordedState):
+        (egl::Surface::checkForWindowResize):
+        (egl::Surface::swap):
+        * src/libEGL/Surface.h:
+        * src/libEGL/libEGL.cpp:
+        * src/libEGL/libEGL.vcproj:
+        * src/libGLESv2/Blit.cpp:
+        (gl::Blit::setVertexShader):
+        (gl::Blit::setPixelShader):
+        (gl::Blit::setFormatConvertShaders):
+        * src/libGLESv2/Buffer.cpp:
+        (gl::Buffer::Buffer):
+        * src/libGLESv2/Buffer.h:
+        * src/libGLESv2/Context.cpp:
+        (gl::Context::Context):
+        (gl::Context::~Context):
+        (gl::Context::makeCurrent):
+        (gl::Context::markAllStateDirty):
+        (gl::Context::getReadFramebufferHandle):
+        (gl::Context::getDrawFramebufferHandle):
+        (gl::Context::getRenderbufferHandle):
+        (gl::Context::getArrayBufferHandle):
+        (gl::Context::setVertexAttribState):
+        (gl::Context::createBuffer):
+        (gl::Context::createProgram):
+        (gl::Context::createShader):
+        (gl::Context::createTexture):
+        (gl::Context::createRenderbuffer):
+        (gl::Context::deleteBuffer):
+        (gl::Context::deleteShader):
+        (gl::Context::deleteProgram):
+        (gl::Context::deleteTexture):
+        (gl::Context::deleteRenderbuffer):
+        (gl::Context::getBuffer):
+        (gl::Context::getShader):
+        (gl::Context::getProgram):
+        (gl::Context::getTexture):
+        (gl::Context::getRenderbuffer):
+        (gl::Context::getReadFramebuffer):
+        (gl::Context::getDrawFramebuffer):
+        (gl::Context::bindArrayBuffer):
+        (gl::Context::bindElementArrayBuffer):
+        (gl::Context::bindTexture2D):
+        (gl::Context::bindTextureCubeMap):
+        (gl::Context::bindReadFramebuffer):
+        (gl::Context::bindDrawFramebuffer):
+        (gl::Context::bindRenderbuffer):
+        (gl::Context::useProgram):
+        (gl::Context::setFramebufferZero):
+        (gl::Context::setRenderbufferStorage):
+        (gl::Context::getFramebuffer):
+        (gl::Context::getArrayBuffer):
+        (gl::Context::getElementArrayBuffer):
+        (gl::Context::getCurrentProgram):
+        (gl::Context::getTexture2D):
+        (gl::Context::getTextureCubeMap):
+        (gl::Context::getSamplerTexture):
+        (gl::Context::getFloatv):
+        (gl::Context::getIntegerv):
+        (gl::Context::getQueryParameterInfo):
+        (gl::Context::applyRenderTarget):
+        (gl::Context::applyState):
+        (gl::Context::applyIndexBuffer):
+        (gl::Context::readPixels):
+        (gl::Context::clear):
+        (gl::Context::finish):
+        (gl::Context::flush):
+        (gl::Context::supportsShaderModel3):
+        (gl::Context::getMaxSupportedSamples):
+        (gl::Context::getNearestSupportedSamples):
+        (gl::Context::supportsCompressedTextures):
+        (gl::Context::detachBuffer):
+        (gl::Context::detachTexture):
+        (gl::Context::detachFramebuffer):
+        (gl::Context::detachRenderbuffer):
+        (gl::Context::getIncompleteTexture):
+        (gl::Context::initExtensionString):
+        (gl::Context::blitFramebuffer):
+        * src/libGLESv2/Context.h:
+        (gl::AttributeState::AttributeState):
+        * src/libGLESv2/Framebuffer.cpp:
+        (gl::Framebuffer::Framebuffer):
+        (gl::Framebuffer::~Framebuffer):
+        (gl::Framebuffer::lookupRenderbuffer):
+        (gl::Framebuffer::setColorbuffer):
+        (gl::Framebuffer::setDepthbuffer):
+        (gl::Framebuffer::setStencilbuffer):
+        (gl::Framebuffer::detachTexture):
+        (gl::Framebuffer::detachRenderbuffer):
+        (gl::Framebuffer::getRenderTargetSerial):
+        (gl::Framebuffer::getRenderTarget):
+        (gl::Framebuffer::getDepthStencil):
+        (gl::Framebuffer::getDepthbufferSerial):
+        (gl::Framebuffer::getStencilbufferSerial):
+        (gl::Framebuffer::getColorbuffer):
+        (gl::Framebuffer::getDepthbuffer):
+        (gl::Framebuffer::getStencilbuffer):
+        (gl::Framebuffer::getColorbufferHandle):
+        (gl::Framebuffer::getDepthbufferHandle):
+        (gl::Framebuffer::getStencilbufferHandle):
+        (gl::Framebuffer::hasStencil):
+        (gl::Framebuffer::isMultisample):
+        (gl::Framebuffer::completeness):
+        (gl::DefaultFramebuffer::DefaultFramebuffer):
+        (gl::Framebuffer::getSamples):
+        (gl::DefaultFramebuffer::completeness):
+        * src/libGLESv2/Framebuffer.h:
+        * src/libGLESv2/Program.cpp:
+        (gl::Program::Program):
+        (gl::Program::~Program):
+        (gl::Program::attachShader):
+        (gl::Program::detachShader):
+        (gl::Program::linkVaryings):
+        (gl::Program::link):
+        (gl::Program::unlink):
+        (gl::Program::release):
+        (gl::Program::addRef):
+        (gl::Program::getRefCount):
+        (gl::Program::getDxViewportLocation):
+        * src/libGLESv2/Program.h:
+        * src/libGLESv2/RefCountObject.cpp: Added.
+        (gl::RefCountObject::RefCountObject):
+        (gl::RefCountObject::~RefCountObject):
+        (gl::RefCountObject::addRef):
+        (gl::RefCountObject::release):
+        (gl::RefCountObjectBindingPointer::set):
+        * src/libGLESv2/RefCountObject.h: Added.
+        (gl::RefCountObject::id):
+        (gl::RefCountObjectBindingPointer::RefCountObjectBindingPointer):
+        (gl::RefCountObjectBindingPointer::~RefCountObjectBindingPointer):
+        (gl::RefCountObjectBindingPointer::get):
+        (gl::RefCountObjectBindingPointer::id):
+        (gl::RefCountObjectBindingPointer::operator ! ):
+        (gl::BindingPointer::set):
+        (gl::BindingPointer::get):
+        (gl::BindingPointer::operator -> ):
+        * src/libGLESv2/Renderbuffer.cpp:
+        (gl::Renderbuffer::Renderbuffer):
+        (gl::Renderbuffer::~Renderbuffer):
+        (gl::Renderbuffer::isColorbuffer):
+        (gl::Renderbuffer::isDepthbuffer):
+        (gl::Renderbuffer::isStencilbuffer):
+        (gl::Renderbuffer::getRenderTarget):
+        (gl::Renderbuffer::getDepthStencil):
+        (gl::Renderbuffer::getWidth):
+        (gl::Renderbuffer::getHeight):
+        (gl::Renderbuffer::getFormat):
+        (gl::Renderbuffer::getD3DFormat):
+        (gl::Renderbuffer::getSerial):
+        (gl::Renderbuffer::setStorage):
+        (gl::RenderbufferStorage::RenderbufferStorage):
+        (gl::RenderbufferStorage::~RenderbufferStorage):
+        (gl::RenderbufferStorage::isColorbuffer):
+        (gl::RenderbufferStorage::isDepthbuffer):
+        (gl::RenderbufferStorage::isStencilbuffer):
+        (gl::RenderbufferStorage::getRenderTarget):
+        (gl::RenderbufferStorage::getDepthStencil):
+        (gl::RenderbufferStorage::getWidth):
+        (gl::RenderbufferStorage::getHeight):
+        (gl::RenderbufferStorage::setSize):
+        (gl::RenderbufferStorage::getFormat):
+        (gl::RenderbufferStorage::getD3DFormat):
+        (gl::RenderbufferStorage::getSamples):
+        (gl::RenderbufferStorage::getSerial):
+        (gl::RenderbufferStorage::issueSerial):
+        (gl::Colorbuffer::Colorbuffer):
+        (gl::Colorbuffer::isColorbuffer):
+        (gl::Colorbuffer::getRedSize):
+        (gl::Colorbuffer::getGreenSize):
+        (gl::Colorbuffer::getBlueSize):
+        (gl::Colorbuffer::getAlphaSize):
+        (gl::DepthStencilbuffer::DepthStencilbuffer):
+        (gl::DepthStencilbuffer::~DepthStencilbuffer):
+        (gl::DepthStencilbuffer::isDepthbuffer):
+        (gl::DepthStencilbuffer::isStencilbuffer):
+        (gl::DepthStencilbuffer::getDepthSize):
+        (gl::DepthStencilbuffer::getStencilSize):
+        (gl::DepthStencilbuffer::getDepthStencil):
+        (gl::Depthbuffer::Depthbuffer):
+        (gl::Depthbuffer::~Depthbuffer):
+        (gl::Depthbuffer::isDepthbuffer):
+        (gl::Depthbuffer::isStencilbuffer):
+        (gl::Stencilbuffer::Stencilbuffer):
+        (gl::Stencilbuffer::~Stencilbuffer):
+        (gl::Stencilbuffer::isDepthbuffer):
+        (gl::Stencilbuffer::isStencilbuffer):
+        * src/libGLESv2/Renderbuffer.h:
+        (gl::Renderbuffer::getStorage):
+        * src/libGLESv2/ResourceManager.cpp: Added.
+        (gl::ResourceManager::ResourceManager):
+        (gl::ResourceManager::~ResourceManager):
+        (gl::ResourceManager::addRef):
+        (gl::ResourceManager::release):
+        (gl::ResourceManager::createBuffer):
+        (gl::ResourceManager::createShader):
+        (gl::ResourceManager::createProgram):
+        (gl::ResourceManager::createTexture):
+        (gl::ResourceManager::createRenderbuffer):
+        (gl::ResourceManager::deleteBuffer):
+        (gl::ResourceManager::deleteShader):
+        (gl::ResourceManager::deleteProgram):
+        (gl::ResourceManager::deleteTexture):
+        (gl::ResourceManager::deleteRenderbuffer):
+        (gl::ResourceManager::getBuffer):
+        (gl::ResourceManager::getShader):
+        (gl::ResourceManager::getTexture):
+        (gl::ResourceManager::getProgram):
+        (gl::ResourceManager::getRenderbuffer):
+        (gl::ResourceManager::setRenderbuffer):
+        (gl::ResourceManager::checkBufferAllocation):
+        (gl::ResourceManager::checkTextureAllocation):
+        (gl::ResourceManager::checkRenderbufferAllocation):
+        * src/libGLESv2/ResourceManager.h: Added.
+        * src/libGLESv2/Shader.cpp:
+        (gl::Shader::Shader):
+        (gl::Shader::addRef):
+        (gl::Shader::release):
+        (gl::Shader::getRefCount):
+        (gl::Shader::parseVaryings):
+        (gl::VertexShader::VertexShader):
+        (gl::FragmentShader::FragmentShader):
+        * src/libGLESv2/Shader.h:
+        * src/libGLESv2/Texture.cpp:
+        (gl::Texture::Image::Image):
+        (gl::Texture::Texture):
+        (gl::Texture::getBlitter):
+        (gl::Texture::selectFormat):
+        (gl::Texture::loadImageData):
+        (gl::Texture::loadAlphaImageData):
+        (gl::Texture::loadLuminanceImageData):
+        (gl::Texture::loadLuminanceAlphaImageData):
+        (gl::Texture::loadRGBUByteImageData):
+        (gl::Texture::loadRGB565ImageData):
+        (gl::Texture::loadRGBAUByteImageData):
+        (gl::Texture::loadRGBA4444ImageData):
+        (gl::Texture::loadRGBA5551ImageData):
+        (gl::Texture::loadBGRAImageData):
+        (gl::Texture::createSurface):
+        (gl::Texture::setImage):
+        (gl::Texture::setCompressedImage):
+        (gl::Texture::subImage):
+        (gl::Texture::subImageCompressed):
+        (gl::Texture2D::Texture2D):
+        (gl::Texture2D::getFormat):
+        (gl::Texture2D::setCompressedImage):
+        (gl::Texture2D::subImage):
+        (gl::Texture2D::subImageCompressed):
+        (gl::Texture2D::copyImage):
+        (gl::Texture2D::copySubImage):
+        (gl::Texture2D::isCompressed):
+        (gl::Texture2D::getColorbuffer):
+        (gl::TextureCubeMap::TextureCubeMap):
+        (gl::TextureCubeMap::getFormat):
+        (gl::TextureCubeMap::setCompressedImage):
+        (gl::TextureCubeMap::subImage):
+        (gl::TextureCubeMap::subImageCompressed):
+        (gl::TextureCubeMap::isCompressed):
+        (gl::TextureCubeMap::copyImage):
+        (gl::TextureCubeMap::copySubImage):
+        (gl::TextureCubeMap::getColorbuffer):
+        (gl::Texture::TextureColorbufferProxy::addRef):
+        (gl::Texture::TextureColorbufferProxy::release):
+        (gl::Texture::TextureColorbufferProxy::getWidth):
+        (gl::Texture::TextureColorbufferProxy::getHeight):
+        (gl::Texture::TextureColorbufferProxy::getFormat):
+        * src/libGLESv2/Texture.h:
+        * src/libGLESv2/libGLESv2.cpp:
+        * src/libGLESv2/libGLESv2.def:
+        * src/libGLESv2/libGLESv2.vcproj:
+        * src/libGLESv2/main.h:
+        * src/libGLESv2/utilities.cpp:
+        (gl::ComputeCompressedPitch):
+        (gl::ComputeCompressedSize):
+        (gl::IsCompressed):
+        (gl::ComputePixelSize):
+        (gl::CheckTextureFormatType):
+        (es2dx::ConvertRenderbufferFormat):
+        (es2dx::GetSamplesFromMultisampleType):
+        (es2dx::GetMultisampleTypeFromSamples):
+        * src/libGLESv2/utilities.h:
+
+2010-08-17  Chris Marrin  <cmarrin@apple.com>
+
+        Unreviewed.
+
+        Moved previous link error fix to Base.xcconfig.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * Configurations/Base.xcconfig:
+
+2010-08-17  Chris Marrin  <cmarrin@apple.com>
+
+        Unreviewed.
+
+        Got rid of link errors in WebCore.
+
+        Changed GCC_INLINES_ARE_PRIVATE_EXTERN to YES and
+        GCC_SYMBOLS_PRIVATE_EXTERN to NO to match WebCore
+        flags.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+
+2010-08-04  Kenneth Russell  <kbr@google.com>
+
+        Reviewed by Dimitri Glazkov.
+
+        Update ANGLE to r352
+        https://bugs.webkit.org/show_bug.cgi?id=43500
+
+        Updated ANGLE to r352 (July 26, 2010). Built WebKit to test.
+
+        * include/GLSLANG/ShaderLang.h:
+        * src/compiler/Initialize.cpp:
+        (BuiltInFunctionsCommon):
+        (BuiltInFunctionsVertex):
+        (BuiltInFunctionsFragment):
+        (StandardUniforms):
+        (DefaultPrecisionVertex):
+        (DefaultPrecisionFragment):
+        (BuiltInConstants):
+        (TBuiltIns::initialize):
+        (IdentifyBuiltIns):
+        * src/compiler/Initialize.h:
+        (TBuiltIns::getBuiltInStrings):
+        * src/compiler/OutputGLSL.cpp:
+        (TOutputGLSL::visitSelection):
+        * src/compiler/ShHandle.h:
+        (TCompiler::getLanguage):
+        (TCompiler::getSpec):
+        (TCompiler::getSymbolTable):
+        (TCompiler::getInfoSink):
+        * src/compiler/ShaderLang.cpp:
+        (InitializeSymbolTable):
+        (GenerateBuiltInSymbolTable):
+        (ShInitialize):
+        (ShConstructCompiler):
+        (ShFinalize):
+        (ShCompile):
+        * src/compiler/SymbolTable.h:
+        (TSymbolTable::atBuiltInLevel):
+        (TSymbolTable::atGlobalLevel):
+        (TSymbolTable::push):
+        (TSymbolTable::getGlobalLevel):
+        (TSymbolTable::currentLevel):
+        * src/libGLESv2/Shader.cpp:
+        (gl::Shader::Shader):
+        (gl::Shader::compileToHLSL):
+
+2010-08-03  Mark Rowe  <mrowe@apple.com>
+
+        Rubber-stamped by Adele Peterson.
+
+        Remove some unnecessary files from the ANGLE tree.
+
+        * src/compiler/tools/COPYING.bison: Removed.
+        * src/compiler/tools/COPYING.flex: Removed.
+        * src/compiler/tools/README: Removed.
+        * src/compiler/tools/bison.hairy: Removed.
+        * src/compiler/tools/bison.simple: Removed.
+
+2010-08-03  Mark Rowe  <mrowe@apple.com>
+
+        Rubber-stamped by Adele Peterson.
+
+        Clean up the ANGLE Xcode project.
+
+        Main changes include:
+        • Adding a Production configuration.
+        • Modifying the library name from libangle.a to libANGLE.a.
+        • Installing the headers in a subdirectory of /usr/local/include to avoid polluting the top-level directory.
+        • Generating derived sources in to the built products directory so they're saved along with the symroot.
+        • Switching to using .xcconfig files for maximum cleanliness.
+
+        * ANGLE.xcodeproj/project.pbxproj:
+        * Configurations/ANGLE.xcconfig: Added.
+        * Configurations/Base.xcconfig: Added.
+        * Configurations/DebugRelease.xcconfig: Added.
+
+2010-08-02  Paul Sawaya  <psawaya@apple.com>
+
+        Reviewed by Adele Peterson.
+
+        Add ANGLE library to WebKit. From the repository (http://angleproject.googlecode.com) as of July 22.
+        https://bugs.webkit.org/show_bug.cgi?id=42789
+
diff --git a/scripts/copy-frameworks-to-secondary-path.sh b/scripts/copy-frameworks-to-secondary-path.sh
new file mode 100755
index 000000000..2e00c1270
--- /dev/null
+++ b/scripts/copy-frameworks-to-secondary-path.sh
@@ -0,0 +1,62 @@
+#!/bin/sh
+
+set -e
+
+if [[ "${DEPLOYMENT_LOCATION}" != "YES" ]]; then
+    echo "error: $(basename $0) should only be run for deployment-style (\"production\" / \"non-engineering\") builds."
+    exit 1
+fi
+
+if [[ "${USE_SYSTEM_CONTENT_PATH}" != "YES" || "${COPY_STAGED_FRAMEWORKS_TO_SECONDARY_PATH}" != "YES" ]]; then
+    echo "Skipping copying frameworks to secondary content path."
+    exit 0
+fi
+
+if [[ "${ACTION}" == "installapi" || "${ACTION}" == "installhdrs" ]]; then
+    echo "Skipping copying frameworks to secondary content path for installapi or installhdrs action."
+    exit 0
+fi
+
+if [[ -z "${FRAMEWORKS_TO_COPY_TO_SECONDARY_PATH}" && -z "${DYLIBS_TO_COPY_TO_SECONDARY_PATH}" ]]; then
+    echo "warning: Neither FRAMEWORKS_TO_COPY_TO_SECONDARY_PATH or DYLIBS_TO_COPY_TO_SECONDARY_PATH are set."
+fi
+
+if [[ -z "${SECONDARY_STAGED_FRAMEWORK_DIRECTORY}" ]]; then
+    echo "error: SECONDARY_STAGED_FRAMEWORK_DIRECTORY is not set."
+    exit 1
+fi
+
+function copy_product_to_destination_framework_directory
+{
+    PRODUCT_COMPONENT=$1
+
+    # In deployment builds, BUILT_PRODUCTS_DIR doesn't point to the actual location of any products,
+    # but to a single folder of symlinks to all built products, regardless of whether they are actually
+    # being installed. We need to copy the actual products to the secondary content path, *not* just a symlink.
+    SOURCE_PRODUCT_PATH="$(readlink "${BUILT_PRODUCTS_DIR}/${PRODUCT_COMPONENT}")"
+
+    echo "Copying ${SOURCE_PRODUCT_PATH} to ${DESTINATION_FRAMEWORK_DIRECTORY}"
+    rsync -aE "${SOURCE_PRODUCT_PATH}" "${DESTINATION_FRAMEWORK_DIRECTORY}"
+}
+
+if [[ ! -z "${SECONDARY_STAGED_FRAMEWORK_DIRECTORY}" ]]; then
+    DESTINATION_FRAMEWORK_DIRECTORY="${DSTROOT}${SECONDARY_STAGED_FRAMEWORK_DIRECTORY}"
+    mkdir -p "${DESTINATION_FRAMEWORK_DIRECTORY}"
+
+    for FRAMEWORK_NAME in $(echo ${FRAMEWORKS_TO_COPY_TO_SECONDARY_PATH} | tr ' ' '\n')
+    do
+        FRAMEWORK_BUNDLE_NAME="${FRAMEWORK_NAME}.framework"
+
+        copy_product_to_destination_framework_directory ${FRAMEWORK_BUNDLE_NAME}
+    done
+fi
+
+if [[ ! -z "${DYLIBS_TO_COPY_TO_SECONDARY_PATH}" ]]; then
+    DESTINATION_FRAMEWORK_DIRECTORY="${DSTROOT}${SECONDARY_STAGED_FRAMEWORK_DIRECTORY}${STAGED_DYLIB_FRAMEWORK_PATH}"
+    mkdir -p "${DESTINATION_FRAMEWORK_DIRECTORY}"
+
+    for DYLIB in $(echo ${DYLIBS_TO_COPY_TO_SECONDARY_PATH} | tr ' ' '\n')
+    do
+        copy_product_to_destination_framework_directory ${DYLIB}
+    done
+fi
diff --git a/scripts/run_code_generation.py b/scripts/run_code_generation.py
index adc9bd9eb..a6ef39fd2 100755
--- a/scripts/run_code_generation.py
+++ b/scripts/run_code_generation.py
@@ -256,8 +256,11 @@ def main():
                 f = open(os.path.basename(script), "r")
                 if subprocess.call([get_executable_name(f.readline()),
                                     os.path.basename(script)]) != 0:
+                    print('Error Running ' + name + ' code generator')
                     sys.exit(1)
                 f.close()
+            else:
+                print('Verifying ' + name + ' code generator')
 
         # Update the hash dictionary.
         all_new_hashes[fname] = new_hashes
diff --git a/src/common/utilities.cpp b/src/common/utilities.cpp
index a175734c3..7fc9aa792 100644
--- a/src/common/utilities.cpp
+++ b/src/common/utilities.cpp
@@ -6,6 +6,12 @@
 
 // utilities.cpp: Conversion functions and other utility routines.
 
+// Older clang versions have a false positive on this warning here.
+// TODO(dino): Is this still necessary?
+#if defined(__clang__)
+#    pragma clang diagnostic ignored "-Wglobal-constructors"
+#endif
+
 #include "common/utilities.h"
 #include "GLES3/gl3.h"
 #include "common/mathutil.h"
diff --git a/src/compiler/preprocessor/preprocessor_tab_autogen.cpp b/src/compiler/preprocessor/preprocessor_tab_autogen.cpp
index 4711774cd..9eab1b361 100644
--- a/src/compiler/preprocessor/preprocessor_tab_autogen.cpp
+++ b/src/compiler/preprocessor/preprocessor_tab_autogen.cpp
@@ -1,5 +1,8 @@
 /* A Bison parser, made by GNU Bison 3.3.2.  */
 
+/* Apple Note: For the avoidance of doubt, Apple elects to distribute this file under the terms of
+ * the BSD license. */
+
 /* Bison implementation for Yacc-like parsers in C
 
    Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
diff --git a/src/compiler/translator/CodeGen.cpp b/src/compiler/translator/CodeGen.cpp
index 497ef881e..47213c904 100644
--- a/src/compiler/translator/CodeGen.cpp
+++ b/src/compiler/translator/CodeGen.cpp
@@ -23,6 +23,9 @@
 #ifdef ANGLE_ENABLE_METAL
 #    include "compiler/translator/TranslatorMetalDirect.h"
 #endif  // ANGLE_ENABLE_METAL
+#ifdef ANGLE_ENABLE_METAL_SPIRV
+#    include "compiler/translator/TranslatorMetal.h"
+#endif  // ANGLE_ENABLE_METAL_SPIRV
 
 #ifdef ANGLE_ENABLE_METAL_SPIRV
 #    include "compiler/translator/TranslatorMetal.h"
diff --git a/src/compiler/translator/TranslatorMetalDirect.cpp b/src/compiler/translator/TranslatorMetalDirect.cpp
index 7f665c130..595810150 100644
--- a/src/compiler/translator/TranslatorMetalDirect.cpp
+++ b/src/compiler/translator/TranslatorMetalDirect.cpp
@@ -950,7 +950,6 @@ bool TranslatorMetalDirect::translateImpl(TInfoSinkBase &sink,
                 getSymbolTable().findBuiltIn(ImmutableString("gl_PointSize"), getShaderVersion()));
             DeclareRightBeforeMain(*root, *pointSize);
         }
-
         if (FindSymbolNode(root, BuiltInVariable::gl_VertexIndex()->name()))
         {
             if (!ReplaceVariable(this, root, BuiltInVariable::gl_VertexIndex(), &kgl_VertexIDMetal))
diff --git a/src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp b/src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp
index 4610d5cfc..8f9a13bfa 100644
--- a/src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp
+++ b/src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp
@@ -1740,7 +1740,6 @@ void GenMetalTraverser::emitFunctionSignature(const TFunction &func)
         const TVariable &param = *func.getParam(i);
         emitFunctionParameter(func, param);
     }
-
     if (isTraversingVertexMain)
     {
         mOut << " @@XFB-Bindings@@ ";
diff --git a/src/compiler/translator/TranslatorMetalDirect/EnvironmentVariable.h b/src/compiler/translator/TranslatorMetalDirect/EnvironmentVariable.h
new file mode 100644
index 000000000..d823fc728
--- /dev/null
+++ b/src/compiler/translator/TranslatorMetalDirect/EnvironmentVariable.h
@@ -0,0 +1,45 @@
+//
+// Copyright 2020 The ANGLE Project Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+
+#ifndef COMPILER_TRANSLATOR_TRANSLATORMETALDIRECT_ENVIRONMENTVARIABLE_H_
+#define COMPILER_TRANSLATOR_TRANSLATORMETALDIRECT_ENVIRONMENTVARIABLE_H_
+
+#include <cstdlib>
+#include <string>
+
+#include "common/debug.h"
+
+namespace sh
+{
+
+inline bool readBoolEnvVar(const char *var)
+{
+    const char *str = std::getenv(var);
+    if (str == nullptr)
+    {
+        return false;
+    }
+    if (strcmp(str, "0") == 0)
+    {
+        return false;
+    }
+    ASSERT(strcmp(str, "1") == 0);
+    return true;
+}
+
+inline std::string readStringEnvVar(const char *var)
+{
+    const char *str = std::getenv(var);
+    if (str == nullptr)
+    {
+        return "";
+    }
+    return str;
+}
+
+}  // namespace sh
+
+#endif  // COMPILER_TRANSLATOR_TRANSLATORMETALDIRECT_ENVIRONMENTVARIABLE_H_
diff --git a/src/compiler/translator/TranslatorMetalDirect/IdGen.cpp b/src/compiler/translator/TranslatorMetalDirect/IdGen.cpp
index 81ff2722f..9d2b43bc0 100644
--- a/src/compiler/translator/TranslatorMetalDirect/IdGen.cpp
+++ b/src/compiler/translator/TranslatorMetalDirect/IdGen.cpp
@@ -25,7 +25,7 @@ Name IdGen::createNewName(size_t count,
 {
     const unsigned id = mNext++;
     char idBuffer[std::numeric_limits<unsigned>::digits10 + 1];
-    sprintf(idBuffer, "%u", id);
+    snprintf(idBuffer, sizeof(idBuffer), "%u", id);
 
     mNewNameBuffer.clear();
     mNewNameBuffer += '_';
diff --git a/src/compiler/translator/TranslatorMetalDirect/ModifyStruct.cpp b/src/compiler/translator/TranslatorMetalDirect/ModifyStruct.cpp
index bcc5d6589..60758fbe8 100644
--- a/src/compiler/translator/TranslatorMetalDirect/ModifyStruct.cpp
+++ b/src/compiler/translator/TranslatorMetalDirect/ModifyStruct.cpp
@@ -601,7 +601,7 @@ class ConvertStructState : angle::NonCopyable
     void pushNamePath(unsigned extra)
     {
         char buffer[std::numeric_limits<unsigned>::digits10 + 1];
-        sprintf(buffer, "%u", extra);
+        snprintf(buffer, sizeof(buffer), "%u", extra);
         pushNamePath(buffer);
     }
 
diff --git a/src/compiler/translator/glslang_tab_autogen.cpp b/src/compiler/translator/glslang_tab_autogen.cpp
index 82837bfaf..2c580b5c0 100644
--- a/src/compiler/translator/glslang_tab_autogen.cpp
+++ b/src/compiler/translator/glslang_tab_autogen.cpp
@@ -1,5 +1,8 @@
 /* A Bison parser, made by GNU Bison 3.3.2.  */
 
+/* Apple Note: For the avoidance of doubt, Apple elects to distribute this file under the terms of
+ * the BSD license. */
+
 /* Bison implementation for Yacc-like parsers in C
 
    Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
diff --git a/src/compiler/translator/glslang_tab_autogen.h b/src/compiler/translator/glslang_tab_autogen.h
index d2eab0b7b..2ec2d2c44 100644
--- a/src/compiler/translator/glslang_tab_autogen.h
+++ b/src/compiler/translator/glslang_tab_autogen.h
@@ -1,5 +1,8 @@
 /* A Bison parser, made by GNU Bison 3.3.2.  */
 
+/* Apple Note: For the avoidance of doubt, Apple elects to distribute this file under the terms of
+ * the BSD license. */
+
 /* Bison interface for Yacc-like parsers in C
 
    Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
diff --git a/src/compiler/translator/glslang_wrapper.cpp b/src/compiler/translator/glslang_wrapper.cpp
index 187f35001..3de7597d1 100644
--- a/src/compiler/translator/glslang_wrapper.cpp
+++ b/src/compiler/translator/glslang_wrapper.cpp
@@ -10,6 +10,7 @@
 //   This file is separated as glslang's header contains conflicting macro definitions with ANGLE's.
 //
 
+#include "common/spirv/spirv_types.h"
 #include "compiler/translator/glslang_wrapper.h"
 
 // glslang has issues with some specific warnings.
diff --git a/src/compiler/translator/tree_ops/apple/UnfoldShortCircuitAST.cpp b/src/compiler/translator/tree_ops/apple/UnfoldShortCircuitAST.cpp
index 55e2f8b97..423755852 100644
--- a/src/compiler/translator/tree_ops/apple/UnfoldShortCircuitAST.cpp
+++ b/src/compiler/translator/tree_ops/apple/UnfoldShortCircuitAST.cpp
@@ -10,6 +10,7 @@
 #include "compiler/translator/tree_util/IntermNode_util.h"
 #include "compiler/translator/tree_util/IntermTraverse.h"
 
+#if defined(ANGLE_ENABLE_GLSL) && defined(ANGLE_ENABLE_APPLE_WORKAROUNDS)
 namespace sh
 {
 
@@ -70,5 +71,5 @@ bool UnfoldShortCircuitAST(TCompiler *compiler, TIntermBlock *root)
     root->traverse(&traverser);
     return traverser.updateTree(compiler, root);
 }
-
+#endif
 }  // namespace sh
diff --git a/src/compiler/translator/tree_ops/apple/UnfoldShortCircuitAST.h b/src/compiler/translator/tree_ops/apple/UnfoldShortCircuitAST.h
index ad3cc080d..75069c572 100644
--- a/src/compiler/translator/tree_ops/apple/UnfoldShortCircuitAST.h
+++ b/src/compiler/translator/tree_ops/apple/UnfoldShortCircuitAST.h
@@ -11,7 +11,7 @@
 #define COMPILER_TRANSLATOR_TREEOPS_APPLE_UNFOLDSHORTCIRCUITAST_H_
 
 #include "common/angleutils.h"
-
+#include "common/debug.h"
 namespace sh
 {
 
diff --git a/src/libANGLE/Context.cpp b/src/libANGLE/Context.cpp
index 426acd9a7..6e6c0d480 100755
--- a/src/libANGLE/Context.cpp
+++ b/src/libANGLE/Context.cpp
@@ -9260,7 +9260,7 @@ egl::Error Context::setDefaultFramebuffer(egl::Surface *drawSurface, egl::Surfac
     ASSERT(mCurrentDrawSurface == nullptr);
     ASSERT(mCurrentReadSurface == nullptr);
 
-    Framebuffer *newDefaultFramebuffer = nullptr;
+    std::unique_ptr<gl::Framebuffer> newDefaultFramebuffer;
 
     mCurrentDrawSurface = drawSurface;
     mCurrentReadSurface = readSurface;
@@ -9272,7 +9272,7 @@ egl::Error Context::setDefaultFramebuffer(egl::Surface *drawSurface, egl::Surfac
     }
     else
     {
-        newDefaultFramebuffer = new Framebuffer(this, mImplementation.get(), readSurface);
+        newDefaultFramebuffer = std::make_unique<gl::Framebuffer>(this, mImplementation.get(), readSurface);
     }
     ASSERT(newDefaultFramebuffer);
 
@@ -9283,14 +9283,14 @@ egl::Error Context::setDefaultFramebuffer(egl::Surface *drawSurface, egl::Surfac
 
     // Update default framebuffer, the binding of the previous default
     // framebuffer (or lack of) will have a nullptr.
-    mState.mFramebufferManager->setDefaultFramebuffer(newDefaultFramebuffer);
+    mState.mFramebufferManager->setDefaultFramebuffer(newDefaultFramebuffer.release());
     if (mState.getDrawFramebuffer() == nullptr)
     {
-        bindDrawFramebuffer(newDefaultFramebuffer->id());
+        bindDrawFramebuffer(mState.mFramebufferManager->getDefaultFramebuffer()->id());
     }
     if (mState.getReadFramebuffer() == nullptr)
     {
-        bindReadFramebuffer(newDefaultFramebuffer->id());
+        bindReadFramebuffer(mState.mFramebufferManager->getDefaultFramebuffer()->id());
     }
 
     return egl::NoError();
diff --git a/src/libANGLE/State.cpp b/src/libANGLE/State.cpp
index b97bbb4f1..3ff4730ed 100644
--- a/src/libANGLE/State.cpp
+++ b/src/libANGLE/State.cpp
@@ -6,6 +6,9 @@
 
 // State.cpp: Implements the State class, encapsulating raw GL state.
 
+// Older clang versions have a false positive on this warning here.
+#pragma clang diagnostic ignored "-Wglobal-constructors"
+
 #include "libANGLE/State.h"
 
 #include <string.h>
diff --git a/src/libANGLE/Surface.cpp b/src/libANGLE/Surface.cpp
index a820f1890..74517f24d 100644
--- a/src/libANGLE/Surface.cpp
+++ b/src/libANGLE/Surface.cpp
@@ -640,10 +640,10 @@ Error Surface::getBufferAge(const gl::Context *context, EGLint *age)
     return err;
 }
 
-gl::Framebuffer *Surface::createDefaultFramebuffer(const gl::Context *context,
+std::unique_ptr<gl::Framebuffer> Surface::createDefaultFramebuffer(const gl::Context *context,
                                                                    egl::Surface *readSurface)
 {
-    return new gl::Framebuffer(context, this, readSurface);
+    return std::make_unique<gl::Framebuffer>(context, this, readSurface);
 }
 
 gl::InitState Surface::initState(const gl::ImageIndex & /*imageIndex*/) const
diff --git a/src/libANGLE/Surface.h b/src/libANGLE/Surface.h
index 17ddeaa91..ff16c4ab9 100644
--- a/src/libANGLE/Surface.h
+++ b/src/libANGLE/Surface.h
@@ -105,7 +105,7 @@ class Surface : public LabeledObject, public gl::FramebufferAttachmentObject
     void setFixedWidth(EGLint width);
     void setFixedHeight(EGLint height);
 
-    gl::Framebuffer *createDefaultFramebuffer(const gl::Context *context,
+    std::unique_ptr<gl::Framebuffer> createDefaultFramebuffer(const gl::Context *context,
                                                               egl::Surface *readSurface);
 
     const Config *getConfig() const;
@@ -220,8 +220,6 @@ class Surface : public LabeledObject, public gl::FramebufferAttachmentObject
     ~Surface() override;
     rx::FramebufferAttachmentObjectImpl *getAttachmentImpl() const override;
 
-    gl::Framebuffer *createDefaultFramebuffer(const Display *display);
-
     // ANGLE-only method, used internally
     friend class gl::Texture;
     Error releaseTexImageFromTexture(const gl::Context *context);
diff --git a/src/libANGLE/renderer/driver_utils.cpp b/src/libANGLE/renderer/driver_utils.cpp
index bfdf0ff76..6e5097653 100644
--- a/src/libANGLE/renderer/driver_utils.cpp
+++ b/src/libANGLE/renderer/driver_utils.cpp
@@ -164,6 +164,10 @@ const char *GetVendorString(uint32_t vendorId)
             return "Qualcomm";
         case VENDOR_ID_SAMSUNG:
             return "Samsung Electronics Co., Ltd.";
+        case VENDOR_ID_VMWARE:
+            return "VMware";
+        case VENDOR_ID_VIVANTE:
+            return "Vivante";
         case 0xba5eba11:  // Mock vendor ID used for tests.
             return "Test";
         case 0:
diff --git a/src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp b/src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp
index a2b44d2bf..20ec85a50 100644
--- a/src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp
+++ b/src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp
@@ -250,12 +250,10 @@ bool IOSurfaceSurfaceCGL::validateAttributes(EGLClientBuffer buffer,
         return false;
     }
 
-    // Check that the format matches this IOSurface plane
-    if (IOSurfaceGetBytesPerElementOfPlane(ioSurface, plane) !=
-        kIOSurfaceFormats[formatIndex].componentBytes)
-    {
-        return false;
-    }
+    // FIXME: Check that the format matches this IOSurface plane for pixel formats that we know of.
+    // We could map IOSurfaceGetPixelFormat to expected type plane and format type.
+    // However, the caller might supply us non-public pixel format, which makes exhaustive checks
+    // problematic.
 
     return true;
 }
diff --git a/src/libANGLE/renderer/glslang_wrapper_utils.h b/src/libANGLE/renderer/glslang_wrapper_utils.h
index d27715d94..75d252f7a 100644
--- a/src/libANGLE/renderer/glslang_wrapper_utils.h
+++ b/src/libANGLE/renderer/glslang_wrapper_utils.h
@@ -10,7 +10,6 @@
 #define LIBANGLE_RENDERER_GLSLANG_WRAPPER_UTILS_H_
 
 #include <functional>
-
 #include "common/spirv/spirv_types.h"
 #include "libANGLE/renderer/ProgramImpl.h"
 #include "libANGLE/renderer/renderer_utils.h"
@@ -158,7 +157,7 @@ void GlslangAssignTransformFeedbackLocations(gl::ShaderType shaderType,
                                              bool isTransformFeedbackStage,
                                              GlslangProgramInterfaceInfo *programInterfaceInfo,
                                              ShaderInterfaceVariableInfoMap *variableInfoMapOut);
-
+#if ANGLE_ENABLE_METAL_SPIRV
 // Retrieves the compiled SPIR-V code for each shader stage, and calls |GlslangAssignLocations|.
 void GlslangGetShaderSpirvCode(const GlslangSourceOptions &options,
                                const gl::ProgramState &programState,
@@ -171,6 +170,7 @@ angle::Result GlslangTransformSpirvCode(const GlslangSpirvOptions &options,
                                         const ShaderInterfaceVariableInfoMap &variableInfoMap,
                                         const angle::spirv::Blob &initialSpirvBlob,
                                         angle::spirv::Blob *spirvBlobOut);
+#endif
 
 }  // namespace rx
 
diff --git a/src/libANGLE/renderer/metal/BufferMtl.mm b/src/libANGLE/renderer/metal/BufferMtl.mm
index 279923ff2..900aea8af 100644
--- a/src/libANGLE/renderer/metal/BufferMtl.mm
+++ b/src/libANGLE/renderer/metal/BufferMtl.mm
@@ -365,7 +365,7 @@ ConversionBufferMtl *BufferMtl::getUniformConversionBuffer(ContextMtl *context,
     {
         if (buffer.offset == offset)
         {
-            return &buffer;
+            return static_cast<ConversionBufferMtl *>(&buffer);
         }
     }
 
@@ -520,7 +520,7 @@ angle::Result BufferMtl::setDataImpl(const gl::Context *context,
         default:
             // dynamic buffer, allow up to 10 update per frame/encoding without
             // waiting for GPU.
-            if (adjustedSize <= mtl::kSharedMemBufferMaxBufSizeHint)
+            if (adjustedSize <= kConvertedElementArrayBufferInitialSize)
             {
                 maxBuffers = 10;
                 mBufferPool.setAlwaysUseSharedMem();
diff --git a/src/libANGLE/renderer/metal/DisplayMtl.mm b/src/libANGLE/renderer/metal/DisplayMtl.mm
index da5b1c99f..6498af891 100644
--- a/src/libANGLE/renderer/metal/DisplayMtl.mm
+++ b/src/libANGLE/renderer/metal/DisplayMtl.mm
@@ -254,9 +254,10 @@ mtl::AutoObjCPtr<id<MTLDevice>> DisplayMtl::getMetalDeviceMatchingAttribute(
         }
     }
 
-    NSMutableArray<id<MTLDevice>> *externalGPUs   = [[NSMutableArray alloc] init];
-    NSMutableArray<id<MTLDevice>> *integratedGPUs = [[NSMutableArray alloc] init];
-    NSMutableArray<id<MTLDevice>> *discreteGPUs   = [[NSMutableArray alloc] init];
+    auto externalGPUs = mtl::adoptObjCObj<NSMutableArray<id<MTLDevice>>>([[NSMutableArray alloc] init]);
+    auto integratedGPUs = mtl::adoptObjCObj<NSMutableArray<id<MTLDevice>>>([[NSMutableArray alloc] init]);
+    auto discreteGPUs = mtl::adoptObjCObj<NSMutableArray<id<MTLDevice>>>([[NSMutableArray alloc] init]);
+
     for (id<MTLDevice> device in deviceList.get())
     {
         if (device.removable)
@@ -278,7 +279,7 @@ mtl::AutoObjCPtr<id<MTLDevice>> DisplayMtl::getMetalDeviceMatchingAttribute(
     if (attribs.get(EGL_POWER_PREFERENCE_ANGLE, 0) == EGL_HIGH_POWER_ANGLE)
     {
         // Search for a discrete GPU first.
-        for (id<MTLDevice> device in discreteGPUs)
+        for (id<MTLDevice> device in discreteGPUs.get())
         {
             if (![device isHeadless])
                 return device;
@@ -287,7 +288,7 @@ mtl::AutoObjCPtr<id<MTLDevice>> DisplayMtl::getMetalDeviceMatchingAttribute(
     else if (attribs.get(EGL_POWER_PREFERENCE_ANGLE, 0) == EGL_LOW_POWER_ANGLE)
     {
         // If we've selected a low power device, look through integrated devices.
-        for (id<MTLDevice> device in integratedGPUs)
+        for (id<MTLDevice> device in integratedGPUs.get())
         {
             if (![device isHeadless])
                 return device;
@@ -310,6 +311,17 @@ mtl::AutoObjCPtr<id<MTLDevice>> DisplayMtl::getMetalDeviceMatchingAttribute(
         }
     }
 
+    // Default to use a low power device, look through integrated devices.
+    for (id<MTLDevice> device in integratedGPUs.get())
+    {
+        if (![device isHeadless])
+            return device;
+    }
+
+    // If we selected a low power device and there's no low-power devices avaialble, return the
+    // first (default) device.
+    if (deviceList.get().count > 0)
+        return deviceList[0];
 #endif
     // If we can't find anything, or are on a platform that doesn't support power options, create a
     // default device.
@@ -1209,8 +1221,7 @@ bool DisplayMtl::supportsEitherGPUFamily(uint8_t iOSFamily, uint8_t macFamily) c
 bool DisplayMtl::supports32BitFloatFiltering() const
 {
 #if (defined(__MAC_11_0) && __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_11_0) ||        \
-    (defined(__IPHONE_14_0) && __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_14_0) || \
-    (defined(__TVOS_14_0) && __TV_OS_VERSION_MIN_REQUIRED >= __TVOS_14_0)
+    (defined(__IPHONE_14_0) && __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_14_0)
     if (@available(ios 14.0, macOS 11.0, *))
     {
         return [mMetalDevice supports32BitFloatFiltering];
diff --git a/src/libANGLE/renderer/metal/FrameBufferMtl.mm b/src/libANGLE/renderer/metal/FrameBufferMtl.mm
index 22e4c72f1..40ba05c75 100644
--- a/src/libANGLE/renderer/metal/FrameBufferMtl.mm
+++ b/src/libANGLE/renderer/metal/FrameBufferMtl.mm
@@ -1651,5 +1651,4 @@ angle::Result FramebufferMtl::readPixelsToBuffer(const gl::Context *context,
 
     return angle::Result::Continue;
 }
-
 }
diff --git a/src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm b/src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm
index ab7283ae1..100086759 100644
--- a/src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm
+++ b/src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm
@@ -219,12 +219,10 @@ bool IOSurfaceSurfaceMtl::ValidateAttributes(EGLClientBuffer buffer,
         return false;
     }
 
-    // Check that the format matches this IOSurface plane
-    if (IOSurfaceGetBytesPerElementOfPlane(ioSurface, plane) !=
-        kIOSurfaceFormats[formatIndex].componentBytes)
-    {
-        return false;
-    }
+    // FIXME: Check that the format matches this IOSurface plane for pixel formats that we know of.
+    // We could map IOSurfaceGetPixelFormat to expected type plane and format type.
+    // However, the caller might supply us non-public pixel format, which makes exhaustive checks
+    // problematic.
 
     return true;
 }
diff --git a/src/libANGLE/renderer/metal/ProgramMtl.mm b/src/libANGLE/renderer/metal/ProgramMtl.mm
index f14f15ce8..4ae9f8f39 100644
--- a/src/libANGLE/renderer/metal/ProgramMtl.mm
+++ b/src/libANGLE/renderer/metal/ProgramMtl.mm
@@ -589,7 +589,7 @@ angle::Result ProgramMtl::getSpecializedShader(ContextMtl *context,
 
     mtl::TranslatedShaderInfo *translatedMslInfo = &mMslShaderTranslateInfo[shaderType];
     ProgramShaderObjVariantMtl *shaderVariant;
-    MTLFunctionConstantValues *funcConstants = nil;
+    mtl::AutoObjCObj<MTLFunctionConstantValues> funcConstants;
 
     if (shaderType == gl::ShaderType::Vertex)
     {
@@ -639,7 +639,7 @@ angle::Result ProgramMtl::getSpecializedShader(ContextMtl *context,
                     [NSString stringWithUTF8String:sh::mtl::kRasterizerDiscardEnabledConstName];
             }
 
-            funcConstants = [[MTLFunctionConstantValues alloc] init];
+            funcConstants = mtl::adoptObjCObj([[MTLFunctionConstantValues alloc] init]);
             [funcConstants setConstantValue:&emulateDiscard
                                        type:MTLDataTypeBool
                                    withName:discardEnabledStr];
@@ -675,14 +675,15 @@ angle::Result ProgramMtl::getSpecializedShader(ContextMtl *context,
                     [NSString stringWithUTF8String:sh::mtl::kCoverageMaskEnabledConstName];
             }
             
-            NSString *depthWriteEnabledStr =
-                [NSString stringWithUTF8String:sh::mtl::kDepthWriteEnabledConstName];
 
-            funcConstants = [[MTLFunctionConstantValues alloc] init];
+            funcConstants = mtl::adoptObjCObj([[MTLFunctionConstantValues alloc] init]);
             [funcConstants setConstantValue:&emulateCoverageMask
                                        type:MTLDataTypeBool
                                    withName:coverageMaskEnabledStr];
             
+            NSString *depthWriteEnabledStr = 
+                [NSString stringWithUTF8String:sh::mtl::kDepthWriteEnabledConstName];
+            
             MTLPixelFormat depthPixelFormat =
                 (MTLPixelFormat)renderPipelineDesc.outputDescriptor.depthAttachmentPixelFormat;
             BOOL fragDepthWriteEnabled = depthPixelFormat != MTLPixelFormatInvalid;
@@ -705,12 +706,12 @@ angle::Result ProgramMtl::getSpecializedShader(ContextMtl *context,
         setConstantValue:&(context->getDisplay()->getFeatures().allowSamplerCompareLod.enabled)
                     type:MTLDataTypeBool
                 withName:@"ANGLEUseSampleCompareLod"];
+
     // Create Metal shader object
     ANGLE_MTL_OBJC_SCOPE
     {
         ANGLE_TRY(CreateMslShader(context, translatedMslInfo->metalLibrary, SHADER_ENTRY_NAME,
-                                  funcConstants, &shaderVariant->metalShader));
-        [funcConstants ANGLE_MTL_AUTORELEASE];
+                                  funcConstants.get(), &shaderVariant->metalShader));
     }
 
     // Store reference to the translated source for easily querying mapped bindings later.
diff --git a/src/libANGLE/renderer/metal/SurfaceMtl.mm b/src/libANGLE/renderer/metal/SurfaceMtl.mm
index 6855e4516..daa0e59cf 100644
--- a/src/libANGLE/renderer/metal/SurfaceMtl.mm
+++ b/src/libANGLE/renderer/metal/SurfaceMtl.mm
@@ -775,5 +775,4 @@ void PBufferSurfaceMtl::setFixedHeight(EGLint height)
 {
     mSize.height = height;
 }
-
 }
diff --git a/src/libANGLE/renderer/metal/VertexArrayMtl.h b/src/libANGLE/renderer/metal/VertexArrayMtl.h
index 86e6a2836..7fb3a98e5 100644
--- a/src/libANGLE/renderer/metal/VertexArrayMtl.h
+++ b/src/libANGLE/renderer/metal/VertexArrayMtl.h
@@ -153,6 +153,7 @@ class VertexArrayMtl : public VertexArrayImpl
     std::vector<uint32_t> mEmulatedInstanceAttribs;
 
     bool mVertexArrayDirty = true;
+    bool mVertexDataDirty = true;
 };
 }  // namespace rx
 
diff --git a/src/libANGLE/renderer/metal/VertexArrayMtl.mm b/src/libANGLE/renderer/metal/VertexArrayMtl.mm
index ba0c50561..ea34f511d 100644
--- a/src/libANGLE/renderer/metal/VertexArrayMtl.mm
+++ b/src/libANGLE/renderer/metal/VertexArrayMtl.mm
@@ -273,6 +273,7 @@ angle::Result VertexArrayMtl::syncState(const gl::Context *context,
             case gl::VertexArray::DIRTY_BIT_ELEMENT_ARRAY_BUFFER:
             case gl::VertexArray::DIRTY_BIT_ELEMENT_ARRAY_BUFFER_DATA:
             {
+                mVertexDataDirty = true;
                 break;
             }
 
@@ -300,7 +301,7 @@ angle::Result VertexArrayMtl::syncState(const gl::Context *context,
     case gl::VertexArray::DIRTY_BIT_BUFFER_DATA_0 + INDEX:                                        \
         ANGLE_TRY(syncDirtyAttrib(context, attribs[INDEX], bindings[attribs[INDEX].bindingIndex], \
                                   INDEX));                                                        \
-        mVertexArrayDirty = true;                                                                 \
+        mVertexDataDirty = true;                                                                 \
         break;
 
                 ANGLE_VERTEX_INDEX_CASES(ANGLE_VERTEX_DIRTY_BUFFER_DATA_FUNC)
@@ -475,7 +476,21 @@ angle::Result VertexArrayMtl::setupDraw(const gl::Context *glContext,
                 }
 
                 desc.layouts[bufferIdx].stride = mCurrentArrayBufferStrides[v];
+            }
+        }  // for (v)
+    }
+
+    if(dirty || mVertexDataDirty)
+    {
+        mVertexDataDirty = false;
+        const gl::ProgramExecutable *executable = glContext->getState().getProgramExecutable();
+        const gl::AttributesMask &programActiveAttribsMask =
+                executable->getActiveAttribLocationsMask();
 
+        for (uint32_t v = 0; v < mtl::kMaxVertexAttribs; ++v)
+        {
+            uint32_t bufferIdx    = mtl::kVboBindingIndexStart + v;
+            uint32_t bufferOffset = static_cast<uint32_t>(mCurrentArrayBufferOffsets[v]);
             if (mCurrentArrayBuffers[v])
             {
                 cmdEncoder->setVertexBuffer(mCurrentArrayBuffers[v]->getCurrentBuffer(),
@@ -488,10 +503,11 @@ angle::Result VertexArrayMtl::setupDraw(const gl::Context *glContext,
                 cmdEncoder->setVertexBytes(mCurrentArrayInlineDataPointers[v],
                                            mCurrentArrayInlineDataSizes[v], bufferIdx);
             }
+
         }
-        }  // for (v)
     }
 
+
     *vertexDescChanged = dirty;
 
     return angle::Result::Continue;
@@ -636,6 +652,7 @@ angle::Result VertexArrayMtl::syncDirtyAttrib(const gl::Context *glContext,
         if (bufferGL)
         {
             BufferMtl *bufferMtl = mtl::GetImpl(bufferGL);
+            mContentsObservers->enableForBuffer(bufferGL, static_cast<uint32_t>(attribIndex));
             bool needConversion =
                 format.actualFormatId != format.intendedFormatId ||
                 (binding.getOffset() % format.actualAngleFormat().pixelBytes) != 0 ||
@@ -645,12 +662,10 @@ angle::Result VertexArrayMtl::syncDirtyAttrib(const gl::Context *glContext,
 
             if (needConversion)
             {
-                mContentsObservers->enableForBuffer(bufferGL, static_cast<uint32_t>(attribIndex));
                 ANGLE_TRY(convertVertexBuffer(glContext, bufferMtl, binding, attribIndex, format));
             }
             else
             {
-                mContentsObservers->disableForBuffer(bufferGL, static_cast<uint32_t>(attribIndex));
                 mCurrentArrayBuffers[attribIndex]       = bufferMtl;
                 mCurrentArrayBufferOffsets[attribIndex] = binding.getOffset();
                 mCurrentArrayBufferStrides[attribIndex] = binding.getStride();
diff --git a/src/libANGLE/renderer/metal/mtl_buffer_pool.h b/src/libANGLE/renderer/metal/mtl_buffer_pool.h
index c3be11f78..204ebb949 100644
--- a/src/libANGLE/renderer/metal/mtl_buffer_pool.h
+++ b/src/libANGLE/renderer/metal/mtl_buffer_pool.h
@@ -126,7 +126,7 @@ class BufferPool
 
     size_t mBuffersAllocated;
     size_t mMaxBuffers;
-    BufferPoolMemPolicy mMemPolicy;
+    BufferPoolMemPolicy mMemPolicy = BufferPoolMemPolicy::Auto;
     bool mAlwaysAllocateNewBuffer;
 };
 
diff --git a/src/libANGLE/renderer/metal/mtl_render_utils.mm b/src/libANGLE/renderer/metal/mtl_render_utils.mm
index 1613ee9b7..e075295f8 100644
--- a/src/libANGLE/renderer/metal/mtl_render_utils.mm
+++ b/src/libANGLE/renderer/metal/mtl_render_utils.mm
@@ -2540,45 +2540,13 @@ angle::Result MipmapUtils::generateMipmapCS(ContextMtl *contextMtl,
                                             bool sRGBMipmap,
                                             NativeTexLevelArray *mipmapOutputViews)
 {
-    // Only support 3D texture for now.
-    ASSERT(srcTexture->textureType() == MTLTextureType3D);
-
     MTLSize threadGroupSize;
     uint32_t slices                             = 1;
     id<MTLComputePipelineState> computePipeline = nil;
-
-    ensure3DMipGeneratorPipelineInitialized(contextMtl);
-    computePipeline = m3DMipGeneratorPipeline;
-    threadGroupSize =
-        MTLSizeMake(kGenerateMipThreadGroupSizePerDim, kGenerateMipThreadGroupSizePerDim,
-                    kGenerateMipThreadGroupSizePerDim);
-
     // The compute shader supports up to 4 mipmaps generated per pass.
     // See shaders/gen_mipmap.metal
     uint32_t maxMipsPerBatch = 4;
 
-    if (threadGroupSize.width * threadGroupSize.height * threadGroupSize.depth >
-            computePipeline.maxTotalThreadsPerThreadgroup ||
-        ANGLE_UNLIKELY(
-            !contextMtl->getDisplay()->getFeatures().allowGenMultipleMipsPerPass.enabled))
-    {
-        // Multiple mipmaps generation is not supported due to hardware's thread group size limits.
-        // Fallback to generate one mip per pass and reduce thread group size.
-        if (ANGLE_UNLIKELY(threadGroupSize.width * threadGroupSize.height >
-                           computePipeline.maxTotalThreadsPerThreadgroup))
-        {
-            // Even with reduced thread group size, we cannot proceed.
-            // HACK: use blit command encoder to generate mipmaps if it is not possible
-            // to use compute shader due to hardware limits.
-            BlitCommandEncoder *blitEncoder = contextMtl->getBlitCommandEncoder();
-            blitEncoder->generateMipmapsForTexture(srcTexture);
-            return angle::Result::Continue;
-        }
-
-        threadGroupSize.depth = 1;
-        maxMipsPerBatch       = 1;
-    }
-
     ComputeCommandEncoder *cmdEncoder = contextMtl->getComputeCommandEncoder();
     ASSERT(cmdEncoder);
 
@@ -2615,8 +2583,29 @@ angle::Result MipmapUtils::generateMipmapCS(ContextMtl *contextMtl,
             UNREACHABLE();
     }
 
-    Generate3DMipmapUniform options;
+    if (threadGroupSize.width * threadGroupSize.height * threadGroupSize.depth >
+            computePipeline.maxTotalThreadsPerThreadgroup ||
+        ANGLE_UNLIKELY(
+            !contextMtl->getDisplay()->getFeatures().allowGenMultipleMipsPerPass.enabled))
+    {
+        // Multiple mipmaps generation is not supported due to hardware's thread group size limits.
+        // Fallback to generate one mip per pass and reduce thread group size.
+        if (ANGLE_UNLIKELY(threadGroupSize.width * threadGroupSize.height >
+                           computePipeline.maxTotalThreadsPerThreadgroup))
+        {
+            // Even with reduced thread group size, we cannot proceed.
+            // HACK: use blit command encoder to generate mipmaps if it is not possible
+            // to use compute shader due to hardware limits.
+            BlitCommandEncoder *blitEncoder = contextMtl->getBlitCommandEncoder();
+            blitEncoder->generateMipmapsForTexture(srcTexture);
+            return angle::Result::Continue;
+        }
+
+        threadGroupSize.depth = 1;
+        maxMipsPerBatch       = 1;
+    }
 
+    Generate3DMipmapUniform options;
     uint32_t remainMips             = srcTexture->mipmapLevels() - 1;
     MipmapNativeLevel batchSrcLevel = kZeroNativeMipLevel;
     options.srcLevel                = batchSrcLevel.get();
diff --git a/src/libANGLE/renderer/metal/mtl_resource_spi.h b/src/libANGLE/renderer/metal/mtl_resource_spi.h
index 3eaa9a64e..2ecf7b40b 100644
--- a/src/libANGLE/renderer/metal/mtl_resource_spi.h
+++ b/src/libANGLE/renderer/metal/mtl_resource_spi.h
@@ -1,9 +1,63 @@
-//
-// Copyright 2021 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS 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 APPLE INC. OR ITS 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.
+ */
+
 //
 // mtl_resource_spi.h:
-//    Used to set Metal resource ownership identity with SPI.
-//    Purposefully empty header file. Actual implementation will be hosted in WebKit.
+//    Used to set Metal resource ownership identity with SPI
 //
+
+#ifndef LIBANGLE_RENDERER_METAL_RESOURCE_SPI_H_
+#define LIBANGLE_RENDERER_METAL_RESOURCE_SPI_H_
+
+#import "common/apple/apple_platform.h"
+
+#if ANGLE_USE_METAL_OWNERSHIP_IDENTITY
+
+#    import <Metal/MTLResource_Private.h>
+#    import <Metal/Metal.h>
+#    import <mach/mach_types.h>
+
+namespace rx
+{
+namespace mtl
+{
+inline void setOwnerWithIdentity(id<MTLResource> resource, task_id_token_t identityToken)
+{
+    if (identityToken != TASK_ID_TOKEN_NULL)
+    {
+        kern_return_t kr = [(id<MTLResourceSPI>)resource setOwnerWithIdentity:identityToken];
+        if (ANGLE_UNLIKELY(kr != KERN_SUCCESS))
+        {
+            ERR() << "setOwnerWithIdentity failed with: %s (%x)" << mach_error_string(kr) << kr;
+            ASSERT(false);
+        }
+    }
+    return;
+}
+}
+}
+#endif
+
+#endif /* LIBANGLE_RENDERER_METAL_RESOURCE_SPI_H_ */
diff --git a/src/libANGLE/renderer/metal/mtl_resources.h b/src/libANGLE/renderer/metal/mtl_resources.h
index 8b8eb26b5..19a974087 100644
--- a/src/libANGLE/renderer/metal/mtl_resources.h
+++ b/src/libANGLE/renderer/metal/mtl_resources.h
@@ -345,7 +345,9 @@ class Texture final : public Resource,
     size_t mEstimatedByteSize = 0;
 };
 
-class Buffer final : public Resource, public WrappedObject<id<MTLBuffer>>
+class Buffer final : public Resource,
+                     public WrappedObject<id<MTLBuffer>>,
+                     public std::enable_shared_from_this<Buffer>
 {
   public:
     static angle::Result MakeBuffer(ContextMtl *context,
diff --git a/src/libANGLE/renderer/metal/mtl_resources.mm b/src/libANGLE/renderer/metal/mtl_resources.mm
index 1e8c8f264..7ebf31690 100644
--- a/src/libANGLE/renderer/metal/mtl_resources.mm
+++ b/src/libANGLE/renderer/metal/mtl_resources.mm
@@ -35,12 +35,14 @@ inline NSUInteger GetMipSize(NSUInteger baseSize, const MipmapNativeLevel level)
 // Asynchronously synchronize the content of a resource between GPU memory and its CPU cache.
 // NOTE: This operation doesn't finish immediately upon function's return.
 template <class T>
-void InvokeCPUMemSync(ContextMtl *context, mtl::BlitCommandEncoder *blitEncoder, T *resource)
+void InvokeCPUMemSync(ContextMtl *context,
+                      mtl::BlitCommandEncoder *blitEncoder,
+                      const std::shared_ptr<T> &resource)
 {
 #if TARGET_OS_OSX || TARGET_OS_MACCATALYST
     if (blitEncoder)
     {
-        blitEncoder->synchronizeResource(resource);
+        blitEncoder->synchronizeResource(resource.get());
 
         resource->resetCPUReadMemNeedSync();
         resource->setCPUReadMemSyncPending(true);
@@ -49,7 +51,7 @@ void InvokeCPUMemSync(ContextMtl *context, mtl::BlitCommandEncoder *blitEncoder,
 }
 
 template <class T>
-void EnsureCPUMemWillBeSynced(ContextMtl *context, T *resource)
+void EnsureCPUMemWillBeSynced(ContextMtl *context, const std::shared_ptr<T> &resource)
 {
 #if TARGET_OS_OSX || TARGET_OS_MACCATALYST
     // Make sure GPU & CPU contents are synchronized.
@@ -521,12 +523,12 @@ Texture::Texture(Texture *original, const TextureSwizzleChannels &swizzle)
 
 void Texture::syncContent(ContextMtl *context, mtl::BlitCommandEncoder *blitEncoder)
 {
-    InvokeCPUMemSync(context, blitEncoder, this);
+    InvokeCPUMemSync(context, blitEncoder, shared_from_this());
 }
 
 void Texture::syncContentIfNeeded(ContextMtl *context)
 {
-    EnsureCPUMemWillBeSynced(context, this);
+    EnsureCPUMemWillBeSynced(context, shared_from_this());
 }
 
 bool Texture::isCPUAccessible() const
@@ -991,7 +993,7 @@ angle::Result Buffer::resetWithResOpt(ContextMtl *context,
 
 void Buffer::syncContent(ContextMtl *context, mtl::BlitCommandEncoder *blitEncoder)
 {
-    InvokeCPUMemSync(context, blitEncoder, this);
+    InvokeCPUMemSync(context, blitEncoder, shared_from_this());
 }
 
 const uint8_t *Buffer::mapReadOnly(ContextMtl *context)
@@ -1012,7 +1014,7 @@ uint8_t *Buffer::mapWithOpt(ContextMtl *context, bool readonly, bool noSync)
     {
         CommandQueue &cmdQueue = context->cmdQueue();
 
-        EnsureCPUMemWillBeSynced(context, this);
+        EnsureCPUMemWillBeSynced(context, shared_from_this());
 
         if (this->isBeingUsedByGPU(context))
         {
diff --git a/src/libANGLE/renderer/metal/mtl_utils.h b/src/libANGLE/renderer/metal/mtl_utils.h
index d218c13ed..b236d9265 100644
--- a/src/libANGLE/renderer/metal/mtl_utils.h
+++ b/src/libANGLE/renderer/metal/mtl_utils.h
@@ -105,11 +105,9 @@ AutoObjCPtr<id<MTLLibrary>> CreateShaderLibrary(
     bool enableFastMath,
     AutoObjCPtr<NSError *> *error);
 
-AutoObjCPtr<id<MTLLibrary>> CreateShaderLibraryFromBinary(
-    id<MTLDevice> metalDevice,
+AutoObjCPtr<id<MTLLibrary>> CreateShaderLibraryFromBinary(id<MTLDevice> metalDevice,
                                                           const uint8_t *binarySource,
                                                           size_t binarySourceLen,
-    NSDictionary<NSString *, NSObject *> *substitutionDictionary,
                                                           AutoObjCPtr<NSError *> *error);
 
 bool SupportsAppleGPUFamily(id<MTLDevice> device, uint8_t appleFamily);
diff --git a/src/tests/angle_unittests.gni b/src/tests/angle_unittests.gni
index 613e0790b..252a20764 100644
--- a/src/tests/angle_unittests.gni
+++ b/src/tests/angle_unittests.gni
@@ -167,6 +167,8 @@ if (is_android) {
       [ "compiler_tests/ImmutableString_test_autogen.cpp" ]
 }
 
+angle_unittests_msl_sources = [ "../tests/compiler_tests/MSLOutput_test.cpp" ]
+
 if (!is_android && !is_fuchsia) {
   angle_unittests_sources += [ "test_utils/runner/TestSuite_unittest.cpp" ]
 }
diff --git a/src/tests/deqp_support/deqp_egl_test_expectations.txt b/src/tests/deqp_support/deqp_egl_TestExpectations
similarity index 100%
rename from src/tests/deqp_support/deqp_egl_test_expectations.txt
rename to src/tests/deqp_support/deqp_egl_TestExpectations
diff --git a/src/tests/deqp_support/deqp_gles2_test_expectations.txt b/src/tests/deqp_support/deqp_gles2_TestExpectations
similarity index 100%
rename from src/tests/deqp_support/deqp_gles2_test_expectations.txt
rename to src/tests/deqp_support/deqp_gles2_TestExpectations
diff --git a/src/tests/deqp_support/deqp_gles31_test_expectations.txt b/src/tests/deqp_support/deqp_gles31_TestExpectations
similarity index 100%
rename from src/tests/deqp_support/deqp_gles31_test_expectations.txt
rename to src/tests/deqp_support/deqp_gles31_TestExpectations
diff --git a/src/tests/deqp_support/deqp_gles31_rotate_test_expectations.txt b/src/tests/deqp_support/deqp_gles31_rotate_TestExpectations
similarity index 100%
rename from src/tests/deqp_support/deqp_gles31_rotate_test_expectations.txt
rename to src/tests/deqp_support/deqp_gles31_rotate_TestExpectations
diff --git a/src/tests/deqp_support/deqp_gles3_test_expectations.txt b/src/tests/deqp_support/deqp_gles3_TestExpectations
similarity index 100%
rename from src/tests/deqp_support/deqp_gles3_test_expectations.txt
rename to src/tests/deqp_support/deqp_gles3_TestExpectations
diff --git a/src/tests/deqp_support/deqp_gles3_rotate_test_expectations.txt b/src/tests/deqp_support/deqp_gles3_rotate_TestExpectations
similarity index 100%
rename from src/tests/deqp_support/deqp_gles3_rotate_test_expectations.txt
rename to src/tests/deqp_support/deqp_gles3_rotate_TestExpectations
diff --git a/src/tests/deqp_support/deqp_khr_gles2_test_expectations.txt b/src/tests/deqp_support/deqp_khr_gles2_TestExpectations
similarity index 100%
rename from src/tests/deqp_support/deqp_khr_gles2_test_expectations.txt
rename to src/tests/deqp_support/deqp_khr_gles2_TestExpectations
diff --git a/src/tests/deqp_support/deqp_khr_gles31_test_expectations.txt b/src/tests/deqp_support/deqp_khr_gles31_TestExpectations
similarity index 100%
rename from src/tests/deqp_support/deqp_khr_gles31_test_expectations.txt
rename to src/tests/deqp_support/deqp_khr_gles31_TestExpectations
diff --git a/src/tests/deqp_support/deqp_khr_gles32_test_expectations.txt b/src/tests/deqp_support/deqp_khr_gles32_TestExpectations
similarity index 100%
rename from src/tests/deqp_support/deqp_khr_gles32_test_expectations.txt
rename to src/tests/deqp_support/deqp_khr_gles32_TestExpectations
diff --git a/src/tests/deqp_support/deqp_khr_gles3_test_expectations.txt b/src/tests/deqp_support/deqp_khr_gles3_TestExpectations
similarity index 100%
rename from src/tests/deqp_support/deqp_khr_gles3_test_expectations.txt
rename to src/tests/deqp_support/deqp_khr_gles3_TestExpectations
diff --git a/third_party/r8/custom_d8.jar b/third_party/r8/custom_d8.jar
deleted file mode 100644
index 99a910637..000000000
Binary files a/third_party/r8/custom_d8.jar and /dev/null differ
